EVT_URS_SET_ROLE função de retorno de chamada (ursdevice.h)
A extensão de classe URS invoca esse retorno de chamada de evento quando exige que o driver do cliente altere a função do controlador.
Sintaxe
EVT_URS_SET_ROLE EvtUrsSetRole;
NTSTATUS EvtUrsSetRole(
[in] WDFDEVICE Device,
[in] URS_ROLE Role
)
{...}
Parâmetros
[in] Device
Um identificador para o objeto de dispositivo de estrutura que o driver cliente recuperou na chamada anterior para WdfDeviceCreate.
[in] Role
Um URS_ROLE valor de tipo que indica a função a ser definida para o dispositivo controlador.
Retornar valor
Se a operação for bem-sucedida, a função de retorno de chamada deverá retornar STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, ele deverá retornar um valor status para o qual NT_SUCCESS(status) é igual a FALSE.
Comentários
Para registrar a implementação do driver cliente do retorno de chamada de evento, o driver deve definir o membro EvtUrsSetRole do URS_CONFIG como um ponteiro de função do método de implementação e, em seguida, chamar o método UrsDeviceInitialize passando a estrutura preenchida. O driver deve chamar o método depois de criar o objeto de dispositivo de estrutura para o controlador.
Exemplos
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;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 |
Servidor mínimo com suporte | Windows Server 2016 |
Plataforma de Destino | Windows |
Versão mínima do KMDF | 1.15 |
Cabeçalho | ursdevice.h (inclua Urscx.h) |
IRQL | PASSIVE_LEVEL |