If you try to BindToObject() after verifying the success of BindToStorage() wouldn't that succeed of fail depending on the presence of the device? (I could be wrong but I don't think it will disrupt the device if it is in use) [edit] I can confirm after testing, this does not distrupt a running device. I can't confirm that BindToObject will fail if the device is not plugged in; I don't have a device that enumerates if not plugged in.[/edit] e.g. ...
__hr = pM->BindToStorage(0, 0, IID_IPropertyBag, (void **)&pBag);
__if(SUCCEEDED(hr))
__{
____IBaseFilter *pDevice;
____hr = pM->BindToObject(0, 0, IID_IBaseFilter, (void**)&pDevice);
____if(SUCCEEDED(hr))
____{
______pDevice->Release();
______...
______...
Steve T -- modified at 13:53 Thursday 20th October, 2005