Функция 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.
Remarks
Примеры
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 |
Header | combaseapi.h (включая Objbase.h) |
Библиотека | Ole32.lib |
DLL | Ole32.dll |