可讓下載的 DLL 在其執行中的程式內註冊其媒體基礎轉換 (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;
}
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 10 版本 2004 (10.0;內部版本 19041) |
| 支援的最低伺服器 | Windows Server 2004 版 (10.0;內部版本 19041) |
| 目標平臺 | 窗戶 |
| Header | combaseapi.h (包括 Objbase.h) |
| Library | onecore.lib 的 |
| DLL檔案 | combase.dll |