Re[2]: Сборка DirectShoLib.MediaType`а
От: Beliar  
Дата: 13.03.08 12:06
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>formatType — это просто Guid. Речь, вероятно, о formatPtr. Как его создать — см. методы из Marshal.


Речь действительно шла о formatPtr. А нельзя ли более конкретно о том, какие методы из Marshal нужно использовать?
Дело в том, что на тестовом проекте я пробовал перекинуть медиатайпы между двумя графами. Если использовать для этого одну переменную, то есть полученное значение непосредственно передать в граф-приемник, то проблемне возникает, что и понятно. Но вот когда я попробовал скопировать медиатайп в новую структуру (причем не только сам укзатель formatPtr, но и данные на которые он ссылается), получил ошибку Память я выделил при помощи Marshal.AllocCoTaskMem(). Правда я не уверен, что правильно копировал данные буфера. Я для этого использовал промежуточный managed массив, с которым работал через Marshal.Copy.
Вообще я нашел один или два примера, в которых вручную формируется медиатайп. В них formatPtr формируется на основе managed структуры, через Marshal.StructureToPtr(). Такой вариант при существующей архитектуре приложения не приемлем
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.