EVT_URS_SET_ROLE fungsi panggilan balik (ursdevice.h)

Ekstensi kelas URS memanggil panggilan balik peristiwa ini ketika mengharuskan driver klien untuk mengubah peran pengontrol.

Sintaks

EVT_URS_SET_ROLE EvtUrsSetRole;

NTSTATUS EvtUrsSetRole(
  [in] WDFDEVICE Device,
  [in] URS_ROLE Role
)
{...}

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja yang diambil driver klien dalam panggilan sebelumnya ke WdfDeviceCreate.

[in] Role

Nilai jenis URS_ROLE yang menunjukkan peran yang akan diatur untuk perangkat pengontrol.

Nilai kembali

Jika operasi berhasil, fungsi panggilan balik harus mengembalikan STATUS_SUCCESS, atau nilai status lain yang NT_SUCCESS(status) sama dengan TRUE. Jika tidak, itu harus mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE.

Keterangan

Untuk mendaftarkan implementasi driver klien dari panggilan balik peristiwa, driver harus mengatur anggota EvtUrsSetRoledari URS_CONFIG ke penunjuk fungsi metode implementasi dan kemudian memanggil metode UrsDeviceInitialize dengan melewati struktur yang diisi. Driver harus memanggil metode setelah membuat objek perangkat kerangka kerja untuk pengontrol.

Contoh



NTSTATUS
EvtUrsSetRole (
    _In_ WDFDEVICE Device,
    _In_ URS_ROLE Role
    )
{
    NTSTATUS status;
    PFDO_CONTEXT fdoContext;

    TRACE_FUNC_ENTRY(TRACE_FLAG);
    TRY {


           // Change the current role of the controller to the specified role.
           // The driver might have stored the control registers in the device context. 
           // Read and write the register to get and set the current role. 

        }


        TRACE_INFO(TRACE_FLAG, "[Device: 0x%p] Successfully set role to %!URS_ROLE!", Device, Role);

        status = STATUS_SUCCESS;

    } FINALLY {

    }

    TRACE_FUNC_EXIT(TRACE_FLAG);

    return status;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Server minimum yang didukung Server Windows 2016
Target Platform Windows
Versi KMDF minimum 1.15
Header ursdevice.h (termasuk Urscx.h)
IRQL PASSIVE_LEVEL

Lihat juga

UrsDeviceInitialize