UcmUcsiPpmStart 함수(Ucmucsippm.h)

UcmUcsiCx 클래스 확장에 클라이언트 드라이버에 요청 보내기를 시작하도록 지시합니다.

구문

NTSTATUS UcmUcsiPpmStart(
  [in] UCMUCSIPPM PpmObject
);

매개 변수

[in] PpmObject

클라이언트 드라이버가 UcmUcsiPpmCreate에 대한 이전 호출에서 받은 PPM(플랫폼 정책 관리자) 개체에 대한 핸들입니다.

반환 값

작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 메서드는 적절한 NTSTATUS 값을 반환할 수 있습니다.

설명

UcmUcsiPpmStart 는 이제 클라이언트 드라이버가 클래스 확장에서 요청을 받을 준비가 되었음을 나타냅니다. 이 호출 시 클래스 확장은 OPM(OS 정책 관리자) 및 명령 처리기 상태 컴퓨터를 시작합니다.

클라이언트 드라이버는 오류 복구 를 위해 UcmUcsiPpmStop 을 호출한 후 UcmUcsiPpmStart를 호출해야 합니다.

이 DDI는 OPM 및 명령 처리기 상태 컴퓨터를 초기화하기 위해 클래스 확장이 수행해야 하는 작업을 시작합니다. 클라이언트 드라이버는 UcmUcsiPpmStart 를 호출하여 UcmUcsiCx에 드라이버가 IOCTL 요청을 받을 준비가 되었음을 알려야 합니다. EVT_WDF_DEVICE_PREPARE_HARDWARE 콜백 함수에서 또는 시스템에서 이 콜백을 호출한 후에 이 호출을 수행하는 것이 좋습니다.

PPM이 이미 시작된 후 시작하려고 하면 오류 조건이 발생합니다.

클라이언트가 UcmUcsiPpmStart를 호출한 후 클래스 확장은 PPM 및 커넥터 기능 및 해당 상태를 가져오기 위해 PPM 펌웨어에 여러 명령을 보냅니다. 펌웨어와의 상호 작용 수가 많기 때문에 UcmUcsiCx 클라이언트 구현자는 D0Entry 콜백과 같은 저전력 상태에서 다시 시작하지 않고 시작하는 동안 이 DDI를 한 번 호출하는 것이 좋습니다. 클라이언트가 S0 유휴를 구현할 때 특히 그렇습니다.

요구 사항

요구 사항
최소 KMDF 버전 1.27
최소 UMDF 버전 해당 없음
머리글 Ucmucsippm.h(UcmUcsiCx.h 포함)
라이브러리 UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL