다음을 통해 공유


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를 통해 PPM에 UCSI 명령을 보내는 데 의존하므로 EVT_WDF_DEVICE_D0_EXIT 콜백에서 이 함수를 호출하려고 하면 오류가 발생합니다. 이때 큐에 대한 디스패치 게이트가 닫혀 있기 때문입니다.

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

요구 사항

요구
최소 KMDF 버전 1.27
최소 UMDF 버전 해당(N/A)
헤더 ucmucsippm.h(UcmUcsiCx.h 포함)
라이브러리 UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL