IOCTL_PMI_GET_CAPABILITIES IOCTL(pmi.h)

IOCTL_PMI_GET_CAPABILITIES 요청은 파워 미터에 대한 기능 및 자산 정보를 가져옵니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

IRP(I/O 요청 패킷)의 AssociatedIrp.SystemBuffer 멤버는 요청에 대한 입력 버퍼와 출력 버퍼로 모두 사용되는 초기자 할당 버퍼를 가리킵니다. 입력 시 이 버퍼에는 VersionCapabilityType 멤버가 유효한 값으로 설정된 PMI_CAPABILITIES 구조가 포함됩니다. CapabilitiesType 멤버에는 전원 미터에서 검색할 PMI 기능 정보의 유형을 지정하는 PMI_CAPABILITIES_TYPE 열거형 값이 포함되어 있습니다. 이 값은 이 정보를 포함하는 데 필요한 출력 버퍼의 크기도 결정합니다.

입력 버퍼 길이

IRP의 현재 I/O 스택 위치(IO_STACK_LOCATION)의 Parameters.DeviceIoControl.InputBufferLength 멤버는 ASSOCIATedIrp.SystemBuffer 멤버가 가리키는 버퍼의 크기(바이트)로 설정됩니다. 이 크기는 sizeof(PMI_CAPABILITIES)보다 크거나 같아야 합니다. 그렇지 않으면 STATUS_INVALID_PARAMETER 오류 상태 요청이 실패합니다.

출력 버퍼

요청이 성공적으로 완료되면 ASSOCIATedIrp.SystemBuffer 멤버가 가리키는 버퍼에 요청된 PMI 기능 정보가 포함됩니다. 이 버퍼의 시작 부분에는 버퍼에 있는 정보의 형식과 크기를 나타내는 PMI_CAPABILITIES 구조체가 있습니다.

출력 버퍼 길이

IRP의 현재 I/O 스택 위치의 Parameters.DeviceIoControl.OutputBufferLength 멤버는 AssociatedIrp.SystemBuffer 멤버가 가리키는 버퍼의 크기(바이트)로 설정됩니다. 요청이 성공하려면 이 크기가 PMI_CAPABILITIES_TYPE 입력 매개 변수 값으로 지정된 PMI 기능 정보를 포함할 만큼 커야 합니다. 그렇지 않으면 오류 상태 STATUS_BUFFER_TOO_SMALL 요청이 실패합니다.

상태 블록

정보 멤버는 PMI_CAPABILITIES 구조체 및 가변 길이 데이터의 크기(바이트)로 설정됩니다.

Status 멤버는 다음 값 중 하나로 설정됩니다.

STATUS_BUFFER_TOO_SMALL

IRPParameters.DeviceIoControl.OutputBufferLength 멤버는 PMI_CAPABILITIES 구조체 및 가변 길이 데이터의 크기(바이트)보다 작습니다.

STATUS_INVALID_PARAMETER

초기자 할당 입력 버퍼에 잘못된 PMI_CAPABILITIES_TYPE 값이 포함되어 있습니다.

STATUS_SUCCESS

PMI 인터페이스를 지원하는 WDM 드라이버가 IOCTL 요청을 성공적으로 완료했습니다.

설명

IOCTL_PMI_GET_CAPABILITIES 요청은 파워 미터의 PMI 기능 또는 자산 정보를 쿼리합니다. 입력 PMI_CAPABILITIES 열거형 값은 반환할 기능 정보의 유형을 지정합니다. 출력 버퍼의 데이터 형식 및 내용은 요청된 데이터에 따라 달라집니다.

다음 표에서는 지정된 PMI_CAPABILITIES_TYPE 열거형 값에 대해 반환되는 데이터 형식에 대해 설명합니다.

PMI_CAPABILITIES_TYPE 값 Description
PmiMeteredHardware 전원 측정기가 모니터링하는 하드웨어 디바이스를 지정하는 PMI_METERED_HARDWARE_INFORMATION 구조체입니다.
PmiReportedCapabilities 전원 측정기에서 지원하는 PMI 기능 유형을 지정하는 PMI_REPORTED_CAPABILITIES 구조체입니다.
참고PMI_REPORTED_CAPABILITIES 구조체는 가변 길이입니다. IRP의 MdlAddress 멤버가 참조하는 출력 버퍼가 너무 작은 경우 드라이버는 이 IOCTL 요청에 실패해야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7, Windows Server 2008 R2 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
머리글 pmi.h(Pmi.h 포함)

추가 정보

IO_STACK_LOCATION

IRP

PMI_CAPABILITIES

PMI_CAPABILITIES_TYPE

PMI_METERED_HARDWARE_INFORMATION

PMI_REPORTED_CAPABILITIES