Condividi tramite


Funzione WdfRequestSetInformation (wdfrequest.h)

[Si applica a KMDF e UMDF]

Il metodo WdfRequestSetInformation imposta le informazioni sullo stato di completamento per una richiesta di I/O specificata.

Sintassi

void WdfRequestSetInformation(
  [in] WDFREQUEST Request,
  [in] ULONG_PTR  Information
);

Parametri

[in] Request

Handle per un oggetto richiesta del framework.

[in] Information

Informazioni sullo stato di completamento definite dal driver per la richiesta.

Valore restituito

nessuno

Osservazioni

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

I driver basati su framework usano il metodo WdfRequestSetInformation per fornire informazioni specifiche del driver associate al completamento di una richiesta di I/O, ad esempio il numero di byte trasferiti. Altri driver possono ottenere queste informazioni chiamando WdfRequestGetInformation.

I driver possono anche specificare informazioni sullo stato di completamento chiamando WdfRequestCompleteWithInformation.

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

Esempio

L'esempio di codice seguente imposta le informazioni di completamento della richiesta basate sul valore del codice di controllo I/O ricevuto da una funzione di callback EvtIoDeviceControl .

VOID
MyEvtIoDeviceControl(
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    IN size_t  OutputBufferLength,
    IN size_t  InputBufferLength,
    IN ULONG  IoControlCode
    )
{
    switch (IoControlCode) {
      case MY_IOCTL_CODE_1:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_1
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_2:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_2
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_3:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_3
                                     );
            status = STATUS_SUCCESS;
            break;

      default:
            status = STATUS_INVALID_DEVICE_REQUEST;
            break;
    }

    WdfRequestComplete(
                       Request,
                       status
                       );
}

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)

Vedi anche

WdfRequestCompleteWithInformation

WdfRequestGetInformation