Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.5 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 1999-2000 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: ParseClass.h
  6. * Content: Class to perform parsing
  7. *
  8. *
  9. * History:
  10. * Date By Reason
  11. * ==== == ======
  12. * 12/02/99 jtk Derived from IPXEndpt.h
  13. ***************************************************************************/
  14. #ifndef __PARSE_CLASS_H__
  15. #define __PARSE_CLASS_H__
  16. //**********************************************************************
  17. // Constant definitions
  18. //**********************************************************************
  19. //**********************************************************************
  20. // Macro definitions
  21. //**********************************************************************
  22. //**********************************************************************
  23. // Structure definitions
  24. //**********************************************************************
  25. //
  26. // function prototype for parse callback
  27. //
  28. typedef HRESULT (*PPARSE_CALLBACK)( const void *const pAddressComponent,
  29. const DWORD dwComponentLength,
  30. const DWORD dwComponentType,
  31. void *const pContext );
  32. //
  33. // structure for parse key
  34. //
  35. typedef struct _PARSE_KEY
  36. {
  37. const WCHAR *pKey; // key name
  38. UINT_PTR uKeyLength; // length of key (without NULL!)
  39. void *pContext; // pointer to callback context
  40. PPARSE_CALLBACK pParseFunc; // callback when this key is encountered
  41. } PARSE_KEY, *PPARSE_KEY;
  42. //**********************************************************************
  43. // Variable definitions
  44. //**********************************************************************
  45. //**********************************************************************
  46. // Function prototypes
  47. //**********************************************************************
  48. //**********************************************************************
  49. // Class definitions
  50. //**********************************************************************
  51. //
  52. // class for command data
  53. //
  54. class CParseClass
  55. {
  56. public:
  57. CParseClass(){}
  58. ~CParseClass(){}
  59. static HRESULT ParseDP8Address( IDirectPlay8Address *const pDNAddress,
  60. const GUID *const pSPGuid,
  61. const PARSE_KEY *const pParseKeys,
  62. const UINT_PTR uParseKeyCount );
  63. protected:
  64. private:
  65. //
  66. // prevent unwarranted copies
  67. //
  68. CParseClass( const CParseClass & );
  69. CParseClass& operator=( const CParseClass & );
  70. };
  71. #endif // __PARSE_CLASS_H__