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 |