다음을 통해 공유


PcGetDeviceProperty 함수(portcls.h)

PcGetDeviceProperty 함수는 레지스트리에서 요청된 디바이스 속성을 반환합니다.

통사론

PORTCLASSAPI NTSTATUS PcGetDeviceProperty(
  [in]  PVOID                    DeviceObject,
  [in]  DEVICE_REGISTRY_PROPERTY DeviceProperty,
  [in]  ULONG                    BufferLength,
  [out] PVOID                    PropertyBuffer,
  [out] PULONG                   ResultLength
);

매개 변수

[in] DeviceObject

디바이스의 디바이스 개체에 대한 포인터입니다. 이 매개 변수는 DEVICE_OBJECT 시스템 구조를 가리키지만 PVOID 형식으로 캐스팅됩니다.

[in] DeviceProperty

검색할 디바이스 속성을 식별하는 DEVICE_REGISTRY_PROPERTY형식의 열거자입니다.

[in] BufferLength

요청된 속성 데이터를 받을 버퍼의 길이(바이트)를 지정합니다.

[out] PropertyBuffer

메서드가 요청된 속성 데이터를 쓰는 호출자 할당 버퍼에 대한 포인터입니다. 버퍼는 BufferLength지정된 바이트 수를 포함할 만큼 커야 합니다.

[out] ResultLength

메서드가 버퍼에 실제로 기록된 바이트 수를 지정하는 개수를 출력하는 호출자 할당 변수에 대한 포인터입니다. BufferLength 지정된 버퍼 크기가 너무 작아서 속성 데이터를 저장할 수 없으면 메서드는 대신 속성 데이터에 필요한 바이트 수를 출력하고 STATUS_BUFFER_TOO_SMALL 반환합니다.

반환 값

PcGetDeviceProperty 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다. 루틴은 BufferLength 지정된 버퍼 크기가 요청된 속성 데이터를 포함할 만큼 크지 않은 경우 STATUS_BUFFER_TOO_SMALL 반환합니다.

발언

필요한 BufferLength확인하려면 PcGetDeviceProperty 두 번 호출해야 할 수 있습니다. 첫 번째 호출에서 BufferLength 0이거나 필요한 버퍼 크기를 가장 잘 예상할 수 있습니다. 반환 상태가 STATUS_BUFFER_TOO_SMALL 경우 호출자는 ResultLength 통해 출력된 크기의 버퍼를 할당하고 PcGetDeviceProperty를 다시 호출해야.

요구 사항

요구
지원되는 최소 클라이언트 PortCls 시스템 드라이버는 Microsoft Windows 98/Me 및 Windows 2000 이상 운영 체제에서 PcGetDeviceProperty 함수를 구현합니다.
대상 플랫폼 보편적
헤더 portcls.h(Portcls.h 포함)
라이브러리 Portcls.lib
IRQL PASSIVE_LEVEL

참고 항목

DEVICE_OBJECT

IoGetDeviceProperty