Compartir a través de


Función CoRegisterDeviceCatalog (combaseapi.h)

Permite que un archivo DLL descargado registre sus interfaces de catálogo de dispositivos de Media Foundation Transform (MFT) dentro de su proceso en ejecución para que el código de serialización pueda serializar esas interfaces.

Syntax

HRESULT CoRegisterDeviceCatalog(
  PCWSTR                   deviceInstanceId,
  CO_DEVICE_CATALOG_COOKIE *cookie
);

Parámetros

deviceInstanceId

Tipo: _In_ PCWSTR

Cadena terminada en NULL que contiene el identificador de instancia del dispositivo que se va a registrar.

cookie

Tipo: _Out_ CO_DEVICE_CATALOG_COOKIE*

Devuelve una instancia de CO_DEVICE_CATALOG_COOKIE. Puede usar este valor para revocar el catálogo de dispositivos mediante CoRevokeDeviceCatalog.

Valor devuelto

Esta función puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y S_OK.

Observaciones

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

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows 10, versión 2004 (10.0; Compilación 19041)
servidor mínimo admitido Windows Server, versión 2004 (10.0; Compilación 19041)
de la plataforma de destino de Windows
Header combaseapi.h (incluya Objbase.h)
Library onecore.lib
DLL combase.dll

Consulte también