structure WDF_REQUEST_SEND_OPTIONS (wdfrequest.h)

[S’applique à KMDF et UMDF]

La structure WDF_REQUEST_SEND_OPTIONS spécifie les options associées à l’envoi d’une requête d’E/S à une cible d’E/S.

Syntaxe

typedef struct _WDF_REQUEST_SEND_OPTIONS {
  ULONG    Size;
  ULONG    Flags;
  LONGLONG Timeout;
} WDF_REQUEST_SEND_OPTIONS, *PWDF_REQUEST_SEND_OPTIONS;

Membres

Size

Taille, en octets, de cette structure.

Flags

OR au niveau du bit des indicateurs typés WDF_REQUEST_SEND_OPTIONS_FLAGS.

Timeout

Valeur de délai d’expiration, dans les unités de temps système (intervalles de 100 nanosecondes). Si le pilote a défini l’indicateur WDF_REQUEST_SEND_OPTION_TIMEOUT, l’infrastructure annule la demande d’E/S associée s’il n’est pas terminé dans le délai d’expiration spécifié. La valeur de délai d’expiration peut être négative, positive ou zéro, comme suit :

  • Si la valeur est négative, l’heure d’expiration est relative à l’heure système actuelle.
  • Si la valeur est positive, l’heure d’expiration est spécifiée comme une heure absolue (qui est réellement relative au 1er janvier 1601).
  • Si la valeur est égale à zéro, l’infrastructure ne délai pas la requête.
Les délais d’expiration relatifs ne sont pas affectés par les modifications apportées à l’heure système qui peuvent se produire au cours de la période d’expiration spécifiée. Les temps d’expiration absolus reflètent les modifications de temps système.

L’infrastructure fournit des fonctions de conversion de temps qui convertissent les valeurs de temps en unités de temps système.

Si l’infrastructure annule une demande d’E/S car la période d’expiration spécifiée s’est écoulée, l’infrastructure fournit un état d’achèvement de STATUS_IO_TIMEOUT pour la demande d’E/S. Toutefois, une fois la période d’expiration écoulée, la cible d’E/S peut terminer la demande d’E/S avant que l’infrastructure puisse l’annuler. Dans ce cas, l’état de saisie semi-automatique de la demande d’E/S ne sera pas STATUS_IO_TIMEOUT.

Remarques

La structure WDF_REQUEST_SEND_OPTIONS est transmise aux méthodes d’objet qui envoient une requête d’E/S à une cible d’E/S, comme la méthode WdfRequestSend . La structure doit être initialisée en appelant les fonctions WDF_REQUEST_SEND_OPTIONS_INIT et WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT .

Si le pilote envoie la requête de façon synchrone, nous vous recommandons de définir une valeur de délai d’attente et l’indicateur de délai d’expiration dans le membre Indicateurs de cette structure.

Configuration requise

   
Version KMDF minimale 1.0
Version UMDF minimale 2,0
En-tête wdfrequest.h (include Wdf.h)

Voir aussi

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend