Le contenu des structures doit être décodé en commençant au début du tableau d'octets reçu. Utilisez les informations de taille contenues dans les différents éléments pour parcourir le message jusqu'à ce que toutes
les données soient traitées.
1
typedef struct |
|
{ |
|
|
RecHdrDef hdr; |
|
|
long lAttribCount; |
|
|
AttribDef aAttribs[1]; |
|
} AttributesRecDef; |
|
• |
RecHdrDef: C'est l'identification de la structure actuelle. (hdr.usRecID = 12) |
|
• |
lAttribCount: C'est le nombre de mises à jour des attributs contenus dans la structure actuelle. |
|
• |
aAttribs[1]: Ceci est un espace réservé fictif. La taille de ce champ dépend du nombre de mises à jours des attributs contenus dans le message et de la taille de chaque attribut
mis à jour. |
2
typedef struct |
|
{ |
|
|
long lCookie; |
|
|
STRDef sAttributeName; |
|
|
long lAttributeLen; |
|
|
BYTE aAttribute[1]; |
|
} AttribDef; |
|
• |
lCookie: C'est l'identification du paramètre actuel. La valeur est renvoyée à partir de la notification de paramètre Start. |
|
• |
sAttributeName: C'est le nom de l’attribut actuel. |
|
• |
lAttributeLen: Il s'agit de la taille du tableau d'octets de données d’attributs ci-dessous. |
|
• |
aAttribute[1]: C'est le tableau d'octets contenant la valeur de l’attribut mis à jour. Le client doit pouvoir faire correspondre ce tableau
d'octets au type de données réel de l'attribut. Cela peut être fait soit en codant de manière irréversible avec des informations sur la taille du paramètre, soit en demandant
des informations sur les paramètres au serveur. |
3
typedef struct |
|
{ |
|
|
long lStrLen; |
|
|
char aStr[1]; |
|
} STRDef; |
|
• |
lStrLen: Il s'agit de la taille du tableau de caractères ci-dessous. |
|
• |
aStr[1]: Ce sont les données de chaîne réelles. |