IDeviceSpecificProperty::GetValue 메서드(devicetopology.h)
GetValue 메서드는 디바이스별 속성의 현재 값을 가져옵니다.
구문
HRESULT GetValue(
[out] void *pvValue,
DWORD *pcbValue
);
매개 변수
[out] pvValue
메서드가 속성 값을 쓰는 호출자가 할당한 버퍼에 대한 포인터입니다.
pcbValue
[inout] 속성 값의 크기(바이트)를 지정하는 DWORD 변수에 대한 포인터입니다. 항목에서 *pcbValue 에는 호출자가 할당한 버퍼의 크기가 포함됩니다(또는 pvValue 가 NULL인 경우 0). 반환하기 전에 메서드는 버퍼에 기록된 속성 값의 실제 크기(또는 버퍼가 너무 작거나 pvValue 가 NULL인 경우 필요한 크기)를 씁니다.
반환 값
메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드는 다음 표에 표시된 값을 포함하지만 이에 국한되지 않습니다.
반환 코드 | 설명 |
---|---|
|
포인터 pcbValue 가 NULL입니다. |
|
매개 변수 pvValue가 가리키는 버퍼가 너무 작아서 속성 값을 포함할 수 없거나 pvValue가 NULL이고 속성 값의 크기가 변수가 아닌 고정됩니다. 이 매크로에 대한 자세한 내용은 Windows SDK 설명서를 참조하세요. |
설명
속성 값의 크기가 고정이 아닌 변수인 경우 호출자는 매개 변수 pvValueNULL 및 *pcbValue = 0을 사용하여 GetValue = 를 호출하여 필요한 버퍼 크기를 가져올 수 있습니다. 메서드는 필요한 버퍼 크기를 *pcbValue에 씁니다. 이 정보를 사용하면 호출자가 필요한 크기의 버퍼를 할당하고 GetValue 를 두 번째로 호출하여 속성 값을 가져올 수 있습니다.
호출자가 할당한 버퍼가 너무 작아 속성 값을 보유할 수 없는 경우 GetValue는 필요한 버퍼 크기를 *pcbValue에 쓰고 오류 상태 코드를 반환합니다. 이 경우 pvValue가 가리키는 버퍼에 아무 것도 기록하지 않습니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | devicetopology.h |