WsReadValue, fonction (webservices.h)
Lit le texte d’un lecteur et l’analyse en fonction du type de valeur spécifié.
Le lecteur lit de sa position actuelle jusqu’à l’élément Start ou End suivant et les analyse en fonction du type de valeur spécifié. Si le lecteur est déjà positionné sur un élément Start ou End, la mémoire tampon reste vide.
Les commentaires sont ignorés et le contenu CDATA est traité de la même façon que le contenu des autres éléments.
Les espaces blancs de début et de fin sont ignorés. Si la valeur ne peut pas être analysée selon le type de valeur spécifié, la fonction retourne un code d’erreur WS_E_INVALID_FORMAT . (Voir Valeurs de retour des services Web Windows.)
Syntaxe
HRESULT WsReadValue(
[in] WS_XML_READER *reader,
[in] WS_VALUE_TYPE valueType,
void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
Paramètres
[in] reader
Pointeur vers le lecteur XML à partir duquel la valeur est lue.
[in] valueType
Type d’interprétation de texte.
value
Pointeur vers les données analysées si l’analyse a réussi en fonction du type de valeur spécifié. La taille requise est déterminée par le type de valeur. Pour plus d’informations, consultez WS_VALUE_TYPE .
[in] valueSize
Taille en octets de la valeur récupérée.
[in, optional] error
Pointeur vers un objet WS_ERROR où des informations supplémentaires sur l’erreur doivent être stockées en cas d’échec de la fonction.
Valeur retournée
Cette fonction peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
|
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue. |
|
Un quota a été dépassé. |
Remarques
Exemple qui lit un élément contenant une valeur entière.
// Advance the reader to the element
HRESULT hr = WsReadToStartElement(reader, localName, ns, NULL, error);
if (FAILED(hr))
{
return hr;
}
// Advance past the element to the content
hr = WsReadStartElement(reader, error);
if (FAILED(hr))
{
return hr;
}
// Read the content as an integer
__int32 i;
hr = WsReadValue(reader, WS_INT32_VALUE_TYPE, &i, sizeof(i), error);
if (FAILED(hr))
{
return hr;
}
// Read the end element
hr = WsReadEndElement(reader, error);
if (FAILED(hr))
{
return hr;
}
Grammaire des types de valeurs.
WS_BOOL_VALUE_TYPE = "true"
| "false"
| "1"
| "0"
WS_INTxxx_VALUE_TYPE = sign? digits
WS_UINTxxx_VALUE_TYPE = digits
WS_FLOAT_VALUE_TYPE = WS_DOUBLE_VALUE_TYPE
WS_DOUBLE_VALUE_TYPE = sign? digits ("." digits)? exponent?
| "NaN"
| "INF"
| "-INF"
WS_DECIMAL_VALUE_TYPE = sign? digits ("." digits)?
WS_GUID_VALUE_TYPE = xxxxxxxx "-" xxxx "-" xxxx "-" xxxx "-" xxxxxxxxxxxx
WS_TIMESPAN_VALUE_TYPE = sign? (digits ".")? hh ":" mm ":" ss ("." d7)?
WS_DATETIME_VALUE_TYPE = yyyy "-" MM "-" dd "T" hh ":" mm ":" ss ("." d7)? tz?
WS_DURATION_VALUE_TYPE = sign? "P" (digits "Y") (digits "M")? (digits "D")?
| sign? "P" (digits "Y")? (digits "M")? (digits "D")?
| sign? "P" (digits "Y")? (digits "M")? (digits "D")
| sign? "P" (digits "Y")? (digits "M")? (digits "D")? "T" (digits "H") (digits "M")? (digits ("." digits)? "S")?
| sign? "P" (digits "Y")? (digits "M")? (digits "D")? "T" (digits "H")? (digits "M") (digits ("." digits)? "S")?
| sign? "P" (digits "Y")? (digits "M")? (digits "D")? "T" (digits "H")? (digits "M")? (digits ("." digits)? "S")
sign = "-"
| "+"
exponent = E sign? digits
| e sign? digits
digits = [0-9]+
x = [0-9]
| [A-F]
| [a-f]
yyyy = 1-9999
hh = 0-23
mm = 0-59
ss = 0-59
MM = 1-31
tz = "Z"
| sign hh ":" mm
d7 = digit digit? digit? digit? digit? digit? digit?
Configuration requise
Client minimal pris en charge | Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | webservices.h |
Bibliothèque | WebServices.lib |
DLL | WebServices.dll |