다음을 통해 공유


IDeviceSpecificProperty::GetValue 메서드(devicetopology.h)

GetValue 메서드는 디바이스별 속성의 현재 값을 가져옵니다.

구문

HRESULT GetValue(
  [out] void  *pvValue,
        DWORD *pcbValue
);

매개 변수

[out] pvValue

메서드가 속성 값을 쓰는 호출자가 할당한 버퍼에 대한 포인터입니다.

pcbValue

[inout] 속성 값의 크기(바이트)를 지정하는 DWORD 변수에 대한 포인터입니다. 항목에서 *pcbValue 에는 호출자가 할당한 버퍼의 크기가 포함됩니다(또는 pvValueNULL인 경우 0). 반환하기 전에 메서드는 버퍼에 기록된 속성 값의 실제 크기(또는 버퍼가 너무 작거나 pvValueNULL인 경우 필요한 크기)를 씁니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드는 다음 표에 표시된 값을 포함하지만 이에 국한되지 않습니다.

반환 코드 설명
E_POINTER
포인터 pcbValueNULL입니다.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
매개 변수 pvValue가 가리키는 버퍼가 너무 작아서 속성 값을 포함할 수 없거나 pvValueNULL이고 속성 값의 크기가 변수가 아닌 고정됩니다. 이 매크로에 대한 자세한 내용은 Windows SDK 설명서를 참조하세요.

설명

속성 값의 크기가 고정이 아닌 변수인 경우 호출자는 매개 변수 pvValueNULL*pcbValue = 0을 사용하여 GetValue = 를 호출하여 필요한 버퍼 크기를 가져올 수 있습니다. 메서드는 필요한 버퍼 크기를 *pcbValue에 씁니다. 이 정보를 사용하면 호출자가 필요한 크기의 버퍼를 할당하고 GetValue 를 두 번째로 호출하여 속성 값을 가져올 수 있습니다.

호출자가 할당한 버퍼가 너무 작아 속성 값을 보유할 수 없는 경우 GetValue는 필요한 버퍼 크기를 *pcbValue에 쓰고 오류 상태 코드를 반환합니다. 이 경우 pvValue가 가리키는 버퍼에 아무 것도 기록하지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 devicetopology.h

추가 정보

IDeviceSpecificProperty 인터페이스