Structures de mise à jour d'attributs
Trois structures sont utilisées pour transmettre des informations sur les notifications de mise à jour d'attribut de paramètre.
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.