Freigeben über


CoRegisterDeviceCatalog-Funktion (combaseapi.h)

Ermöglicht es einer heruntergeladenen DLL, seine Media Foundation Transform (MFT)-Gerätekatalogschnittstellen innerhalb des ausgeführten Prozesses zu registrieren, damit der Marshallingcode diese Schnittstellen marshallen kann.

Syntax

HRESULT CoRegisterDeviceCatalog(
  PCWSTR                   deviceInstanceId,
  CO_DEVICE_CATALOG_COOKIE *cookie
);

Die Parameter

deviceInstanceId

Typ: _In_ PCWSTR

Eine mit Null beendete Zeichenfolge, die den Instanzbezeichner des zu registrierenden Geräts enthält.

cookie

Typ: _Out_ CO_DEVICE_CATALOG_COOKIE*

Gibt eine Instanz von CO_DEVICE_CATALOG_COOKIE zurück. Mit diesem Wert können Sie den Gerätekatalog mithilfe von CoRevokeDeviceCatalog widerrufen.

Rückgabewert

Diese Funktion kann die Standardrücklaufwerte E_INVALIDARG, E_OUTOFMEMORY und S_OK zurückgeben.

Bemerkungen

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;
}

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 10, Version 2004 (10.0; Build 19041)
mindestens unterstützte Server- Windows Server, Version 2004 (10.0; Build 19041)
Zielplattform- Fenster
Header combaseapi.h (include Objbase.h)
Library onecore.lib
DLL combase.dll

Siehe auch