解决方案 »

  1.   

    自已搞定了。有需要的朋友,可以参考。
    下面的GUID_SonixOmine,为自定义的GUID,为UVC设备内用用于扩展单元的。
    如果是已有设备,可以使用UvcView.exe查看得到。
    其中还有两个id值,跟固件内设计也有关,我是BusHound出来的。自己设计的固件,可根据自己的情况定义。BOOL TestUvcControlExtn(IBaseFilter *pBF, long lData)
    {
    IKsControl *pCtl = NULL;
    HRESULT hr = pBF->QueryInterface(IID_IKsControl, (void **)&pCtl);
    if(FAILED(hr)) return (0);

    KSP_NODE knod;
    long nEffects = 0xFFFF1006;
    ULONG dwRsz = 0;

    knod.Property.Set   = GUID_SonixOmine;
    knod.Property.Id    = 1; 
    knod.Property.Flags = (KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_TOPOLOGY);
    knod.NodeId = 1;

    hr = pCtl->KsProperty(&knod.Property, sizeof(knod), &nEffects, sizeof(nEffects), &dwRsz);
    printf("0x%08X, %u, 0x%08X\n", hr, dwRsz, nEffects);

    SAFE_RELEASE(pCtl);
    return (TRUE);
    }
      

  2.   

    楼主,你读摄像头是通过DirectShow接口读的吗?