Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IoCreateController- Routine weist Speicher für ein Controllerobjekt mit einer Controllererweiterung einer treiberbestimmten Größe zu und initialisiert es.
Syntax
PCONTROLLER_OBJECT IoCreateController(
[in] ULONG Size
);
Parameter
[in] Size
Gibt die Anzahl der Bytes an, die für die Controllererweiterung zugewiesen werden sollen.
Rückgabewert
IoCreateController- gibt einen Zeiger auf das Controllerobjekt oder einen NULL- Zeiger zurück, wenn der Speicher für die angeforderte Geräteerweiterung nicht zugewiesen werden konnte.
Bemerkungen
Ein Controllerobjekt stellt in der Regel einen physischen Gerätecontroller mit angeschlossenen Geräten dar, auf denen ein einzelner Treiber E/A-Anforderungen ausführt. Die Controllererweiterung wird aus einem nichtpageten Pool zugewiesen und ist garantiert durch jede Treiberroutine und in einem beliebigen Threadkontext zugänglich.
Das Controllerobjekt wird verwendet, um E/A-Vorgänge mit Zielgeräten zu synchronisieren, für die E/A-Anforderungen gleichzeitig zu einem einzelnen, monolithischen Treiber kommen können. Ein Treiber kann auch ein Controllerobjekt verwenden, um Vorgänge über Gerätekanäle zu synchronisieren.
Wenn IoCreateControllerNULL-zurückgibt, sollte der Treiber das Starten des Geräts fehlschlagen.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
| Zielplattform- | Universal |
| Header- | ntddk.h (include Ntddk.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | PASSIVE_LEVEL |
| DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |