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 melakukan marshal antarmuka tersebut.

Syntax

HRESULT CoRegisterDeviceCatalog(
  PCWSTR                   deviceInstanceId,
  CO_DEVICE_CATALOG_COOKIE *cookie
);

Parameter-parameternya

deviceInstanceId

Jenis: _In_ PCWSTR

String null-terminated 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.

Mengembalikan nilai

Fungsi ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, dan S_OK.

Komentar

Examples

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

Persyaratan Nilai
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)
Library onecore.lib
DLL combase.dll

Lihat juga