почему создать экземпляр CLSID_CaptureGraphBuilder2 всегда не удалось в машине - PullRequest
0 голосов
/ 27 апреля 2010

Это действительно странная проблема, информация о машине ниже от DXDiag. Об ошибках не сообщается, но создание экземпляра CLSID_CaptureGraphBuilder2 всегда не выполнялось на компьютере. Это нормально для создания CLSID_FilterGraph. Перед созданием CLSID_CaptureGraphBuilder2 я вызвал CoInitialize и создал CLSID_FilterGraph. Только эта машина имеет ошибку, какая dll связана с этим интерфейсом или какой-либо функцией, которую нужно вызвать перед тем, как заставить ее работать? Заранее спасибо.


Информация о системе

Время публикации этого отчета: 24.04.2010, 09:46:58 Название машины: TURION Операционная система: Windows XP Home Edition (5.1, сборка 2600) с пакетом обновления 3 (2600.xpsp_sp3_qfe.100216-1510) Язык: японский (региональная обстановка: японский) Производитель системы: заполняется О.М.М. Модель системы: MS-7145 BIOS: системный BIOS по умолчанию Процессор: AMD Turion (tm) 64 Mobile, технология MT-30, MMX, 3DNow, ~ 1,6 ГГц Память: 768 МБ ОЗУ Файл страницы: использовано 376 МБ, доступно 1401 МБ Windows Dir: C: \ WINDOWS Версия DirectX: DirectX 9.0c (4.09.0000.0904) Параметры настройки DX: не найдено DxDiag версия: 5.03.2600.5512 32-битный Unicode


DxDiag Notes

Вкладка DirectX Files: проблем не найдено. Вкладка «Дисплей 1»: проблем не найдено. Sound Tab 1: проблем не найдено. Sound Tab 2: проблем не найдено. Вкладка «Музыка»: проблем не найдено. Вкладка «Ввод»: проблем не найдено. Вкладка «Сеть»: проблем не найдено.

1 Ответ

0 голосов
/ 28 апреля 2010

Не называйте CoCreateInstance CLSID_FilterGraph ... это бессмысленно. CoCreateInstance CLSID_CreateCaptureGraph2 и опубликуйте код, который вы используете в CoCreateInstance, и любое возвращенное вами значение HRESULT.

Следующий код «должен» работать:

ICaptureGraphBuilder2* pCapture = NULL;
HRESULT hr = CoCreateInstance( CLSID_CaptureGraphBuilder, NULL, CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2, (void**) &pCapture) ;

Если он не ищет HRESULT, возвращенный за час, и скажите нам, что это такое (или посмотрите сами).

Кроме недопустимых параметров, единственное, что может вас здесь подвести, это то, что класс не зарегистрирован. Если это так, то это в значительной степени неправильно ... это не должно быть возможным.

...