共用方式為


CoRegisterDeviceCatalog 函式 (combaseapi.h)

可讓下載的 DLL 在其執行程式中註冊其 Media Foundation Transform (MFT) 裝置類別目錄介面,讓封送處理常式代碼能夠封送處理這些介面。

語法

HRESULT CoRegisterDeviceCatalog(
  PCWSTR                   deviceInstanceId,
  CO_DEVICE_CATALOG_COOKIE *cookie
);

參數

deviceInstanceId

類型:_In_ PCWSTR

以 Null 結束的字串,其中包含要註冊之裝置的實例識別碼。

cookie

類型:_Out_ CO_DEVICE_CATALOG_COOKIE*

傳回 CO_DEVICE_CATALOG_COOKIE的實例。 您可以使用此值,使用 CoRevokeDeviceCatalog撤銷裝置類別目錄。

傳回值

此函式可以傳回標準傳回值 E_INVALIDARGE_OUTOFMEMORYS_OK

備註

範例

std::vector<CO_DEVICE_CATALOG_COOKIE> g_deviceCatalogsCookies;

HRESULT MFStartup(ULONG Version, DWORD dwFlags)
{
    // current MFStartup code elided.
    std::wstring devices{ /* set of device IDs of interest */ };
    for (const auto& device : devices)
    {
        CO_DEVICE_CATALOG_COOKIE cookie{};
        RETURN_IF_FAILED(CoRegisterDeviceCatalog(device.c_str(), &cookie));
        g_deviceCatalogsCookies.push_back(cookie);
    }

    return S_OK;
}

HRESULT STDMETHODCALLTYPE MFShutdown()
{
    // current MFShutdown code elided
    for (auto catalogCookie : g_deviceCatalogsCookies)
    {
        CoRevokeDeviceCatalog(catalogCookie);
    }

    return S_OK;
}

規格需求

   
最低支援的用戶端 Windows 10版本 2004 (10.0;組建 19041)
最低支援的伺服器 Windows Server 版本 2004 (10.0;組建 19041)
目標平台 Windows
標頭 combaseapi.h (包含 Objbase.h)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱