EVT_URS_SET_ROLE funzione di callback (ursdevice.h)
L'estensione della classe URS richiama questo callback di evento quando richiede al driver client di modificare il ruolo del controller.
Sintassi
EVT_URS_SET_ROLE EvtUrsSetRole;
NTSTATUS EvtUrsSetRole(
[in] WDFDEVICE Device,
[in] URS_ROLE Role
)
{...}
Parametri
[in] Device
Handle per l'oggetto dispositivo framework recuperato dal driver client nella chiamata precedente a WdfDeviceCreate.
[in] Role
Valore di tipo URS_ROLE che indica il ruolo da impostare per il dispositivo controller.
Valore restituito
Se l'operazione ha esito positivo, la funzione di callback deve restituire STATUS_SUCCESS o un altro valore di stato per cui NT_SUCCESS(status) è TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE.
Commenti
Per registrare l'implementazione del driver client del callback dell'evento, il driver deve impostare il membro EvtUrsSetRole di URS_CONFIG su un puntatore a funzione del metodo di implementazione e quindi chiamare il metodo UrsDeviceInitialize passando la struttura popolata. Il driver deve chiamare il metodo dopo aver creato l'oggetto dispositivo framework per il controller.
Esempio
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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Windows Server 2016 |
Piattaforma di destinazione | Windows |
Versione KMDF minima | 1.15 |
Intestazione | ursdevice.h (include Urscx.h) |
IRQL | PASSIVE_LEVEL |