Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи захватом аудио и видео в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Следующим шагом является объявление шаблона фабрики для фильтра. Шаблон фабрики — это класс C++, содержащий сведения о фабрике классов. В библиотеке DLL объявите глобальный массив объектов CFactoryTemplate, по одному для каждого фильтра или com-компонента в библиотеке DLL. Массив должен быть назван g_Templates. Дополнительные сведения о шаблонах фабрики см. в разделе Создание библиотеки DLL фильтра DirectShow.
Элемент m_pAMovieSetup_Filter в шаблоне фабрики является указателем на ранее описанную структуру AMOVIESETUP_FILTER. В следующем примере показан шаблон фабрики, использующий структуру, приведенную в предыдущем примере:
CFactoryTemplate g_Templates[] = {
{
g_wszName, // Name.
&CLSID_SomeFilter, // CLSID.
CSomeFilter::CreateInstance, // Creation function.
NULL,
&sudFilterReg // Pointer to filter information.
}
};
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
Если вы не объявили никаких сведений о фильтре, m_pAMoveSetup_Filter может быть NULL.
Связанные разделы