Partilhar via


GET_DMA_ADAPTER função de retorno de chamada (wdm.h)

A rotina GetDmaAdapter retorna uma estrutura DMA_ADAPTER para o dispositivo de destino.

Sintaxe

GET_DMA_ADAPTER GetDmaAdapter;

_DMA_ADAPTER * GetDmaAdapter(
  [in]  PVOID Context,
  [in]  _DEVICE_DESCRIPTION *DeviceDescriptor,
  [out] PULONG NumberOfMapRegisters
)
{...}

Parâmetros

[in] Context

Um ponteiro para informações de contexto específicas da interface. O chamador passa o valor que é passado como o Context membro da estrutura BUS_INTERFACE_STANDARD para a interface.

[in] DeviceDescriptor

Um ponteiro para uma estrutura DEVICE_DESCRIPTION que descreve os atributos do dispositivo físico.

[out] NumberOfMapRegisters

Um ponteiro para, na saída, o número máximo de registros de mapa que o driver pode alocar para qualquer operação de transferência de DMA. O chamador deve alocar uma variável LONG para receber esses dados.

Valor de retorno

A rotina GetDmaAdapter retorna um ponteiro para uma estrutura DMA_ADAPTER quando bem-sucedida. Se uma estrutura do adaptador não puder ser alocada, a rotina retornará NULL .

Observações

Se o driver estiver em execução em IRQL = PASSIVE_LEVEL, ele deverá obter o objeto do adaptador DMA de um dispositivo chamando a função IoGetDmaAdapter. IoGetDmaAdapter detecta se o motorista do ônibus dá suporte à interface BUS_INTERFACE_STANDARD; se isso acontecer, IoGetDmaAdapter chamará a rotina apontada pelo GetDmaAdapter membro dessa interface para obter o objeto do adaptador. Caso contrário, IoGetDmaAdapter chamará uma rotina herdada equivalente.

No entanto, se um driver precisar obter um objeto de adaptador durante a execução no IRQL ≥ DISPATCH_LEVEL, ele não poderá fazê-lo com a função IoGetDmaAdapter. Nesse caso, o driver deve consultar a interface BUS_INTERFACE_STANDARD enquanto ainda estiver em IRQL = PASSIVE_LEVEL emitindo uma solicitação de IRP_MN_QUERY_INTERFACE.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Área de trabalho
cabeçalho wdm.h (include Ntddk.h, Wdm.h)
IRQL PASSIVE_LEVEL

Consulte também

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter