Source code of Windows XP (NT5)
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.

98 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. PiProfile.h
  5. Abstract:
  6. This header contains private prototypes for managing docking stations.
  7. This file should be included only by PpProfile.c.
  8. Author:
  9. Adrian J. Oney (AdriaO) 07/19/2000
  10. Revision History:
  11. --*/
  12. #if DBG
  13. #define ASSERT_SEMA_NOT_SIGNALLED(SemaphoreObject) \
  14. ASSERT(KeReadStateSemaphore(SemaphoreObject) == 0)
  15. #else // DBG
  16. #define ASSERT_SEMA_NOT_SIGNALLED(SemaphoreObject)
  17. #endif // DBG
  18. typedef struct {
  19. ULONG Depth;
  20. PDEVICE_OBJECT PhysicalDeviceObject;
  21. } BEST_DOCK_TO_EJECT, *PBEST_DOCK_TO_EJECT;
  22. VOID
  23. PiProfileSendHardwareProfileCommit(
  24. VOID
  25. );
  26. VOID
  27. PiProfileSendHardwareProfileCancel(
  28. VOID
  29. );
  30. NTSTATUS
  31. PiProfileUpdateHardwareProfile(
  32. OUT BOOLEAN *ProfileChanged
  33. );
  34. NTSTATUS
  35. PiProfileRetrievePreferredCallback(
  36. IN PDEVICE_NODE DeviceNode,
  37. IN PVOID Context
  38. );
  39. PDEVICE_NODE
  40. PiProfileConvertFakeDockToRealDock(
  41. IN PDEVICE_NODE FakeDockDevnode
  42. );
  43. NTSTATUS
  44. PiProfileUpdateDeviceTree(
  45. VOID
  46. );
  47. VOID
  48. PiProfileUpdateDeviceTreeWorker(
  49. IN PVOID Context
  50. );
  51. NTSTATUS
  52. PiProfileUpdateDeviceTreeCallback(
  53. IN PDEVICE_NODE DeviceNode,
  54. IN PVOID Context
  55. );
  56. //
  57. // Functions not yet ported from dockhwp.c
  58. //
  59. NTSTATUS
  60. IopExecuteHardwareProfileChange(
  61. IN HARDWARE_PROFILE_BUS_TYPE Bus,
  62. IN PWCHAR * ProfileSerialNumbers,
  63. IN ULONG SerialNumbersCount,
  64. OUT PHANDLE NewProfile,
  65. OUT PBOOLEAN ProfileChanged
  66. );
  67. NTSTATUS
  68. IopExecuteHwpDefaultSelect (
  69. IN PCM_HARDWARE_PROFILE_LIST ProfileList,
  70. OUT PULONG ProfileIndexToUse,
  71. IN PVOID Context
  72. );