Metodo IDeviceSpecificProperty::GetValue (devicetopology.h)

Il metodo GetValue ottiene il valore corrente della proprietà specifica del dispositivo.

Sintassi

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

Parametri

[out] pvValue

Puntatore a un buffer allocato dal chiamante in cui il metodo scrive il valore della proprietà.

pcbValue

[inout] Puntatore a una variabile DWORD che specifica le dimensioni in byte del valore della proprietà. Nella voce *pcbValue contiene le dimensioni del buffer allocato del chiamante (o 0 se pvValue è NULL). Prima di restituire, il metodo scrive le dimensioni effettive del valore della proprietà scritto nel buffer (o le dimensioni necessarie se il buffer è troppo piccolo o se pvValue è NULL).

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i codici restituiti possibili includono, ma non sono limitati a, i valori visualizzati nella tabella seguente.

Codice restituito Descrizione
E_POINTER
Pointer pcbValue è NULL.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
Il buffer a cui punta per parametro pvValue è troppo piccolo per contenere il valore della proprietà o pvValue è NULL e la dimensione del valore della proprietà è fissa anziché variabile. Per informazioni su questa macro, vedere la documentazione di Windows SDK.

Commenti

Se la dimensione del valore della proprietà è variabile anziché fissa, il chiamante può ottenere le dimensioni del buffer necessarie chiamando GetValue con parametro pvValue = NULL e *pcbValue = 0. Il metodo scrive le dimensioni del buffer necessarie in *pcbValue. Con queste informazioni, il chiamante può allocare un buffer delle dimensioni necessarie e chiamare GetValue una seconda volta per ottenere il valore della proprietà.

Se il buffer allocato dal chiamante è troppo piccolo per contenere il valore della proprietà, GetValue scrive le dimensioni del buffer necessarie in *pcbValue e restituisce un codice di stato di errore. In questo caso, non scrive nulla nel buffer puntato da pvValue.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione devicetopology.h

Vedi anche

Interfaccia IDeviceSpecificProperty