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.

81 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. mountdev.h
  5. Abstract:
  6. This file defines the private interfaces between the mount point manager
  7. and the mounted devices.
  8. Author:
  9. norbertk
  10. Revision History:
  11. --*/
  12. #ifndef _MOUNTDEV_
  13. #define _MOUNTDEV_
  14. #include <mountmgr.h>
  15. #define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
  16. #define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
  17. #define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
  18. #define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
  19. #define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
  20. #define IOCTL_MOUNTDEV_QUERY_STABLE_GUID CTL_CODE(MOUNTDEVCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
  21. //
  22. // Output structure for IOCTL_MOUNTDEV_QUERY_UNIQUE_ID.
  23. // Input structure for IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY.
  24. //
  25. typedef struct _MOUNTDEV_UNIQUE_ID {
  26. USHORT UniqueIdLength;
  27. UCHAR UniqueId[1];
  28. } MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
  29. //
  30. // Output structure for IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY.
  31. //
  32. typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
  33. ULONG Size;
  34. USHORT OldUniqueIdOffset;
  35. USHORT OldUniqueIdLength;
  36. USHORT NewUniqueIdOffset;
  37. USHORT NewUniqueIdLength;
  38. } MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT, *PMOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
  39. //
  40. // MOUNTDEV_NAME
  41. //
  42. // Input structure for IOCTL_MOUNTDEV_LINK_CREATED.
  43. // Input structure for IOCTL_MOUNTDEV_LINK_DELETED.
  44. //
  45. //
  46. // Output structure for IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME
  47. //
  48. typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
  49. BOOLEAN UseOnlyIfThereAreNoOtherLinks;
  50. USHORT NameLength;
  51. WCHAR Name[1];
  52. } MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
  53. //
  54. // Output structure for IOCTL_MOUNTDEV_QUERY_STABLE_GUID.
  55. //
  56. typedef struct _MOUNTDEV_STABLE_GUID {
  57. GUID StableGuid;
  58. } MOUNTDEV_STABLE_GUID, *PMOUNTDEV_STABLE_GUID;
  59. #endif