다음을 통해 공유


UcmUcsiPpmStop 함수(ucmucsippm.h)

UcmUcsiCx 클래스 확장에 클라이언트 드라이버에 대한 요청 전송을 중지하도록 지시합니다.

구문

void UcmUcsiPpmStop(
  [in] UCMUCSIPPM PpmObject
);

매개 변수

[in] PpmObject

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

반환 값

없음

설명

UcmUcsiPpmStop 은 클라이언트 드라이버가 더 이상 클래스 확장에서 요청을 받을 준비가 되지 않음을 나타냅니다. 클래스 확장은 이 호출이 반환된 후 클라이언트에 대한 요청이 없도록 보장합니다. 드라이버에서 오류가 발생하고 클래스 확장이 PPM 요청 전송을 중지하려고 할 때 이 DDI를 호출해야 합니다. 호출이 완료되면 드라이버는 UcmUcsiPpmStart를 사용하여 PPM을 다시 시작해야 합니다.

클라이언트 드라이버는 드라이버 언로드 시 이 DDI를 호출해야 합니다. 이 호출은 내부 상태 컴퓨터의 해체를 시작하는 클래스 확장을 나타냅니다. 클라이언트는 EVT_WDF_DEVICE_RELEASE_HARDWARE 콜백에서 UcmUcsiPpmStop 을 호출하는 것이 좋습니다.

UcmUcsiPpmStop은 클라이언트 드라이버에서 제공하는 전원 관리 WDFQUEUE를 통해 UCSI 명령을 PPM으로 보내는 데 의존하므로 콜백을 EVT_WDF_DEVICE_D0_EXIT 이 함수를 호출하면 오류가 발생합니다. 이때 큐에 대한 디스패치 게이트가 닫혀 있기 때문입니다.

UcmUcsiPpmStop이 반환되면 UcmUcsiPpmStart를 호출하여 PPM을 다시 시작할 수 있습니다.

요구 사항

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