NtDeviceIoControlFile-Funktion (winternl.h)
Veraltet. Erstellt Deskriptoren für die bereitgestellten Puffer und übergibt die nicht typisierten Daten an den Gerätetreiber, der dem Dateihandle zugeordnet ist. NtDeviceIoControlFile wird von DeviceIoControl ersetzt.
Syntax
__kernel_entry NTSTATUS NtDeviceIoControlFile(
[in] HANDLE FileHandle,
[in] HANDLE Event,
[in] PIO_APC_ROUTINE ApcRoutine,
[in] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] ULONG IoControlCode,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Parameter
[in] FileHandle
Öffnen Sie das Dateihandle für die Datei oder das Gerät, dem die Steuerelementinformationen übergeben werden sollen.
[in] Event
Ein Handle für ein Ereignis, das nach Abschluss des Vorgangs auf den signaled
Zustand festgelegt werden soll. Dieser Parameter kann NULL sein.
[in] ApcRoutine
Prozedur, die nach Abschluss des Vorgangs aufgerufen werden soll. Dieser Parameter kann NULL sein. Weitere Informationen zu asynchronen Prozeduraufrufen (Asynchrone Prozeduraufrufe, APCs) finden Sie unter Asynchrone Prozeduraufrufe.
[in] ApcContext
Ein Zeiger, der nach Abschluss des Vorgangs an ApcRoutine übergeben werden soll. Dieser Parameter ist erforderlich, wenn eine ApcRoutine angegeben wird.
[out] IoStatusBlock
Variable, um die endgültige Vervollständigung status und Informationen zum Vorgang zu erhalten. Dienstaufrufe, die Informationen zurückgeben, geben die Länge der Daten zurück, die in den Ausgabepuffer im Feld Information dieser Variablen geschrieben werden.
[in] IoControlCode
Code, der angibt, welche Geräte-E/A-Steuerungsfunktion ausgeführt werden soll.
[in] InputBuffer
Ein Zeiger auf einen Puffer, der die Informationen enthält, die dem Zielgerät zugewiesen werden sollen. Dieser Parameter kann NULL sein. Diese Informationen sind geräteabhängig.
[in] InputBufferLength
Länge des InputBuffers in Bytes. Wenn der Puffer nicht angegeben wird, wird dieser Wert ignoriert.
[out] OutputBuffer
Ein Zeiger auf einen Puffer, der die geräteabhängigen Rückgabeinformationen vom Zielgerät empfangen soll. Dieser Parameter kann NULL sein.
[in] OutputBufferLength
Länge des OutputBuffers in Bytes. Wenn der Puffer nicht angegeben wird, wird dieser Wert ignoriert.
Rückgabewert
Die verschiedenen NTSTATUS-Werte werden in NTSTATUS definiert. H, das mit dem Windows DDK verteilt wird.
Rückgabecode | Beschreibung |
---|---|
|
Der Steuerungsvorgang wurde ordnungsgemäß im E/A-System in die Warteschlange gestellt. Nach Abschluss des Vorgangs kann die status bestimmt werden, indem Sie das Feld Status des E/A-status-Blocks untersuchen. |
Hinweise
Der NtDeviceIoControlFile-Dienst ist eine geräteabhängige Schnittstelle, die das Steuerelement von Anwendungen über verschiedene Geräte im System erweitert. Diese API bietet eine konsistente Ansicht der Eingabe- und Ausgabedaten für das System, während gleichzeitig der Anwendung und dem Treiber eine geräteabhängige Methode zum Angeben einer Kommunikationsschnittstelle bereitgestellt wird.
Die Art des Zugriffs auf die Datei, die der Aufrufer benötigt, hängt vom tatsächlich ausgeführten Vorgang ab.
Sobald der Dienst abgeschlossen ist, wird das Ereignis, sofern angegeben, auf den signaled
Status festgelegt. Wenn kein Event-Parameter angegeben wird, wird das vom FileHandle angegebene Dateiobjekt auf den signaled
Status festgelegt. Wenn eine ApcRoutine angegeben wird, wird sie mit den Argumenten ApcContext und IoStatusBlock aufgerufen.
Da es keine Importbibliothek für diese Funktion gibt, müssen Sie GetProcAddress verwenden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winternl.h |
Bibliothek | ntdll.lib |
DLL | ntdll.dll |