- Video capture filter properties cannot find device how to#
- Video capture filter properties cannot find device driver#
While (pEnum->Next(1, &pMoniker, NULL) = S_OK) void DisplayDeviceInformation(IEnumMoniker *pEnum)
Video capture filter properties cannot find device how to#
The following code example shows how to enumerate a list of device monikers and get the properties. Call IPropertyBag::Read to read the property.Call IMoniker::BindToStorage to get a pointer to the IPropertyBag interface.To read properties from the moniker, perform the following steps. The value of the "WaveInID" property corresponds to the identifier used by the waveIn* functions, such as waveInOpen. If the "WaveInID" property is present, it means the DirectShow capture filter uses the Waveform Audio APIs internally to communicate with the device.You can use this property to distinguish between two or more instances of the same model of device. The "DevicePath" property is not a human-readable string, but is guaranteed to be unique for each video capture device on the system.If available, it contains a description of the device which is more specific than the "FriendlyName" property.
Video capture filter properties cannot find device driver#
For more information, see MSDV Driver and MSTape Driver. The "Description" property is available only for DV and D-VHS/MPEG camcorder devices.It contains a human-readable name for the device. The "FriendlyName" property is available for every device.The "FriendlyName" and "Description" properties are suitable for displaying in a UI. The identifier for an audio capture device. PropertyĪ unique string that identifies the device. The following properties are supported by device monikers. Moniker properties are returned as VARIANT values. The application can read properties from the moniker, or use the moniker to create a DirectShow capture filter for the device. The IEnumMoniker interface enumerates a list of IMoniker interfaces, each of which represents a device moniker. Hr = VFW_E_NOT_FOUND // The category is empty. Hr = pDevEnum->CreateClassEnumerator(category, ppEnum, 0) Create an enumerator for the category. HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL,ĬLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pDevEnum)) HRESULT EnumerateDevices(REFGUID category, IEnumMoniker **ppEnum) The following code creates an enumerator for a specified device category. To enumerate the monikers, call IEnumMoniker::Next. The CreateClassEnumerator method returns a pointer to the IEnumMoniker interface. However, the camera and microphone are treated as separate devices by the system, for purposes of enumeration, device creation, and data streaming. If a video camera has an integrated microphone, it appears in both categories. For capture devices, the following categories are relevant. To use the System Device Enumerator, perform the following steps.Ĭall CoCreateInstance to create an instance of the System Device Enumerator.Ĭall ICreateDevEnum::CreateClassEnumerator and specify the device category as a GUID. For more information about monikers, see the documentation for IMoniker. Later, the application can use the moniker to create the object. Monikers enable the application to get information about an object without actually creating the object. A moniker is a COM object that contains information about another object. The System Device Enumerator returns a collection of device monikers, selected by device category. To select an audio or video capture device, use the System Device Enumerator, described in the topic Using the System Device Enumerator.