Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Его заменили MediaPlayer, IMFMediaEngineи Аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Компания Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и захват аудио и видео в Media Foundation вместо DirectShow, если это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Если вы пишете приложение DirectShow в C (а не C++), необходимо использовать указатель vtable для вызова методов. В следующем примере показано, как вызвать метод IUnknown::QueryInterface из приложения, написанного на языке C:
pGraph->lpVtbl->QueryInterface(pGraph, &IID_IMediaEvent, (void **)&pEvent);
Ниже показан эквивалентный вызов в C++:
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
В C com-интерфейсы определяются как структуры. Элемент lpVtbl является указателем на таблицу методов интерфейса (vtable). Все методы принимают дополнительный параметр, который является указателем на интерфейс.
Связанные разделы