Método IAMDevMemoryAllocator::GetDevMemoryObject (strmif.h)
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Sintaxe
HRESULT GetDevMemoryObject(
[out] IUnknown **ppUnkInnner,
[in] IUnknown *pUnkOuter
);
Parâmetros
[out] ppUnkInnner
Endereço de um ponteiro para o IUnknown do objeto de controle recém-criado. Essa interface IUnknown interna deve ser liberada quando o objeto externo é destruído. O alocador personalizado deve chamar o método QueryInterface nesse ponteiro para obter a interface IAMDevMemoryControl .
[in] pUnkOuter
Ponteiro para a própria interface IUnknown do alocador personalizado. Essa interface agrega o objeto de controle de memória do dispositivo dentro do alocador personalizado.
Retornar valor
Retorna um valor HRESULT .
Comentários
O objeto de controle de memória do dispositivo é necessário para agregar com o alocador personalizado, pois os renderizadores que exigem o uso da memória a bordo consultarão IAMDevMemoryControl quando receberem um novo alocador, para verificar se a memória é do mesmo dispositivo. Isso ocorre porque o filtro de hardware receberá um objeto IMemAllocator , que pode ou não usar a memória a bordo. Para decidir se é um alocador compatível, o objeto consultaria a interface IAMDevMemoryControl para acessar métodos específicos. O IAMDevMemoryControl cria um objeto agregado que implementa os métodos de IAMDevMemoryControl (geralmente são específicos de hardware).
Consulte a documentação COM para obter regras sobre como o objeto externo implementa a agregação.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | strmif.h (inclua Dshow.h) |