Partager via


énumération WDF_REQUEST_SEND_OPTIONS_FLAGS (wudfddi_types.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

Le type d’énumération WDF_REQUEST_SEND_OPTIONS_FLAGS définit les indicateurs qu’un pilote peut spécifier quand il appelle IWDFIoRequest ::Send.

Syntax

typedef enum _WDF_REQUEST_SEND_OPTIONS_FLAGS {
  WDF_REQUEST_SEND_OPTION_TIMEOUT,
  WDF_REQUEST_SEND_OPTION_SYNCHRONOUS,
  WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE,
  WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET,
  WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT,
  WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE
} WDF_REQUEST_SEND_OPTIONS_FLAGS;

Constantes

 
WDF_REQUEST_SEND_OPTION_TIMEOUT
S’il est défini, le paramètre Timeout de la méthode IWDFIoRequest ::Send est valide.
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
S’il est défini, UMDF envoie la demande d’E/S de manière synchrone.
WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE
Si elle est définie, UMDF envoie la demande d’E/S à la cible d’E/S, quel que soit l’état de la cible d’E/S. S’il n’est pas défini, UMDF met en file d’attente la requête si la cible est arrêtée. La définition de cet indicateur permet à un pilote d’envoyer une requête, telle qu’une demande de réinitialisation d’un canal USB, à un appareil après que le pilote a appelé IWDFIoTargetStateManagement ::Stop.
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
Si la valeur est définie, le pilote envoie la requête de manière asynchrone et n’a pas besoin d’être averti lorsque la demande est terminée ou annulée. Le pilote ne définit pas une fonction de rappel IRequestCallbackRequestCompletion ::OnCompletion ou appelle IWDFIoRequest ::Complete pour la demande. Pour plus d’informations sur cet indicateur, consultez la section Remarques suivante.
WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT
Si elle est définie et si le type de requête d’E/S est WdfRequestCreate, la méthode Send tente de passer le niveau d’emprunt d’identité du client à la cible d’E/S du pilote. Cette valeur est disponible dans UMDF versions 1.9 et ultérieures.
WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE
Si elle est définie, UMDF ignore les échecs d’emprunt d’identité. Vous pouvez utiliser cette valeur uniquement avec WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT. Cette valeur est disponible dans UMDF versions 1.9 et ultérieures.

Remarques

Un pilote qui définit l’indicateur WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET ne met généralement pas en forme la demande d’E/S avant d’appeler IWDFIoRequest ::Send pour envoyer la demande à une cible d’E/S. En fait, un pilote qui définit cet indicateur ne doit appeler aucune des méthodes IWdfIoTarget ::FormatRequestForXxx avant d’appeler IWDFIoRequest ::Send. Le pilote peut utiliser uniquement la méthode IWDFIoRequest ::FormatUsingCurrentType pour mettre en forme la requête.

Votre pilote ne peut pas définir l’indicateur WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET si le paramètre pIoTarget de IWDFIoRequest ::Send pointe vers un objet cible d’E/S basé sur un handle de fichier. Pour plus d’informations sur ce type de cible d’E/S, consultez Initialisation d’une cible d’E/S générale dans UMDF.

Si le pilote définit l’indicateur WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET, il ne peut pas définir d’autres indicateurs, sauf WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT et WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE.

Pour plus d’informations sur l’emprunt d’identité client, consultez Gestion de l’emprunt d’identité client.

Pour connaître la version KMDF de cette énumération, consultez WDF_REQUEST_SEND_OPTIONS_FLAGS.

Configuration requise

Condition requise Valeur
Version UMDF minimale 1.0
En-tête wudfddi_types.h (incluez Wudfddi.h)

Voir aussi

IWDFIoRequest ::Send