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.

109 lines
3.5 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 2000-2002 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: Enum.h
  6. * Content: Enumeration Header File
  7. *@@BEGIN_MSINTERNAL
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 04/10/00 mjn Created
  12. * 04/17/00 mjn Replaced BUFFERDESC with DPN_BUFFER_DESC
  13. * 07/10/00 mjn Removed DNCompleteEnumQuery() and DNCompleteEnumResponse()
  14. * 07/11/00 mjn Added fields to DN_ENUM_QUERY
  15. *@@END_MSINTERNAL
  16. *
  17. ***************************************************************************/
  18. #ifndef __ENUMHOSTS_H__
  19. #define __ENUMHOSTS_H__
  20. //**********************************************************************
  21. // Constant definitions
  22. //**********************************************************************
  23. #define DN_ENUM_QUERY_WITH_APPLICATION_GUID 0x01
  24. #define DN_ENUM_QUERY_WITHOUT_APPLICATION_GUID 0x02
  25. #define DN_ENUM_BUFFERDESC_QUERY_SP_RESERVED 0
  26. #define DN_ENUM_BUFFERDESC_QUERY_DN_PAYLOAD 1
  27. #define DN_ENUM_BUFFERDESC_QUERY_USER_PAYLOAD 2
  28. #define DN_ENUM_BUFFERDESC_QUERY_COUNT 2
  29. #define DN_ENUM_BUFFERDESC_RESPONSE_SP_RESERVED 0
  30. #define DN_ENUM_BUFFERDESC_RESPONSE_DN_PAYLOAD 1
  31. #define DN_ENUM_BUFFERDESC_RESPONSE_USER_PAYLOAD 2
  32. #define DN_ENUM_BUFFERDESC_RESPONSE_COUNT 2
  33. //**********************************************************************
  34. // Macro definitions
  35. //**********************************************************************
  36. //**********************************************************************
  37. // Structure definitions
  38. //**********************************************************************
  39. #pragma pack( push, 1 )
  40. typedef struct _DN_ENUM_QUERY_PAYLOAD
  41. {
  42. BYTE QueryType;
  43. GUID guidApplication;
  44. } DN_ENUM_QUERY_PAYLOAD;
  45. typedef struct _DN_ENUM_RESPONSE_PAYLOAD
  46. {
  47. DWORD dwResponseOffset;
  48. DWORD dwResponseSize;
  49. } DN_ENUM_RESPONSE_PAYLOAD;
  50. #pragma pack( pop )
  51. typedef struct _DN_ENUM_QUERY_OP_DATA
  52. {
  53. #ifndef DPNBUILD_ONLYONEADAPTER
  54. DWORD dwNumAdapters;
  55. DWORD dwCurrentAdapter;
  56. #endif // ! DPNBUILD_ONLYONEADAPTER
  57. DWORD dwRetryCount;
  58. DWORD dwRetryInterval;
  59. DWORD dwTimeOut;
  60. DN_ENUM_QUERY_PAYLOAD EnumQueryPayload;
  61. DPN_BUFFER_DESC BufferDesc[3];
  62. DWORD dwBufferCount;
  63. DWORD dwAppDescReservedDataSize;
  64. BYTE AppDescReservedData[DPN_MAX_APPDESC_RESERVEDDATA_SIZE];
  65. } DN_ENUM_QUERY_OP_DATA;
  66. typedef struct _DN_ENUM_RESPONSE_OP_DATA
  67. {
  68. DN_ENUM_RESPONSE_PAYLOAD EnumResponsePayload;
  69. DPN_BUFFER_DESC BufferDesc[3];
  70. void *pvUserContext;
  71. } DN_ENUM_RESPONSE_OP_DATA;
  72. typedef struct _DIRECTNETOBJECT DIRECTNETOBJECT;
  73. class CAsyncOp;
  74. //**********************************************************************
  75. // Variable definitions
  76. //**********************************************************************
  77. //**********************************************************************
  78. // Function prototypes
  79. //**********************************************************************
  80. void DNProcessEnumQuery(DIRECTNETOBJECT *const pdnObject,
  81. CAsyncOp *const pAsyncOp,
  82. const PROTOCOL_ENUM_DATA *const pEnumQueryData );
  83. void DNProcessEnumResponse(DIRECTNETOBJECT *const pdnObject,
  84. CAsyncOp *const pAsyncOp,
  85. const PROTOCOL_ENUM_RESPONSE_DATA *const pEnumResponseData);
  86. //**********************************************************************
  87. // Class prototypes
  88. //**********************************************************************
  89. #endif // __ENUMHOSTS_H__