PFREE_DMA_ENGINE função de retorno de chamada (hdaudio.h)
A rotina de FreeDmaEngine
libera um mecanismo de DMA que foi alocado anteriormente por uma chamada para AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.
O tipo de ponteiro de função para uma rotina de FreeDmaEngine
é definido da seguinte maneira.
Sintaxe
PFREE_DMA_ENGINE PfreeDmaEngine;
NTSTATUS PfreeDmaEngine(
[in] PVOID _context,
[in] HANDLE Handle
)
{...}
Parâmetros
[in] _context
Especifica o valor de contexto do de Contexto membro do HDAUDIO_BUS_INTERFACE, da estrutura HDAUDIO_BUS_INTERFACE_V2 ou HDAUDIO_BUS_INTERFACE_BDL.
[in] Handle
Manipule a identificação do mecanismo de DMA. Esse valor de identificador foi obtido de uma chamada anterior para AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.
Valor de retorno
FreeDmaEngine
retorna STATUS_SUCCESS se a chamada tiver êxito na liberação do mecanismo de DMA. Caso contrário, a rotina retornará um código de erro apropriado. A tabela a seguir mostra alguns dos possíveis códigos de status de retorno.
Código de retorno | Descrição |
---|---|
|
Indica que o identificador valor do parâmetro é inválido. |
|
Indica que o fluxo não está no estado de redefinição ou que um buffer ainda está alocado para o mecanismo de DMA. |
Observações
Essa rotina libera um mecanismo de DMA que foi previamente reservado por uma chamada para a rotina de AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.
Essa rotina falha e retorna o código de erro STATUS_INVALID_DEVICE_REQUEST em qualquer uma das seguintes circunstâncias:
- Nenhum buffer de DMA alocado anteriormente não foi liberado (chamando FreeDmaBuffer ou FreeContiguousDmaBuffer).
- O fluxo está em um estado diferente de redefinição.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | hdaudio.h (inclua Hdaudio.h) |
IRQL | <=DISPATCH_LEVEL |