Partager via


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 de WDF_REQUEST_SEND_OPTIONS_FLAGSindicateurs typés.

Timeout

Valeur de délai d’attente, en unités de temps système (intervalles de 100 nanosecondes). Si le pilote a défini l’indicateur de 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’attente spécifié. La valeur de délai d’attente 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 n’expire 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 dans le délai d’attente spécifié. Les délais d’expiration absolus reflètent les modifications de temps système.

L’infrastructure fournit 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 le délai d’attente spécifié s’est écoulé, l’infrastructure fournit un état d’achèvement de STATUS_IO_TIMEOUT pour la demande d’E/S. Toutefois, une fois le délai d’expiration écoulé, la cible d’E/S peut terminer la demande d’E/S avant que l’infrastructure ne puisse l’annuler. Dans ce cas, l’état d’achèvement de la demande d’E/S ne sera pas STATUS_IO_TIMEOUT.

Remarques

La structure WDF_REQUEST_SEND_OPTIONS est passée 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’attente dans les indicateurs de membre de cette structure.

Exigences

Exigence Valeur
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’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