WS_ENUM_DESCRIPTION struttura (webservices.h)
Descrizione del tipo utilizzata con WS_ENUM_TYPE ed è necessaria. Fornisce informazioni usate per serializzare e deserializzare i valori di un'enumerazione.
Sintassi
typedef struct _WS_ENUM_DESCRIPTION {
WS_ENUM_VALUE *values;
ULONG valueCount;
ULONG maxByteCount;
ULONG *nameIndices;
} WS_ENUM_DESCRIPTION;
Members
values
Punta a una matrice di valori di enumerazione e ai relativi nomi corrispondenti.
Non devono essere presenti valori o nomi duplicati nella matrice.
valueCount
Numero di elementi nella matrice di valori.
maxByteCount
Lunghezza, in byte UTF8, del nome più lungo nella matrice dei valori.
nameIndices
Matrice facoltativa che fornisce informazioni che possono migliorare le prestazioni dei valori di enumerazione di mapping ai nomi e indietro. Questa matrice può essere NULL, nel qual caso viene usata una ricerca O(n), che può essere sufficiente per piccoli numeri di valori enumerati.
Se non null, è necessario che sia true:
- La matrice dei valori deve essere ordinata in base al valore, in ordine crescente.
- La matrice nameIndices punta a una matrice con elementi valueCount.
- La matrice nameIndices fornisce gli indici degli elementi nella matrice di valori come se fossero ordinati in base al nome in ordine crescente. I nomi devono essere ordinati eseguendo un confronto byte-wise della stringa utf-8.
Commenti
Gli esempi seguenti illustrano l'inizializzazione di una descrizione dell'enumerazione. In questo esempio viene illustrato l'uso del campo nameIndices, ma questo campo potrebbe essere NULL .
enum
{
Red = 10,
Green = 20,
Blue = 30,
};
WS_XML_STRING redString = WS_XML_STRING_VALUE("red");
WS_XML_STRING greenString = WS_XML_STRING_VALUE("green");
WS_XML_STRING blueString = WS_XML_STRING_VALUE("blue");
// sorted by ascending numeric value
WS_ENUM_VALUE valueArray[3] =
{
{ Red, &redString },
{ Green, &greenString },
{ Blue, &blueString },
};
// sorted by ascending name
ULONG nameIndices[3] =
{
2, // "blue"
1, // "green"
0, // "red"
};
WS_ENUM_DESCRIPTION enumDescription;
enumDescription.maxByteCount = 5; // "green"
enumDescription.values = valueArray;
enumDescription.valueCount = 3;
enumDescription.nameIndices = nameIndices;
Requisiti
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Intestazione | webservices.h |