GET_DMA_ADAPTER función de devolución de llamada (wdm.h)

La rutina GetDmaAdapter devuelve una estructura de DMA_ADAPTER para el dispositivo de destino.

Sintaxis

GET_DMA_ADAPTER GetDmaAdapter;

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

Parámetros

[in] Context

Puntero a información de contexto específica de la interfaz. El autor de la llamada pasa el valor que se pasa como miembro Context de la estructura BUS_INTERFACE_STANDARD de la interfaz.

[in] DeviceDescriptor

Puntero a una estructura DEVICE_DESCRIPTION que describe los atributos del dispositivo físico.

[out] NumberOfMapRegisters

Puntero a, en la salida, el número máximo de registros de mapa que el controlador puede asignar para cualquier operación de transferencia de DMA. El autor de la llamada debe asignar una variable LONG para recibir estos datos.

Valor devuelto

La rutina GetDmaAdapter devuelve un puntero a una estructura de DMA_ADAPTER cuando se realiza correctamente. Si no se puede asignar una estructura de adaptador, la rutina devuelve NULL.

Comentarios

Si el controlador se ejecuta en IRQL = PASSIVE_LEVEL, debe obtener el objeto de adaptador DMA de un dispositivo mediante una llamada a la función IoGetDmaAdapter . IoGetDmaAdapter detecta si el controlador de bus admite la interfaz BUS_INTERFACE_STANDARD ; Si es así, IoGetDmaAdapter llama a la rutina a la que apunta el miembro GetDmaAdapter de esta interfaz para obtener el objeto de adaptador. De lo contrario, IoGetDmaAdapter llama a una rutina heredada equivalente.

Sin embargo, si un controlador debe obtener un objeto de adaptador mientras se ejecuta en IRQL ≥ DISPATCH_LEVEL, no puede hacerlo con la función IoGetDmaAdapter . En tal caso, el controlador debe consultar la interfaz de BUS_INTERFACE_STANDARD mientras sigue en IRQL = PASSIVE_LEVEL emitiendo una solicitud de IRP_MN_QUERY_INTERFACE .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Ntddk.h, Wdm.h)
IRQL PASSIVE_LEVEL

Consulte también

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter