⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 propset.c

📁 一个类似windows
💻 C
📖 第 1 页 / 共 3 页
字号:
        /* direct sound capture doesn't have an IKsPropertySet */        rc = IClassFactory_CreateInstance(pcf, NULL, &IID_IKsPropertySet,                                         (void **)(&pps));        ok(rc==E_NOINTERFACE, "CreateInstance(IID_IKsPropertySet) should have "           "returned E_NOINTERFACE,returned: %s\n",DXGetErrorString8(rc));    }    /* and the direct sound capture 8 version */    if (pDirectSoundCaptureCreate8) {        rc = (fProc)(&CLSID_DirectSoundCapture8, &IID_IClassFactory,                     (void **)(&pcf));        ok(pcf!=0, "DllGetClassObject(CLSID_DirectSoundCapture8, "           "IID_IClassFactory) failed: %s\n",DXGetErrorString8(rc));        if (pcf==0)            goto error;        /* direct sound capture 8 doesn't have an IKsPropertySet */        rc = IClassFactory_CreateInstance(pcf, NULL, &IID_IKsPropertySet,                                         (void **)(&pps));        ok(rc==E_NOINTERFACE, "CreateInstance(IID_IKsPropertySet) should have "           "returned E_NOINTERFACE, returned: %s\n",DXGetErrorString8(rc));    }    /* try direct sound full duplex next */    if (pDirectSoundFullDuplexCreate) {        rc = (fProc)(&CLSID_DirectSoundFullDuplex, &IID_IClassFactory,                     (void **)(&pcf));        ok(pcf!=0, "DllGetClassObject(CLSID_DirectSoundFullDuplex, "           "IID_IClassFactory) failed: %s\n",DXGetErrorString8(rc));        if (pcf==0)            goto error;        /* direct sound full duplex doesn't have an IKsPropertySet */        rc = IClassFactory_CreateInstance(pcf, NULL, &IID_IKsPropertySet,                                         (void **)(&pps));        ok(rc==E_NOINTERFACE, "CreateInstance(IID_IKsPropertySet) should have "           "returned NOINTERFACE, returned: %s\n",DXGetErrorString8(rc));    }    /* try direct sound private last */    rc = (fProc)(&CLSID_DirectSoundPrivate, &IID_IClassFactory,                 (void **)(&pcf));    /* some early versions of Direct Sound do not have this */    if (pcf==0)        goto error;    /* direct sound private does have an IKsPropertySet */    rc = IClassFactory_CreateInstance(pcf, NULL, &IID_IKsPropertySet,                                     (void **)(&pps));    ok(rc==DS_OK, "CreateInstance(IID_IKsPropertySet) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK)        goto error;    /* test generic DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,                                   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION,                                   &support);    ok(rc==DS_OK||rc==E_INVALIDARG,       "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK) {        if (rc==E_INVALIDARG)            trace("  Not Supported\n");        goto error;    }    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET),       "Shouldn't be able to set DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION: "       "support = 0x%lx\n",support);    /* test DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1 */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,                                   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1,                                   &support);    ok(rc==DS_OK||rc==E_INVALIDARG,       "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK) {        if (rc==E_INVALIDARG)            trace("  Not Supported\n");        goto error;    }    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET),       "Shouldn't be able to set DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1: "       "support = 0x%lx\n",support);    /* test DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,                                   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A,                                   &support);    ok(rc==DS_OK||rc==E_INVALIDARG,       "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK) {        if (rc==E_INVALIDARG)            trace("  Not Supported\n");        goto error;    }    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET),       "Shouldn't be able to set DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A: "       "support = 0x%lx\n",support);    /* test DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,                                   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W,                                   &support);    ok(rc==DS_OK||rc==E_INVALIDARG,       "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK) {        if (rc==E_INVALIDARG)            trace("  Not Supported\n");        goto error;    }    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET),       "Shouldn't be able to set DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W: "       "support = 0x%lx\n",support);    /* test generic DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,        DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING, &support);    ok(rc==DS_OK, "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK)        goto error;    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET), "Shouldn't be able to set "       "DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING: support = "       "0x%lx\n",support);    /* test DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,        DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A, &support);    ok(rc==DS_OK, "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK)        goto error;    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET), "Shouldn't be able to set "       "DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A: support = "       "0x%lx\n",support);    /* test DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W */    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,        DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W, &support);    ok(rc==DS_OK, "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK)        goto error;    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET), "Shouldn't be able to set "       "DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W: support = "       "0x%lx\n",support);    /* test generic DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE */    trace("*** Testing DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE ***\n");    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,                                   DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE,                                   &support);    ok(rc==DS_OK, "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK)        goto error;    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET),"Shouldn't be able to set "       "DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE: support = 0x%lx\n",support);    if (support & KSPROPERTY_SUPPORT_GET) {        DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA data;        ULONG bytes;        data.Callback = callback;        data.Context = 0;        rc = IKsPropertySet_Get(pps, &DSPROPSETID_DirectSoundDevice,                              DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE,                              NULL, 0, &data, sizeof(data), &bytes);        ok(rc==DS_OK, "Couldn't enumerate: 0x%lx\n",rc);   }    /* test DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1 */    trace("*** Testing DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1 ***\n");    rc = IKsPropertySet_QuerySupport(pps, &DSPROPSETID_DirectSoundDevice,                                   DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1,                                   &support);    ok(rc==DS_OK, "QuerySupport(DSPROPSETID_DirectSoundDevice, "       "DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1) failed: %s\n",       DXGetErrorString8(rc));    if (rc!=DS_OK)        goto error;    ok(support & KSPROPERTY_SUPPORT_GET,       "Couldn't get DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1: "       "support = 0x%lx\n",support);    ok(!(support & KSPROPERTY_SUPPORT_SET),"Shouldn't be able to set "       "DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1: support = 0x%lx\n",support);    if (support & KSPROPERTY_SUPPORT_GET) {        DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA data;        ULONG bytes;        data.Callback = callback1;        data.Context = 0;        rc = IKsPropertySet_Get(pps, &DSPROPSETID_DirectSoundDevice,                              DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1,                              NULL, 0, &data, sizeof(data), &bytes);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -