coRegisterDeviceCatalog 函数 (combaseapi.h)
允许下载的 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;
}
要求
最低受支持的客户端 | Windows 10,版本 2004 (10.0;内部版本 19041) |
最低受支持的服务器 | Windows Server 版本 2004 (10.0;内部版本 19041) |
目标平台 | Windows |
标头 | combaseapi.h (包括 Objbase.h) |
Library | Ole32.lib |
DLL | Ole32.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈