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 |
| 대상 플랫폼 | Windows |
| 최소 KMDF 버전 | 1.15 |
| 최소 UMDF 버전 | 2.15 |
| 헤더 | ucmmanager.h(Ucmcx.h 포함) |
| IRQL | PASSIVE_LEVEL |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기