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 |