IDeviceSpecificProperty::GetValue 方法 (devicetopology.h)
GetValue 方法获取特定于设备的属性的当前值。
语法
HRESULT GetValue(
[out] void *pvValue,
DWORD *pcbValue
);
参数
[out] pvValue
指向调用方分配的缓冲区的指针,方法在其中写入属性值。
pcbValue
[inout]指向 DWORD 变量的指针,该变量指定属性值的大小(以字节为单位)。 在输入时, *印刷值 包含调用方分配的缓冲区的大小 (;如果 pvValue 为 NULL) ,则为 0。 在返回之前,方法会将写入缓冲区的实际大小写入缓冲区 (或所需大小(如果缓冲区太小或 pvValue 为 NULL) )。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
指针 “线路板值” 为 NULL。 |
|
参数 pvValue 指向的缓冲区太小,无法包含属性值,或者 pvValue 为 NULL ,属性值的大小是固定的,而不是变量。 有关此宏的信息,请参阅 Windows SDK 文档。 |
备注
如果属性值的大小是可变的而不是固定的,则调用方可以通过调用参数 pvValueNULL 且 *印刷值 = 0 的 GetValue = 来获取所需的缓冲区大小。 方法将所需的缓冲区大小写入 *pcbValue。 使用此信息,调用方可以分配所需大小的缓冲区,并再次调用 GetValue 以获取属性值。
如果调用方分配的缓冲区太小而无法保存属性值, 则 GetValue 会将所需的缓冲区大小写入 *印刷电路板值 ,并返回错误状态代码。 在这种情况下,它不会向 pvValue 指向的缓冲区写入任何内容。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | devicetopology.h |