Fonction IoCreateController (ntddk.h)
L'IoCreateController routine alloue de la mémoire pour et initialise un objet contrôleur avec une extension de contrôleur d’une taille déterminée par le pilote.
Syntaxe
PCONTROLLER_OBJECT IoCreateController(
[in] ULONG Size
);
Paramètres
[in] Size
Spécifie le nombre d’octets à allouer pour l’extension du contrôleur.
Valeur de retour
IoCreateController retourne un pointeur vers l’objet contrôleur ou un pointeur NULL si la mémoire n’a pas pu être allouée pour l’extension d’appareil demandée.
Remarques
Un objet contrôleur représente généralement un contrôleur d’appareil physique avec des appareils attachés sur lesquels un seul pilote effectue des demandes d’E/S. L’extension du contrôleur est allouée à partir d’un pool non paginé et est garantie d’être accessible par n’importe quelle routine de pilote et dans un contexte de thread arbitraire.
L’objet contrôleur est utilisé pour synchroniser les opérations d’E/S sur les appareils cibles pour lesquels les requêtes d’E/S peuvent entrer simultanément dans un pilote monolithique unique. Un pilote peut également utiliser un objet contrôleur pour synchroniser les opérations via des canaux d’appareil.
Si IoCreateController retourne NULL, le pilote doit échouer au démarrage de l’appareil.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Universel |
d’en-tête | ntddk.h (include Ntddk.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
règles de conformité DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |