EVT_UCM_CONNECTOR_SET_POWER_ROLE回呼函式 (ucmmanager.h)
用戶端驅動程式的 EVT_UCM_CONNECTOR_SET_POWER_ROLE 事件回呼函式實作,會在附加至夥伴連接器時,將連接器的電源角色設定為指定的角色。
語法
EVT_UCM_CONNECTOR_SET_POWER_ROLE EvtUcmConnectorSetPowerRole;
NTSTATUS EvtUcmConnectorSetPowerRole(
[in] UCMCONNECTOR Connector,
[in] UCM_POWER_ROLE PowerRole
)
{...}
參數
[in] Connector
處理客戶端驅動程式在先前呼叫UcmConnectorCreate 方法時收到的連接器。
[in] PowerRole
UCM_POWER_ROLE型別旗標,指定要設定的角色。
傳回值
如果作業成功,回呼函式必須傳回STATUS_SUCCESS,或NT_SUCCESS(status) 等於 TRUE 的另一個狀態值。 否則,它必須傳回狀態值,NT_SUCCESS(status) 等於 FALSE。
言論
若要註冊 EVT_UCM_CONNECTOR_SET_POWER_ROLE 回呼函式,客戶端必須呼叫 UcmConnectorCreate。
USB 連接器管理員架構延伸模組 (UcmCx) 可以要求 UcmPowerRoleSink 或 UcmPowerRoleSource。 如果埠已經在要求的角色中,用戶端驅動程式就可以完成要求,而不需要進行任何變更。 否則,它會啟動電源角色交換作業(PR_Swap)。 驅動程式會呼叫 UcmConnectorPowerDirectionChanged,以通知 UcmCx 該作業成功或失敗。 驅動程式可以在回調函式內呼叫該方法。
目前連接的角色會保存。
如果角色交換作業擱置中,UcmCx 不會要求另一個角色交換。 這些作業會跨電源和數據角色交換進行串行化。
交換作業完成之後,如果夥伴埠傳送PR_Swap要求,用戶端驅動程式必須拒絕要求。
例子
EVT_UCM_CONNECTOR_SET_POWER_ROLE EvtSetPowerRole;
NTSTATUS
EvtSetPowerRole(
UCMCONNECTOR Connector,
UCM_POWER_ROLE PowerRole
)
{
PCONNECTOR_CONTEXT connCtx;
TRACE_INFO("EvtSetPowerRole(%!UCM_POWER_ROLE!) Entry", PowerRole);
connCtx = GetConnectorContext(Connector);
//PR_Swap operation.
TRACE_FUNC_EXIT();
return STATUS_SUCCESS;
}
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 |
支援的最低伺服器 | Windows Server 2016 |
目標平臺 | 窗戶 |
最低 KMDF 版本 | 1.15 |
最低 UMDF 版本 | 2.15 |
標頭 | ucmmanager.h (包括 Ucmcx.h) |
IRQL | PASSIVE_LEVEL |