Partager via


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

La méthode GetValue obtient la valeur actuelle de la propriété spécifique à l’appareil.

Syntaxe

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

Paramètres

[out] pvValue

Pointeur vers une mémoire tampon allouée par l’appelant dans laquelle la méthode écrit la valeur de propriété.

pcbValue

[inout] Pointeur vers une variable DWORD qui spécifie la taille en octets de la valeur de propriété. Lors de l’entrée, *pcbValue contient la taille de la mémoire tampon allouée à l’appelant (ou 0 si pvValue a la valeur NULL). Avant de retourner, la méthode écrit la taille réelle de la valeur de propriété écrite dans la mémoire tampon (ou la taille requise si la mémoire tampon est trop petite ou si pvValue a la valeur NULL).

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_POINTER
Le pointeur pcbValue a la valeur NULL.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
La mémoire tampon pointée par le paramètre pvValue est trop petite pour contenir la valeur de propriété, ou pvValue a la valeur NULL et la taille de la valeur de propriété est fixe plutôt que variable. Pour plus d’informations sur cette macro, consultez la documentation du Kit de développement logiciel (SDK) Windows.

Notes

Si la taille de la valeur de la propriété est variable plutôt que fixe, l’appelant peut obtenir la taille de mémoire tampon requise en appelant GetValue avec le paramètre pvValue = NULL et *pcbValue = 0. La méthode écrit la taille de mémoire tampon requise dans *pcbValue. Avec ces informations, l’appelant peut allouer une mémoire tampon de la taille requise et appeler GetValue une deuxième fois pour obtenir la valeur de propriété.

Si la mémoire tampon allouée à l’appelant est trop petite pour contenir la valeur de propriété, GetValue écrit la taille de mémoire tampon requise dans *pcbValue et retourne une erreur status code. Dans ce cas, il n’écrit rien dans la mémoire tampon pointée par pvValue.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête devicetopology.h

Voir aussi

IDeviceSpecificProperty, interface