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_INVALIDARG、 E_OUTOFMEMORY和 S_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 |