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.

120 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. aawmi.h
  5. Abstract:
  6. Structures and definitions for WMI support in ATMARP Client.
  7. Revision History:
  8. Who When What
  9. -------- -------- ----------------------------------------------
  10. arvindm 12-17-97 Created
  11. Notes:
  12. --*/
  13. #ifndef _AAWMI__H
  14. #define _AAWMI__H
  15. #define ATMARP_MOF_RESOURCE_NAME L"AtmArpMofResource"
  16. #define ATMARP_WMI_VERSION 1
  17. //
  18. // Get a pointer to the ATMARP Interface structure from
  19. // the Device Extension field in a Device Object.
  20. //
  21. #define AA_PDO_TO_INTERFACE(_pDevObj) \
  22. (*(PATMARP_INTERFACE *)((_pDevObj)->DeviceExtension))
  23. //
  24. // A local smaller ID is used to simplify processing.
  25. //
  26. typedef ULONG ATMARP_GUID_ID;
  27. #define AAGID_QOS_TC_SUPPORTED ((ATMARP_GUID_ID)0)
  28. #define AAGID_QOS_TC_INTERFACE_UP_INDICATION ((ATMARP_GUID_ID)1)
  29. #define AAGID_QOS_TC_INTERFACE_DOWN_INDICATION ((ATMARP_GUID_ID)2)
  30. #define AAGID_QOS_TC_INTERFACE_CHG_INDICATION ((ATMARP_GUID_ID)3)
  31. typedef
  32. NTSTATUS
  33. (*PAA_WMI_QUERY_FUNCTION)(
  34. IN PATMARP_INTERFACE pInterface,
  35. IN ATMARP_GUID_ID MyId,
  36. OUT PVOID pOutputBuffer,
  37. IN ULONG BufferLength,
  38. OUT PULONG pBytesReturned,
  39. OUT PULONG pBytesNeeded
  40. );
  41. typedef
  42. NTSTATUS
  43. (*PAA_WMI_SET_FUNCTION)(
  44. IN PATMARP_INTERFACE pInterface,
  45. IN ATMARP_GUID_ID MyId,
  46. IN PVOID pInputBuffer,
  47. IN ULONG BufferLength,
  48. OUT PULONG pBytesWritten,
  49. OUT PULONG BytesNeeded
  50. );
  51. typedef
  52. VOID
  53. (*PAA_WMI_ENABLE_EVENT_FUNCTION)(
  54. IN PATMARP_INTERFACE pInterface,
  55. IN ATMARP_GUID_ID MyId,
  56. IN BOOLEAN bEnable
  57. );
  58. //
  59. // Info about each supported GUID.
  60. //
  61. typedef struct _ATMARP_WMI_GUID
  62. {
  63. ATMARP_GUID_ID MyId;
  64. GUID Guid;
  65. ULONG Flags;
  66. PAA_WMI_QUERY_FUNCTION QueryHandler;
  67. PAA_WMI_SET_FUNCTION SetHandler;
  68. PAA_WMI_ENABLE_EVENT_FUNCTION EnableEventHandler;
  69. } ATMARP_WMI_GUID, *PATMARP_WMI_GUID;
  70. //
  71. // Definitions of bits in Flags in ATMARP_WMI_GUID
  72. //
  73. #define AWGF_EVENT_ENABLED ((ULONG)0x00000001)
  74. #define AWGF_EVENT_DISABLED ((ULONG)0x00000000)
  75. #define AWGF_EVENT_MASK ((ULONG)0x00000001)
  76. //
  77. // Per-interface WMI information.
  78. //
  79. typedef struct _ATMARP_IF_WMI_INFO
  80. {
  81. NDIS_STRING InstanceName; // Instance name for all GUIDs
  82. // on this Interface.
  83. PDEVICE_OBJECT pDeviceObject;
  84. ULONG GuidCount; // # elements in array below.
  85. ATMARP_WMI_GUID GuidInfo[1];
  86. } ATMARP_IF_WMI_INFO, *PATMARP_IF_WMI_INFO;
  87. #endif _AA_WMI__H