Freigeben über


WdfRequestSetInformation-Funktion (wdfrequest.h)

[Gilt für KMDF und UMDF]

Die WdfRequestSetInformation-Methode legt die Vervollständigung status Informationen für eine angegebene E/A-Anforderung fest.

Syntax

void WdfRequestSetInformation(
  [in] WDFREQUEST Request,
  [in] ULONG_PTR  Information
);

Parameter

[in] Request

Ein Handle für ein Frameworkanforderungsobjekt.

[in] Information

Treiberdefinierte Vervollständigung status Informationen für die Anforderung.

Rückgabewert

Keine

Bemerkungen

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Frameworkbasierte Treiber verwenden die WdfRequestSetInformation-Methode , um treiberspezifische Informationen zur Verfügung zu stellen, die dem Abschluss einer E/A-Anforderung zugeordnet sind, z. B. die Anzahl der übertragenen Bytes. Andere Treiber können diese Informationen abrufen, indem sie WdfRequestGetInformation aufrufen.

Treiber können auch die Vervollständigung status Informationen angeben, indem sie WdfRequestCompleteWithInformation aufrufen.

Weitere Informationen zu WdfRequestSetInformation finden Sie unter Abschließen von E/A-Anforderungen.

Beispiele

Im folgenden Codebeispiel werden Anforderungsvervollständigensinformationen festgelegt, die auf dem Wert des E/A-Steuerelementcodes basieren, den eine EvtIoDeviceControl-Rückruffunktion empfängt .

VOID
MyEvtIoDeviceControl(
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    IN size_t  OutputBufferLength,
    IN size_t  InputBufferLength,
    IN ULONG  IoControlCode
    )
{
    switch (IoControlCode) {
      case MY_IOCTL_CODE_1:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_1
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_2:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_2
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_3:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_3
                                     );
            status = STATUS_SUCCESS;
            break;

      default:
            status = STATUS_INVALID_DEVICE_REQUEST;
            break;
    }

    WdfRequestComplete(
                       Request,
                       status
                       );
}

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfrequest.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

WdfRequestCompleteWithInformation

WdfRequestGetInformation