GET_DMA_ADAPTER funzione di callback (wdm.h)

La routine GetDmaAdapter restituisce una struttura DMA_ADAPTER per il dispositivo di destinazione.

Sintassi

GET_DMA_ADAPTER GetDmaAdapter;

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

Parametri

[in] Context

Puntatore a informazioni di contesto specifiche dell'interfaccia. Il chiamante passa il valore passato come membro Contesto della struttura di BUS_INTERFACE_STANDARD per l'interfaccia.

[in] DeviceDescriptor

Puntatore a una struttura DEVICE_DESCRIPTION che descrive gli attributi del dispositivo fisico.

[out] NumberOfMapRegisters

Puntatore a, in output, numero massimo di registri mappa che il driver può allocare per qualsiasi operazione di trasferimento DMA. Il chiamante deve allocare una variabile LONG per ricevere questi dati.

Valore restituito

La routine GetDmaAdapter restituisce un puntatore a una struttura di DMA_ADAPTER in caso di esito positivo. Se non è possibile allocare una struttura di adapter, la routine restituisce NULL.

Commenti

Se il driver viene eseguito in IRQL = PASSIVE_LEVEL, deve ottenere l'oggetto adattatore DMA di un dispositivo chiamando la funzione IoGetDmaAdapter . IoGetDmaAdapter rileva se il driver del bus supporta l'interfaccia BUS_INTERFACE_STANDARD ; se lo fa, IoGetDmaAdapter chiama la routine a cui fa riferimento il membro GetDmaAdapter di questa interfaccia per ottenere l'oggetto adapter. In caso contrario, IoGetDmaAdapter chiama una routine legacy equivalente.

Tuttavia, se un driver deve ottenere un oggetto adapter durante l'esecuzione in IRQL ≥ DISPATCH_LEVEL, non può farlo con la funzione IoGetDmaAdapter . In tal caso, il driver deve eseguire una query per l'interfaccia BUS_INTERFACE_STANDARD mentre è ancora in IRQL = PASSIVE_LEVEL eseguendo una richiesta di IRP_MN_QUERY_INTERFACE .

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Desktop
Intestazione wdm.h (include Ntddk.h, Wdm.h)
IRQL PASSIVE_LEVEL

Vedi anche

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter