Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Permite que uma DLL baixada registre suas interfaces de catálogo de dispositivos MFT (Media Foundation Transform) em seu processo de execução para que o código de marshaling possa realizar marshaling dessas interfaces.
Sintaxe
HRESULT CoRegisterDeviceCatalog(
PCWSTR deviceInstanceId,
CO_DEVICE_CATALOG_COOKIE *cookie
);
Parâmetros
deviceInstanceId
Tipo: _In_ PCWSTR
Uma cadeia de caracteres terminada em nulo que contém o identificador de instância do dispositivo a ser registrado.
cookie
Tipo: _Out_ CO_DEVICE_CATALOG_COOKIE*
Retorna uma instância de CO_DEVICE_CATALOG_COOKIE. Você pode usar esse valor para revogar o catálogo de dispositivos usando CoRevokeDeviceCatalog.
Valor de retorno
Essa função pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e S_OK.
Observações
Exemplos
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;
}
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 10, versão 2004 (10.0; Build 19041) |
| servidor com suporte mínimo | Windows Server, versão 2004 (10.0; Build 19041) |
| da Plataforma de Destino | Windows |
| Header | combaseapi.h (inclua Objbase.h) |
| Library | onecore.lib |
| de DLL |
combase.dll |