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.

110 lines
4.9 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. pnpmgr.h
  5. Abstract:
  6. Internal definitions used by kernel-mode and user-mode pnp managers.
  7. Author:
  8. Paula Tomlinson (paulat) 06-Feb-1997
  9. Revision History:
  10. --*/
  11. #ifndef _PNPMGR_
  12. #define _PNPMGR_
  13. //
  14. // Make sure that stardand defines (everything but guids, basically), don't
  15. // get included twice.
  16. //
  17. //
  18. // This controls how long we wait (in milliseconds) for an app
  19. // to respond to a query type device change message.
  20. //
  21. #define PNP_NOTIFY_TIMEOUT 30000 // 30 seconds
  22. //
  23. // The following are Windows NT specific registry keys that both the
  24. // user-mode pnp manager and kernel-mode pnp manager need to access.
  25. //
  26. #define REGSTR_KEY_DELETEDDEVICE TEXT("Deleted Device IDs")
  27. #define REGSTR_KEY_LOGCONF TEXT("LogConf")
  28. #define REGSTR_KEY_DEVICECONTROL TEXT("Control")
  29. #define REGSTR_KEY_CURRENT_DOCK_INFO TEXT("CurrentDockInfo")
  30. #define REGSTR_VAL_Count TEXT("Count") // add REGSTR_VALUE_COUNT;
  31. #define REGSTR_VAL_MOVEDTO TEXT("MovedTo") // add REGSTR_VAL_MOVEDTO;
  32. #define REGSTR_VAL_PNPSERVICETYPE TEXT("PlugPlayServiceType")
  33. #define REGSTR_VAL_BOOTCONFIG TEXT("BootConfig")
  34. #define REGSTR_VAL_ALLOCCONFIG TEXT("AllocConfig")
  35. #define REGSTR_VAL_FORCEDCONFIG TEXT("ForcedConfig")
  36. #define REGSTR_VAL_OVERRIDECONFIGVECTOR TEXT("OverrideConfigVector")
  37. #define REGSTR_VAL_BASICCONFIGVECTOR TEXT("BasicConfigVector")
  38. #define REGSTR_VAL_FILTEREDCONFIGVECTOR TEXT("FilteredConfigVector")
  39. #define REGSTR_VAL_ACTIVESERVICE TEXT("ActiveService")
  40. #define REGSTR_VAL_PHANTOM TEXT("Phantom")
  41. #define REGSTR_VAL_FIRMWAREIDENTIFIED TEXT("FirmwareIdentified")
  42. #define REGSTR_VAL_FIRMWAREMEMBER TEXT("FirmwareMember")
  43. #define REGSTR_VAL_EJECTABLE_DOCKS TEXT("EjectableDocks")
  44. #define REGSTR_VALUE_UNIQUE_PARENT_ID TEXT("UniqueParentID")
  45. #define REGSTR_VALUE_PARENT_ID_PREFIX TEXT("ParentIdPrefix")
  46. #define REGSTR_VAL_PRESERVE_PREINSTALL TEXT("PreservePreInstall")
  47. //
  48. // Device description to be displayed by newdev during server-side device
  49. // installation (this value entry is located in the device's hardware key).
  50. //
  51. #define REGSTR_VAL_NEW_DEVICE_DESC TEXT("NewDeviceDesc")
  52. //
  53. // Maximum length for the name of a component that has vetoed a pnp
  54. // notification event.
  55. //
  56. #define MAX_VETO_NAME_LENGTH 512
  57. #endif // _PNPMGR_
  58. #ifndef FAR
  59. #define FAR
  60. #endif
  61. //
  62. // Private device events
  63. //
  64. DEFINE_GUID( GUID_DEVICE_ARRIVAL, 0xcb3a4009L, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  65. DEFINE_GUID( GUID_DEVICE_ENUMERATED, 0xcb3a400AL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  66. DEFINE_GUID( GUID_DEVICE_ENUMERATE_REQUEST, 0xcb3a400BL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  67. DEFINE_GUID( GUID_DEVICE_START_REQUEST, 0xcb3a400CL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  68. DEFINE_GUID( GUID_DEVICE_REMOVE_PENDING, 0xcb3a400DL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  69. DEFINE_GUID( GUID_DEVICE_QUERY_AND_REMOVE, 0xcb3a400EL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  70. DEFINE_GUID( GUID_DEVICE_EJECT, 0xcb3a400FL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  71. DEFINE_GUID( GUID_DEVICE_NOOP, 0xcb3a4010L, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
  72. DEFINE_GUID( GUID_DEVICE_SURPRISE_REMOVAL, 0xce5af000L, 0x80dd, 0x11d2, 0xa8, 0x8d, 0x00, 0xa0, 0xc9, 0x69, 0x6b, 0x4b);
  73. DEFINE_GUID( GUID_DEVICE_SAFE_REMOVAL, 0x8fbef967L, 0xd6c5, 0x11d2, 0x97, 0xb5, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  74. DEFINE_GUID( GUID_DEVICE_EJECT_VETOED, 0xcf7b71e8L, 0xd8fd, 0x11d2, 0x97, 0xb5, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  75. DEFINE_GUID( GUID_DEVICE_REMOVAL_VETOED, 0x60dbd5faL, 0xddd2, 0x11d2, 0x97, 0xb8, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  76. DEFINE_GUID( GUID_DEVICE_WARM_EJECT_VETOED, 0xcbf4c1f9L, 0x18d5, 0x11d3, 0x97, 0xdb, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  77. DEFINE_GUID( GUID_DEVICE_STANDBY_VETOED, 0x03b21c13L, 0x18d6, 0x11d3, 0x97, 0xdb, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  78. DEFINE_GUID( GUID_DEVICE_HIBERNATE_VETOED, 0x61173ad9L, 0x194f, 0x11d3, 0x97, 0xdc, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  79. DEFINE_GUID( GUID_DEVICE_KERNEL_INITIATED_EJECT, 0x14689b54L, 0x0703, 0x11d3, 0x97, 0xd2, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
  80. DEFINE_GUID( GUID_DEVICE_INVALID_ID, 0x57a49b33L, 0x8b85, 0x4e75, 0xa0, 0x81, 0x16, 0x6c, 0xe2, 0x41, 0xf4, 0x07);
  81. //
  82. // Private driver events
  83. //
  84. DEFINE_GUID( GUID_DRIVER_BLOCKED, 0x1bc87a21L, 0xa3ff, 0x47a6, 0x96, 0xaa, 0x6d, 0x01, 0x09, 0x06, 0x80, 0x5a);