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 を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |