Condividi tramite


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 Context membro della struttura 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, nell'output, numero massimo di registri mappa che il driver può allocare per qualsiasi operazione di trasferimento DMA. Per ricevere questi dati, il chiamante deve allocare una variabile LONG.

Valore restituito

La routine GetDmaAdapter restituisce un puntatore a una struttura DMA_ADAPTER quando ha esito positivo. Se non è possibile allocare una struttura di adattatori, la routine restituisce NULL.

Osservazioni

Se il driver è in esecuzione in IRQL = PASSIVE_LEVEL, deve ottenere l'oggetto adattatore DMA di un dispositivo chiamando la funzione IoGetDmaAdapter di. IoGetDmaAdapter rileva se il driver del bus supporta l'interfaccia BUS_INTERFACE_STANDARD; in caso affermativo, IoGetDmaAdapter chiama la routine a cui punta il GetDmaAdapter membro 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 inviando una richiesta di IRP_MN_QUERY_INTERFACE.

Fabbisogno

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

Vedere anche

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter