Partager via


GET_DMA_ADAPTER fonction de rappel (wdm.h)

La routine GetDmaAdapter retourne une structure DMA_ADAPTER pour l’appareil cible.

Syntaxe

GET_DMA_ADAPTER GetDmaAdapter;

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

Paramètres

[in] Context

Pointeur vers des informations de contexte spécifiques à l’interface. L’appelant transmet la valeur qui est passée en tant que membre Context de la structure BUS_INTERFACE_STANDARD de l’interface.

[in] DeviceDescriptor

Pointeur vers une structure DEVICE_DESCRIPTION qui décrit les attributs de l’appareil physique.

[out] NumberOfMapRegisters

Pointeur vers, en sortie, le nombre maximal de registres cartographiques que le pilote peut allouer pour n’importe quelle opération de transfert DMA. L’appelant doit allouer une variable LONG pour recevoir ces données.

Valeur de retour

La routine GetDmaAdapter retourne un pointeur vers une structure DMA_ADAPTER en cas de réussite. Si une structure d’adaptateur ne peut pas être allouée, la routine retourne NULL.

Remarques

Si le pilote s’exécute à IRQL = PASSIVE_LEVEL, il doit obtenir l’objet d’adaptateur DMA d’un appareil en appelant la fonction IoGetDmaAdapter. IoGetDmaAdapter détecte si le pilote de bus prend en charge l’interface de BUS_INTERFACE_STANDARD ; si c’est le cas, IoGetDmaAdapter appelle la routine pointée par la GetDmaAdapter membre de cette interface pour obtenir l’objet adaptateur. Sinon, IoGetDmaAdapter appelle une routine héritée équivalente.

Toutefois, si un pilote doit obtenir un objet adaptateur en cours d’exécution au ≥ DISPATCH_LEVEL IRQL, il ne peut pas le faire avec la fonction IoGetDmaAdapter. Dans ce cas, le pilote doit rechercher l’interface de BUS_INTERFACE_STANDARD tout en restant à IRQL = PASSIVE_LEVEL en émettant une demande de IRP_MN_QUERY_INTERFACE.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Bureau
d’en-tête wdm.h (include Ntddk.h, Wdm.h)
IRQL PASSIVE_LEVEL

Voir aussi

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter