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 |