Compartir a través de


Método IDeviceSpecificProperty::GetValue (devicetopology.h)

El método GetValue obtiene el valor actual de la propiedad específica del dispositivo.

Sintaxis

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

Parámetros

[out] pvValue

Puntero a un búfer asignado por el autor de la llamada en el que el método escribe el valor de propiedad.

pcbValue

[inout] Puntero a una variable DWORD que especifica el tamaño en bytes del valor de propiedad. En la entrada, *pcbValue contiene el tamaño del búfer asignado por el autor de la llamada (o 0 si pvValue es NULL). Antes de devolverlo, el método escribe el tamaño real del valor de propiedad escrito en el búfer (o el tamaño necesario si el búfer es demasiado pequeño o si pvValue es NULL).

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_POINTER
El puntero pcbValue es NULL.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
El búfer al que apunta el parámetro pvValue es demasiado pequeño para contener el valor de la propiedad, o pvValue es NULL y el tamaño del valor de propiedad es fijo en lugar de variable. Para obtener información sobre esta macro, consulte la documentación de Windows SDK.

Comentarios

Si el tamaño del valor de la propiedad es variable en lugar de fijo, el autor de la llamada puede obtener el tamaño de búfer necesario llamando a GetValue con el parámetro pvValue = NULL y *pcbValue = 0. El método escribe el tamaño de búfer necesario en *pcbValue. Con esta información, el autor de la llamada puede asignar un búfer del tamaño necesario y llamar a GetValue una segunda vez para obtener el valor de la propiedad.

Si el búfer asignado por el autor de la llamada es demasiado pequeño para contener el valor de la propiedad, GetValue escribe el tamaño de búfer necesario en *pcbValue y devuelve un código de estado de error. En este caso, no escribe nada en el búfer señalado por pvValue.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado devicetopology.h

Consulte también

IDeviceSpecificProperty (Interfaz)