Compartilhar 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 membro Context 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.

Retornar valor

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.

Comentários

Se o driver estiver sendo executado 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 barramento dá suporte à interface BUS_INTERFACE_STANDARD ; se isso acontecer, IoGetDmaAdapter chamará a rotina apontada pelo membro GetDmaAdapter 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 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
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (inclua Ntddk.h, Wdm.h)
IRQL PASSIVE_LEVEL

Confira também

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter