EVT_URS_SET_ROLE回呼函式 (ursdevice.h)
URS 類別延伸模組需要用戶端驅動程式變更控制器的角色時,會叫用此事件回呼。
語法
EVT_URS_SET_ROLE EvtUrsSetRole;
NTSTATUS EvtUrsSetRole(
[in] WDFDEVICE Device,
[in] URS_ROLE Role
)
{...}
參數
[in] Device
用戶端驅動程式在先前呼叫 WdfDeviceCreate 中所擷取之架構裝置物件的句柄。
[in] Role
URS_ROLE類型值,指出要為控制器裝置設定的角色。
傳回值
如果作業成功,回呼函式必須傳回STATUS_SUCCESS,或NT_SUCCESS (状态) 等於 TRUE 的另一個狀態值。 否則,它必須傳回狀態值,NT_SUCCESS (状态) 等於 FALSE。
備註
若要註冊客戶端驅動程式的事件回呼實作,驅動程式必須將 URS_CONFIG 的 EvtUrsSetRole 成員設定為實作方法的函式指標,然後傳遞填入的結構來呼叫 UrsDeviceInitialize 方法。 驅動程式必須在建立控制器的架構裝置對象之後呼叫 方法。
範例
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;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
目標平台 | Windows |
最低 KMDF 版本 | 1.15 |
標頭 | ursdevice.h (包含 Urscx.h) |
IRQL | PASSIVE_LEVEL |