Проблема с перечислением видеоустройств

Тема в разделе "WASM.DirectX", создана пользователем eshkinkot, 7 май 2011.

  1. eshkinkot

    eshkinkot New Member

    Публикаций:
    0
    Регистрация:
    6 май 2010
    Сообщения:
    73
    Доброго времени суток!

    Хочу получить список устройств видеозахвата. В SDK нашел пример с использованием DirectShow. Перевел его в FASM. Привожу пример.

    Код (Text):
    1. invoke CoInitialize,0
    2. invoke CoCreateInstance,CLSID_SystemDeviceEnum,NULL,CLSCTX_INPROC_SERVER,IID_ICreateDevEnum,pDevEnum
    3. cominvk pDevEnum,CreateClassEnumerator,CLSID_VideoInputDeviceCategory,pEnum,0
    4. cominvk pDevEnum,Release
    5. cominvk pEnum,Next,1,pMoniker,0 <-------- ошибка
    6. cominvk pMoniker,BindToStorage,0,0,CLSID_MediaPropertyBag,pPropBag
    7. cominvk pPropBag,Read,description,rKey,0
    8.  
    9. invoke CoUninitialize
    10.  
    11. ......................................
    12.  
    13. CLSID_SystemDeviceEnum          GUID    62BE5D10-60EB-11d0-BD3B-00A0C911CE86
    14. IID_ICreateDevEnum              GUID        29840822-5B84-11D0-BD3B-00A0C911CE86
    15. CLSID_VideoInputDeviceCategory  GUID   860BB310-5D01-11d0-BD3B-00A0C911CE86
    16. CLSID_AudioInputDeviceCategory  GUID   33D9A762-90C8-11d0-BD43-00A0C911CE86
    17. CLSID_MediaPropertyBag          GUID      CDBD8D00-C193-11d0-BD4E-00A0C911CE86
    18. description db 'Description',0
    19.  
    20. pEnum           IEnumMoniker
    21. pMoniker        IMoniker
    22. pDevEnum        ICreateDevEnum
    23. pPropBag        IPropertyBag
    Проверку ошибок опустил. Проблема в том, что указатель pMoniker после выполнения функции так и остается нулевым. Соответственно я не могу обратиться к методу BindToStorage. В чем может быть проблема?
     
  2. eshkinkot

    eshkinkot New Member

    Публикаций:
    0
    Регистрация:
    6 май 2010
    Сообщения:
    73
    И подскажите еще правильно ли указал IID_ICreateDevEnum?
     
  3. eshkinkot

    eshkinkot New Member

    Публикаций:
    0
    Регистрация:
    6 май 2010
    Сообщения:
    73
    Спасибо за помощь. Разобрался.
     
  4. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    а что было?