Partager via


WdfRequestSetInformation, fonction (wdfrequest.h)

[S’applique à KMDF et UMDF]

La méthode WdfRequestSetInformation définit les informations d’état d’achèvement d’une requête d’E/S spécifiée.

Syntaxe

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

Paramètres

[in] Request

Handle vers un objet de requête de framework.

[in] Information

Informations d’état d’achèvement définies par le pilote pour la demande.

Valeur de retour

Aucun

Remarques

Une vérification de bogue 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 requête d’E/S, comme 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’état d’achèvement en appelant WdfRequestCompleteWithInformation.

Pour plus d’informations sur WdfRequestSetInformation, consultez Fin des requêtes d’E/S.

Exemples

L’exemple de code suivant définit les informations d’achèvement des demandes basées sur la valeur du code de contrôle d’E/S qu’une EvtIoDeviceControl fonction de rappel 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
                       );
}

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’en-tête wdfrequest.h (include 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