Partager via


WdfRequestSetInformation, fonction (wdfrequest.h)

[S’applique à KMDF et UMDF]

La méthode WdfRequestSetInformation définit l’achèvement status informations pour une demande d’E/S spécifiée.

Syntaxe

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

Paramètres

[in] Request

Handle pour un objet de requête d’infrastructure.

[in] Information

L’achèvement défini par le pilote status informations pour la demande.

Valeur de retour

None

Remarques

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Les pilotes basés sur l’infrastructure utilisent la méthode WdfRequestSetInformation pour fournir des informations spécifiques au pilote associées à l’achèvement d’une demande d’E/S, telles que le nombre d’octets transférés. D’autres pilotes peuvent obtenir ces informations en appelant WdfRequestGetInformation.

Les pilotes peuvent également spécifier des informations d’achèvement status en appelant WdfRequestCompleteWithInformation.

Pour plus d’informations sur WdfRequestSetInformation, consultez Achèvement des demandes d’E/S.

Exemples

L’exemple de code suivant définit des informations de saisie semi-automatique de requête basées sur la valeur du code de contrôle d’E/S qu’une fonction de rappel EvtIoDeviceControl reçoit.

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
                       );
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfrequest.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WdfRequestCompleteWithInformation

WdfRequestGetInformation