UsbPm_AssignConnectorPowerLevel 함수(usbpmapi.h)

지정된 전압/전류/전력 값으로 PD 계약 재협상을 시도합니다.

구문

NTSTATUS UsbPm_AssignConnectorPowerLevel(
  [In] USBPM_CLIENT                               ClientHandle,
  [In] USBPM_CONNECTOR                            ConnectorHandle,
  [In] PUSBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Params
);

매개 변수

[In] ClientHandle

UsbPm_Register 이전 호출에서 클라이언트 드라이버가 받은 핸들입니다.

[In] ConnectorHandle

정책 관리자가 드라이버의 EVT_USBPM_EVENT_CALLBACK 구현을 호출할 때 제공하는 커넥터 핸들입니다. 핸들은 Params 값의 EventData.ConnectorStateChange.ConnectorHandle 멤버에 설정됩니다.

[In] Params

협상할 전압/전류/전력 값을 포함하는 드라이버 제공 USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS 구조체에 대한 포인터입니다. USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT 호출하여 구조를 초기화합니다.

전원 싱크 역할에서 커넥터의 전압/전류/전원 값으로 0을 지정하면 커넥터의 충전이 중지됩니다.

반환 값

작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 는 적절한 NTSTATUS 값을 반환합니다.

설명

협상된 설정은 포트 파트너가 연결된 경우에만 지속되며 포트 파트너가 분리될 때 삭제됩니다. 클라이언트 드라이버는 이전 설정을 가정하지 않고 현재 커넥터 상태에 따라 이 함수를 호출해야 합니다.

이 호출이 성공하면 요청이 수락되었지만 PD 계약 재협상이 완료되지 않을 수 있습니다. PD 계약 재협상의 결과는 성공 또는 실패일 수 있습니다.

PD 계약 재협상이 성공하면 커넥터 상태 변경 이벤트와 함께 EVT_USBPM_EVENT_CALLBACK 호출됩니다. PD 계약 재협상 요청이 실패하면 콜백 함수가 호출되지 않습니다. 예를 들어 파트너가 요청을 거부하거나 커넥터 상태가 변경되어 더 이상 유효하지 않습니다.
Windows 10, 버전 1809 드라이버는 UsbCPowerRoleSink의 전원 역할과 파트너가 커넥터에 연결된 경우에만 이 함수를 호출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809
최소 KMDF 버전 1.27
최소 UMDF 버전 2.27
머리글 usbpmapi.h
라이브러리 UsbPmApi.lib
IRQL PASSIVE_LEVEL

추가 정보

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK