Fonction IoCreateController (ntddk.h)
La routine IoCreateController 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 de contrôleur.
Valeur retournée
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 de périphérique physique avec des périphériques attachés sur lesquels un seul pilote effectue des demandes d’E/S. L’extension de 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 des appareils cibles pour lesquels des demandes d’E/S peuvent être envoyées simultanément à un seul pilote monolithique. Un pilote peut également utiliser un objet contrôleur pour synchroniser les opérations via les canaux d’appareil.
Si IoCreateController retourne NULL, le pilote doit échouer au démarrage du périphérique.
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 | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |