Fungsi WsReadValue (webservices.h)
Membaca teks dari Pembaca dan mengurainya sesuai dengan jenis nilai yang ditentukan.
Pembaca membaca dari posisinya saat ini hingga elemen Mulai atau Akhir berikutnya dan mengurainya sesuai dengan jenis nilai yang ditentukan. Jika Pembaca sudah diposisikan pada elemen Mulai atau Akhir, buffer tetap kosong.
Komentar dilewati dan konten CDATA diperlakukan sama dengan konten elemen lainnya.
Spasi kosong di depan dan di belakang diabaikan. Jika nilai tidak dapat diurai sesuai dengan jenis nilai yang ditentukan, fungsi mengembalikan kode kesalahan WS_E_INVALID_FORMAT . (Lihat Nilai Pengembalian Windows Web Services.)
Sintaks
HRESULT WsReadValue(
[in] WS_XML_READER *reader,
[in] WS_VALUE_TYPE valueType,
void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
Parameter
[in] reader
Penunjuk ke Pembaca XML tempat nilai dibaca.
[in] valueType
Jenis interpretasi teks.
value
Penunjuk ke data yang diurai jika penguraian berhasil sesuai dengan jenis nilai yang ditentukan. Ukuran yang diperlukan ditentukan oleh jenis nilai. Lihat WS_VALUE_TYPE untuk informasi selengkapnya.
[in] valueSize
Ukuran byte dari nilai yang diambil.
[in, optional] error
Penunjuk ke objek WS_ERROR tempat informasi tambahan tentang kesalahan harus disimpan jika fungsi gagal.
Mengembalikan nilai
Fungsi ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Data input tidak dalam format yang diharapkan atau tidak memiliki nilai yang diharapkan. |
|
Kuota terlampaui. |
Keterangan
Contoh yang membaca elemen yang berisi nilai bilangan bulat.
// 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;
}
Tata bahasa untuk jenis nilai.
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?
Persyaratan
Klien minimum yang didukung | Windows 7 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | webservices.h |
Pustaka | WebServices.lib |
DLL | WebServices.dll |