WdfRequestAllocateTimer-Funktion (wdfrequest.h)
[Gilt für KMDF und UMDF]
Die WdfRequestAllocateTimer Methode weist einen Timer für eine angegebene E/A-Anforderung zu.
Syntax
NTSTATUS WdfRequestAllocateTimer(
[in] WDFREQUEST Request
);
Parameter
[in] Request
Ein Handle zu einem Framework-Anforderungsobjekt.
Rückgabewert
WdfRequestAllocateTimer gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Ein Eingabeparameter ist ungültig. |
|
Ein Timer konnte nicht zugeordnet werden. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Wenn Ihr Treiber beim Aufrufen WdfRequestSend-einen Timeoutwert angibt, sollte er WdfRequestAllocateTimer- aufrufen, bevor WdfRequestSendaufgerufen wird. Dadurch wird sichergestellt, dass der Aufruf von WdfRequestSend- nicht fehlschlägt, wenn nicht genügend Systemressourcen vorhanden sind, um einen Timer zuzuweisen.
Wenn bereits ein Timer für die angegebene Anforderung zugeordnet ist, gibt WdfRequestAllocateTimer STATUS_SUCCESS zurück.
Beispiele
Im folgenden Codebeispiel wird eine WDF_REQUEST_SEND_OPTIONS-Struktur initialisiert, ein Timerobjekt für die E/A-Anforderung zugewiesen, und anschließend wird WdfRequestSendaufgerufen.
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
);
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfrequest.h (include Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <=DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |