다음을 통해 공유


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

요청된 플러그 앤 플레이 디바이스 속성을 지정합니다. 속성 지정자 값 목록은 다음 주의 섹션을 참조하세요.

[in] BufferLength

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

[out] PropertyBuffer

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

[out] ResultLength

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

반환 값

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

설명

DeviceProperty 매개 변수를 헤더 파일 wdm.h의 다음 DEVICE_REGISTRY_PROPERTY 열거형 값 중 하나로 설정합니다.

DevicePropertyAddress

DevicePropertyBootConfiguration

DevicePropertyBootConfigurationTranslated

DevicePropertyBusNumber

DevicePropertyBusTypeGuid

DevicePropertyClassGuid

DevicePropertyClassName

DevicePropertyCompatibleIDs

DevicePropertyDetachability

DevicePropertyDeviceDescription

DevicePropertyDriverKeyName

DevicePropertyEnumeratorName

DevicePropertyFriendlyName

DevicePropertyHardwareID

DevicePropertyInstallState

DevicePropertyLegacyBusType

DevicePropertyLocationInformation

DevicePropertyManufacturer

DevicePropertyPhysicalDeviceObjectName

DevicePropertyUINumber

이전 DevicePropertyXxx 값에 대한 설명은 IoGetDeviceProperty를 참조하세요.

필요한 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