Bagikan melalui


Fungsi WdfRequestSetInformation (wdfrequest.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfRequestSetInformation menetapkan informasi status penyelesaian untuk permintaan I/O tertentu.

Sintaks

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

Parameter

[in] Request

Handel ke objek permintaan kerangka kerja.

[in] Information

Informasi status penyelesaian yang ditentukan driver untuk permintaan tersebut.

Nilai kembali

Tidak ada

Keterangan

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Driver berbasis kerangka kerja menggunakan metode WdfRequestSetInformation untuk menyediakan informasi khusus driver yang terkait dengan penyelesaian permintaan I/O, seperti jumlah byte yang ditransfer. Driver lain dapat memperoleh informasi ini dengan memanggil WdfRequestGetInformation.

Driver juga dapat menentukan informasi status penyelesaian dengan memanggil WdfRequestCompleteWithInformation.

Untuk informasi selengkapnya tentang WdfRequestSetInformation, lihat Menyelesaikan Permintaan I/O.

Contoh

Contoh kode berikut menetapkan informasi penyelesaian permintaan yang didasarkan pada nilai kode kontrol I/O yang diterima fungsi panggilan balik 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
                       );
}

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfrequest.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

WdfRequestCompleteWithInformation

WdfRequestGetInformation