010tagDUALSTRINGARRAY正确方法

版权声明:本人的作品仅供研究目的,如果读者利用本人的作品从事其他行为,与本人无关 https://blog.csdn.net/oShuangYue12/article/details/84991458
//------------------------------------------------
//--- 010 Editor v8.0.1 ¶þ½øÖÆÄ£°å
//
//      File: 
//   Authors: 
//   Version: 
//   Purpose: 
//  Category: 
// File Mask: 
//  ID Bytes: 
//   History: 
//------------------------------------------------

typedef struct GUID 
            {
              unsigned int Data1;
              unsigned ushort Data2;
              unsigned ushort Data3;
              byte Data4[8];            
            } IID;
 struct tagDUALSTRINGARRAY {
             local  short sizetp;
            local  short sizesec;
            local  int aNetworkAddrLen;
            local  int aPrincNameLen;
            unsigned int    wNumEntries0;
             unsigned short    wNumEntries;     
             unsigned short    wSecurityOffset;     
             sizetp=wSecurityOffset-2;
             sizesec=(wNumEntries-wSecurityOffset-1);
               Printf("wNumSTRINGBINDING is %d\n",sizetp);
                Printf("wNumSECURITYBINDING is %d\n",sizesec);
             
                  while(sizetp>0)
                  {
                struct tagSTRINGBINDING {
                  unsigned short    wTowerId;  
                  aNetworkAddrLen= ReadWStringLength(FTell());
                  Printf("aNetworkAddrLen is %d\n",aNetworkAddrLen);
                  char    aNetworkAddr[aNetworkAddrLen*2]; 
                   sizetp= sizetp-aNetworkAddrLen-1;
                 
                  } STRINGBINDING;
                  }

              
              byte nullterm1[2];
                while(sizesec>4)
                  {
                     struct tagSECURITYBINDING{
                    byte wAuthnSvc[2];
                    byte Reserved [2];
                    aPrincNameLen=ReadWStringLength(FTell());
                     Printf("aPrincNameLen is %d \n",aPrincNameLen);
                       char    aPrincName[aPrincNameLen*2]; 
                       sizesec=sizesec-2-aPrincNameLen;
                    }SECURITYBINDING;
                    }
               byte nullterm2[2];
 
            } DUALSTRINGARRAY ;


猜你喜欢

转载自blog.csdn.net/oShuangYue12/article/details/84991458