Compartilhar via


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
STATUS_INVALID_HANDLE
Indica que o identificador valor do parâmetro é inválido.
STATUS_INVALID_DEVICE_REQUEST
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:

Um driver de áudio chama essa rotina para fechar o pino (e destruir o fluxo).

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho hdaudio.h (inclua Hdaudio.h)
IRQL <=DISPATCH_LEVEL

Consulte também

allocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2