Partager via


structure WS_XML_DICTIONARY (webservices.h)

Représente un ensemble de chaînes uniques. Ces informations sont utilisées par l’encodage binaire pour écrire un document xml plus compact.

Syntaxe

typedef struct _WS_XML_DICTIONARY {
  GUID          guid;
  WS_XML_STRING *strings;
  ULONG         stringCount;
  BOOL          isConst;
} WS_XML_DICTIONARY;

Membres

guid

Guid qui identifie de manière unique l’ensemble de chaînes représenté par le dictionnaire. Le guid n’est jamais transmis ou conservé, et ne doit être unique que pendant la durée de vie du processus.

strings

Ensemble de chaînes uniques qui composent le dictionnaire.

stringCount

Spécifie le nombre de chaînes dans le dictionnaire.

isConst

Indique si le dictionnaire et son contenu sont déclarés const et qu’ils seront conservés valides pendant toute la durée de vie de tout objet avec lequel les chaînes du dictionnaire sont utilisées.

Si cette valeur est TRUE, les chaînes peuvent être manipulées plus efficacement.

Remarques

Toutes les chaînes et valeurs d’un dictionnaire doivent être uniques. Les dictionnaires étant toujours supposés être bien formés, il incombe donc au créateur du dictionnaire de s’assurer que c’est bien le cas.

Un dictionnaire peut être déclaré comme suit :

struct PurchaseOrderDictionary
{
    WS_XML_DICTIONARY dictionary;
    WS_XML_STRING quantity;
    WS_XML_STRING productName;
    WS_XML_STRING purchaseOrder;
    WS_XML_STRING purchaseOrderNamespace;
};

static PurchaseOrderDictionary purchaseOrderDictionary =
{
    { 
        { /* A unique GUID generated from uuidgen */ },
        &purchaseOrderDictionary.quantity,
        4, 
        TRUE 
    },
    WS_XML_STRING_DICTIONARY_VALUE("Quantity",           &purchaseOrderDictionary.dictionary, 0),
    WS_XML_STRING_DICTIONARY_VALUE("ProductName",        &purchaseOrderDictionary.dictionary, 1),
    WS_XML_STRING_DICTIONARY_VALUE("PurchaseOrder",      &purchaseOrderDictionary.dictionary, 2),
    WS_XML_STRING_DICTIONARY_VALUE("http://example.com", &purchaseOrderDictionary.dictionary, 3),
};

Les chaînes du dictionnaire peuvent être utilisées comme suit :

WsWriteStartElement(xmlWriter, NULL, &purchaseOrderDictionary.purchaseOrder, &purchaseOrderDictionary.purchaseOrderNamespace, error);

Configuration requise

Condition requise Valeur
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]
En-tête webservices.h