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 IoAllocateController Routine richtet den Aufruf einer vom Treiber bereitgestellten ControllerControl Routine ein, sobald der vom angegebenen Controllerobjekt dargestellte Gerätecontroller einen E/A-Vorgang für das Zielgerät ausführen kann, dargestellt durch das angegebene Geräteobjekt.
Syntax
VOID IoAllocateController(
[in] PCONTROLLER_OBJECT ControllerObject,
[in] PDEVICE_OBJECT DeviceObject,
[in] PDRIVER_CONTROL ExecutionRoutine,
[in, optional] PVOID Context
);
Parameter
[in] ControllerObject
Zeiger auf ein vom Treiber erstelltes Controllerobjekt, das in der Regel einen physischen Controller darstellt, der für einen E/A-Vorgang auf einem angeschlossenen Gerät zugewiesen werden soll.
[in] DeviceObject
Zeiger auf das Geräteobjekt, das das Zielgerät des aktuellen IRP darstellt.
[in] ExecutionRoutine
Zeiger auf die vom Treiber bereitgestellte ControllerControl Routine.
[in, optional] Context
Zeiger auf einen vom Treiber bestimmten Kontext, der beim Aufruf an die ControllerControl-Routine des Treibers übergeben wird.
Rückgabewert
Nichts
Bemerkungen
Diese Routine reserviert exklusiven Zugriff auf den Hardwarecontroller für das angegebene Gerät.
Die ControllerControl Routine gibt einen Wert zurück, der angibt, ob der Controller dem Gerät zugeordnet bleibt, entweder DeallocateObject- oder KeepObject-. Wenn KeepObjectzurückgegeben wird, muss der Treiber anschließend IoFreeController- aufrufen, um das Controllerobjekt freizugeben.
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- | DISPATCH_LEVEL |
| DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorStartPortIo(storport) |