home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / adsi / sampprov / parse.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-29  |  1.6 KB  |  99 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     Parse.h
  8.  
  9. Abstract:
  10.  
  11. Author:
  12.  
  13. Environment:
  14.  
  15.     User mode
  16.  
  17. Revision History :
  18.  
  19. --*/
  20. #ifndef _PARSE_H_
  21. #define _PARSE_H_
  22.  
  23. #define MAX_TOKEN_LENGTH       80
  24. #define MAX_KEYWORDS           14
  25.  
  26. typedef struct _kwdlist {
  27.     DWORD   dwTokenId;
  28.     LPWSTR  Keyword;
  29. } KWDLIST, *PKWDLIST;
  30.  
  31. class FAR CLexer
  32. {
  33. public:
  34.     CLexer(LPWSTR szBuffer);
  35.     ~CLexer();
  36.  
  37.     BOOL
  38.     CLexer::IsKeyword(LPWSTR szToken, LPDWORD pdwToken);
  39.  
  40.     WCHAR
  41.     CLexer::NextChar();
  42.  
  43.     void
  44.     CLexer::PushbackChar();
  45.  
  46.     HRESULT
  47.     CLexer::GetNextToken(LPWSTR szToken, LPDWORD pdwToken);
  48.  
  49.     HRESULT
  50.     CLexer::PushBackToken();
  51.  
  52. private:
  53.  
  54.     LPWSTR _ptr;
  55.     LPWSTR _Buffer;
  56.     DWORD  _dwLastTokenLength;
  57.     DWORD  _dwLastToken;
  58.     DWORD  _dwEndofString;
  59.  
  60. };
  61.  
  62. HRESULT
  63. ADsObject(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  64.  
  65. HRESULT
  66. SampleDSObject(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  67.  
  68.  
  69. HRESULT
  70. DsPathName(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  71.  
  72.  
  73. HRESULT
  74. PathName(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  75.  
  76. HRESULT
  77. Component(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  78.  
  79. HRESULT
  80. Type(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  81.  
  82. HRESULT
  83. ProviderName(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  84.  
  85. HRESULT
  86. AddRootRDN(POBJECTINFO pObjectInfo, LPWSTR szToken);
  87.  
  88. HRESULT
  89. SetType(POBJECTINFO pObjectInfo, DWORD dwToken);
  90.  
  91. HRESULT
  92. SchemaPathName(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  93.  
  94. HRESULT
  95. SchemaComponent(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
  96.  
  97. #endif
  98.  
  99.