UcmUcsiPpmStart 함수(Ucmucsippm.h)

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

구문

NTSTATUS UcmUcsiPpmStart(
  [in] UCMUCSIPPM PpmObject
);

매개 변수

[in] PpmObject

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

반환 값

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

설명

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

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

이 DDI는 OPM 및 명령 처리기 상태 컴퓨터를 초기화하기 위해 클래스 확장이 수행해야 하는 작업을 시작합니다. 클라이언트 드라이버는 UcmUcsiPpmStart 를 호출하여 드라이버가 IOCTL 요청을 받을 준비가 되었음을 UcmUcsiCx에 알려야 합니다. 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