Partager via


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)

Voir aussi

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController