Bagikan melalui


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

Lihat juga