Funzione CoRegisterDeviceCatalog (combaseapi.h)
Consente a una DLL scaricata di registrare le interfacce del catalogo di dispositivi MFT (Media Foundation Transform) all'interno del processo in esecuzione, in modo che il codice di marshalling sia in grado di effettuare il marshalling di tali interfacce.
Sintassi
HRESULT CoRegisterDeviceCatalog(
PCWSTR deviceInstanceId,
CO_DEVICE_CATALOG_COOKIE *cookie
);
Parametri
deviceInstanceId
Tipo: _In_ PCWSTR
Stringa con terminazione Null contenente l'identificatore di istanza del dispositivo da registrare.
cookie
Tipo: _Out_ CO_DEVICE_CATALOG_COOKIE*
Restituisce un'istanza di CO_DEVICE_CATALOG_COOKIE. È possibile usare questo valore per revocare il catalogo dispositivi usando CoRevokeDeviceCatalog.
Valore restituito
Questa funzione può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e S_OK.
Commenti
Esempi
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;
}
Requisiti
Client minimo supportato | Windows 10 versione 2004 (10.0; Build 19041) |
Server minimo supportato | Windows Server, versione 2004 (10.0; Build 19041) |
Piattaforma di destinazione | Windows |
Intestazione | combaseapi.h (include Objbase.h) |
Libreria | Ole32.lib |
DLL | Ole32.dll |