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 demande 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 de type WDF_REQUEST_SEND_OPTIONS_FLAGS.

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 WDF_REQUEST_SEND_OPTION_TIMEOUT, l’infrastructure annule la demande d’E/S associée si elle n’est pas terminée dans le délai d’expiration spécifié. La valeur de délai d’attente peut être négative, positive ou nulle, 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 sous la forme d’une heure absolue (qui est en fait relative au 1er janvier 1601).
  • Si la valeur est égale à zéro, l’infrastructure n’expire pas la demande.
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’expiration spécifié. Les heures d’expiration absolues reflètent les changements d’heure système.

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

Si l’infrastructure annule une demande d’E/S parce que le délai d’expiration spécifié est écoulé, l’infrastructure fournit une status 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, le status d’achèvement 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 demande 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 manière synchrone, nous vous recommandons de définir une valeur de délai d’attente et l’indicateur de délai d’attente dans le membre Flags de cette structure.

Configuration requise

Condition requise Valeur
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