Fungsi CoRegisterDeviceCatalog (combaseapi.h)
Memungkinkan DLL yang diunduh untuk mendaftarkan antarmuka katalog perangkat Media Foundation Transform (MFT) dalam proses berjalannya sehingga kode marshaling akan dapat marshal antarmuka tersebut.
Sintaks
HRESULT CoRegisterDeviceCatalog(
PCWSTR deviceInstanceId,
CO_DEVICE_CATALOG_COOKIE *cookie
);
Parameter
deviceInstanceId
Jenis: _In_ PCWSTR
String yang dihentikan null yang berisi pengidentifikasi instans perangkat untuk didaftarkan.
cookie
Jenis: _Out_ CO_DEVICE_CATALOG_COOKIE*
Mengembalikan instans CO_DEVICE_CATALOG_COOKIE. Anda dapat menggunakan nilai ini untuk mencabut katalog perangkat menggunakan CoRevokeDeviceCatalog.
Nilai kembali
Fungsi ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, dan S_OK.
Keterangan
Contoh
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;
}
Persyaratan
Klien minimum yang didukung | Windows 10, versi 2004 (10.0; Build 19041) |
Server minimum yang didukung | Windows Server, versi 2004 (10.0; Build 19041) |
Target Platform | Windows |
Header | combaseapi.h (termasuk Objbase.h) |
Pustaka | Ole32.lib |
DLL | Ole32.dll |