Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique à KMDF et UMDF]
La méthode WdfRequestAllocateTimer alloue un minuteur pour une requête d’E/S spécifiée.
Syntaxe
NTSTATUS WdfRequestAllocateTimer(
[in] WDFREQUEST Request
);
Paramètres
[in] Request
Handle vers un objet de requête de framework.
Valeur de retour
WdfRequestAllocateTimer retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
| Retourner le code | Description |
|---|---|
|
Un paramètre d’entrée n’est pas valide. |
|
Impossible d’allouer un minuteur. |
Cette méthode peut également retourner d’autres valeurs NTSTATUS .
Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.
Remarques
Si votre pilote spécifie une valeur de délai d’attente lors de l’appel WdfRequestSend, il doit appeler WdfRequestAllocateTimer avant d’appeler WdfRequestSend. Cela garantit que l’appel à WdfRequestSend ne échouera pas s’il existe des ressources système insuffisantes pour allouer un minuteur.
Si un minuteur est déjà alloué pour la requête spécifiée, WdfRequestAllocateTimer retourne STATUS_SUCCESS.
Exemples
L’exemple de code suivant initialise une structure WDF_REQUEST_SEND_OPTIONS, alloue un objet minuteur pour la requête d’E/S, puis appelle WdfRequestSend.
NTSTATUS status;
WDF_REQUEST_SEND_OPTIONS options;
BOOLEAN requestSend;
WDF_REQUEST_SEND_OPTIONS_INIT(
&options,
WDF_REQUEST_SEND_OPTION_TIMEOUT
);
WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT(
&options,
WDF_ABS_TIMEOUT_IN_SEC(TIME_OUT_VALUE)
);
status = WdfRequestAllocateTimer(
request
);
if (!NT_SUCCESS(status)){
return status;
...
requestSend = WdfRequestSend(
request,
ioTarget,
&options
);
}
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) |