Condividi tramite


Funzione WdfRequestSetCompletionRoutine (wdfrequest.h)

[Si applica a KMDF e UMDF]

Il metodo WdfRequestSetCompletionRoutine registra o deregista una routine di completamento per l'oggetto richiesta framework specificato.

Sintassi

void WdfRequestSetCompletionRoutine(
  [in]           WDFREQUEST                         Request,
  [in, optional] PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
  [in, optional] __drv_aliasesMem WDFCONTEXT        CompletionContext
);

Parametri

[in] Request

Handle per un oggetto richiesta framework.

[in, optional] CompletionRoutine

Puntatore a una funzione di callback di CompletamentoRoutine , se il driver registra una routine di completamento o NULL del driver sta registrando una routine di completamento registrata in precedenza.

[in, optional] CompletionContext

Puntatore non tipizzato a informazioni di contesto definite dal driver che il framework passa alla funzione di callback di CompletamentoRoutine . Questo parametro è facoltativo e può essere NULL.

Valore restituito

nessuno

Osservazioni

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

Se il driver inoltra le richieste di I/O, ma se si vuole che il driver venga avvisato quando un driver di livello inferiore completa la richiesta, il driver può fornire una funzione di callback Di completamentoRoutine e chiamare WdfRequestSetCompletionRoutine per registrare la funzione. Il framework chiama la funzione di callback dopo che un driver di livello inferiore completa la richiesta di I/O.

Per altre informazioni su WdfRequestSetCompletionRoutine, vedere Completamento delle richieste di I/O.

Esempio

Per un esempio di codice che usa WdfRequestSetCompletionRoutine, vedere WdfRequestSend.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfrequest.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqCompletionRoutine(kmdf)

Vedi anche

CompletamentoRoutine