Fonction IoAllocateController (ntddk.h)

La routine IoAllocateController configure l’appel à une routine ControllerControl fournie par le pilote dès que le contrôleur de périphérique, représenté par l’objet contrôleur donné, est disponible pour effectuer une opération d’E/S pour l’appareil cible, représenté par l’objet d’appareil donné.

Syntaxe

void IoAllocateController(
  [in]           PCONTROLLER_OBJECT ControllerObject,
  [in]           PDEVICE_OBJECT     DeviceObject,
  [in]           PDRIVER_CONTROL    ExecutionRoutine,
  [in, optional] PVOID              Context
);

Paramètres

[in] ControllerObject

Pointeur vers un objet de contrôleur créé par le pilote, représentant généralement un contrôleur physique à allouer pour une opération d’E/S sur un appareil attaché.

[in] DeviceObject

Pointeur vers l’objet device, représentant l’appareil cible de l’IRP actuel.

[in] ExecutionRoutine

Pointeur vers la routine ControllerControl fournie par le pilote.

[in, optional] Context

Pointeur vers un contexte déterminé par le pilote, passé à la routine ControllerControl du pilote lors de son appel.

Valeur de retour

None

Remarques

Cette routine réserve un accès exclusif au contrôleur matériel pour l’appareil spécifié.

La routine ControllerControl retourne une valeur indiquant si le contrôleur reste alloué à l’appareil, DeallocateObject ou KeepObject. S’il retourne KeepObject, le pilote doit ensuite appeler IoFreeController pour libérer l’objet contrôleur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête ntddk.h (incluez Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport)

Voir aussi

ControllerControl

IoCreateController

IoDeleteController

IoFreeController