Freigeben über


WdfRequestSetInformation-Funktion (wdfrequest.h)

[Gilt für KMDF und UMDF]

Die WdfRequestSetInformation Methode legt die Statusinformationen für den Abschluss für eine angegebene E/A-Anforderung fest.

Syntax

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

Parameter

[in] Request

Ein Handle zu einem Framework-Anforderungsobjekt.

[in] Information

Treiberdefinierte Abschlussstatusinformationen für die Anforderung.

Rückgabewert

Nichts

Bemerkungen

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Frameworkbasierte Treiber verwenden die WdfRequestSetInformation Methode, um treiberspezifische Informationen bereitzustellen, 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 WdfRequestGetInformationaufrufen.

Treiber können auch Abschlussstatusinformationen angeben, indem sie WdfRequestCompleteWithInformationaufrufen.

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

Beispiele

Im folgenden Codebeispiel werden Anforderungsabschlussinformationen festgelegt, die auf dem Wert des E/A-Steuerelementcodes basieren, den ein 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- Universal
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfrequest.h (include Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL- <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

WdfRequestCompleteWithInformation-

WdfRequestGetInformation-