Freigeben über


IQueueCallbackDeviceIoControl::OnDeviceIoControl-Methode (wudfddi.h)

Warnung

UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 für neuere Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.

Die OnDeviceIoControl-Methode wird aufgerufen, um eine Geräte-E/A-Steuerungsanforderung zu behandeln, wenn eine Anwendung einen bestimmten Vorgang auf einem Gerät über die Microsoft Win32 OnDeviceIoControl-Funktion ausführt.

Syntax

void OnDeviceIoControl(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] ULONG         ControlCode,
       SIZE_T        InputBufferSizeInBytes,
       SIZE_T        OutputBufferSizeInBytes
);

Parameter

[in] pWdfQueue

Ein Zeiger auf die IWDFIoQueue-Schnittstelle für das E/A-Warteschlangenobjekt, von dem die Anforderung eingeht.

[in] pWdfRequest

Ein Zeiger auf die IWDFIoRequest-Schnittstelle , die das Frameworkanforderungsobjekt darstellt.

[in] ControlCode

Der vom Treiber definierte oder systemdefinierte E/A-Steuerungscode (IOCTL), der den auszuführenden spezifischen Vorgang identifiziert und der Anforderung zugeordnet ist.

InputBufferSizeInBytes

Die Größe des Eingabepuffers für die Anforderung in Bytes.

OutputBufferSizeInBytes

Die Größe des Ausgabepuffers für die Anforderung in Bytes.

Rückgabewert

Keine

Bemerkungen

Ein Treiber registriert die IQueueCallbackDeviceIoControl-Schnittstelle , wenn der Treiber die IWDFDevice::CreateIoQueue-Methode aufruft, um eine E/A-Warteschlange zu erstellen oder die Standard-E/A-Warteschlange zu konfigurieren.

Ein Treiber kann eine einzelne OnDeviceIoControl-Methode für alle E/A-Warteschlangen oder separate OnDeviceIoControl-Methoden für jede E/A-Warteschlange implementieren.

Die OnDeviceIoControl-Methode empfängt jeden Geräte-E/A-Steuerelementanforderungstyp aus einer Warteschlange. (Der Anforderungstyp wird durch den WdfRequestDeviceIoControl-Wert des WDF_REQUEST_TYPE Enumerationstyps für die Anforderung identifiziert.)

Weitere Informationen zu den Methoden des Treibers, die Warteschlangen zugeordnet sind und die vom Framework aufgerufen werden, finden Sie unter Rückruffunktionen für E/A-Warteschlangenwarteschlangen. Die OnDeviceIoControl-Methode muss jede empfangene Geräte-E/A-Steuerungsanforderung verarbeiten. Weitere Informationen zur Verarbeitung von E/A-Anforderungen durch UMDF-Treiber finden Sie unter Verarbeiten von E/A-Anforderungen.

Der Treiber kann die Methoden IWDFIoRequest::GetDeviceIoControlParameters, IWDFIoRequest::GetInputMemory und IWDFIoRequest::GetOutputMemory aufrufen, um Informationen zur Anforderung und den Eingabe- und Ausgabepuffern abzurufen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile wudfddi.h (include Wudfddi.h)

Weitere Informationen