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.

85 lines
2.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (c) Microsoft Corporation. All rights reserved.
  6. //
  7. // File: volprop.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #ifndef VOLPROP_H
  11. #define VOLPROP_H
  12. #include <setupapi.h>
  13. // PROPERTY_PAGE_DATA is used to communicated data between this property page
  14. // provider and Logical Disk Management.
  15. //
  16. #define SIZE_LENGTH 100 // make them big enough to avoid
  17. #define ITEM_LENGTH 100 // localization problem
  18. #define LABEL_LENGTH 100
  19. typedef struct _VOLUME_DATA {
  20. TCHAR Size[SIZE_LENGTH];
  21. TCHAR Label[LABEL_LENGTH]; // ISSUE: what is the max size?
  22. TCHAR *MountName;
  23. } VOLUME_DATA, *PVOLUME_DATA;
  24. typedef struct _PROPERTY_PAGE_DATA {
  25. TCHAR DiskName[ITEM_LENGTH]; // ISSUE: what are the max sizes? e.g "CDROM 1000".
  26. TCHAR DiskStatus[ITEM_LENGTH]; // "Unknown, Online, Offline, etc"
  27. TCHAR DiskType[ITEM_LENGTH]; // "Basic, Dynamic"
  28. TCHAR DiskPartitionStyle[ITEM_LENGTH];
  29. TCHAR DiskCapacity[SIZE_LENGTH]; // "1500 GB", "1500 MB"
  30. TCHAR DiskFreeSpace[SIZE_LENGTH];
  31. TCHAR DiskReservedSpace[SIZE_LENGTH];
  32. HANDLE ImageList;
  33. int VolumeCount;
  34. VOLUME_DATA VolumeArray[1];
  35. } PROPERTY_PAGE_DATA, *PPROPERTY_PAGE_DATA;
  36. typedef struct _VOLUME_PAGE_DATA {
  37. HDEVINFO DeviceInfoSet;
  38. PSP_DEVINFO_DATA DeviceInfoData;
  39. BOOL bIsLocalMachine;
  40. BOOL bInvokedByDiskmgr;
  41. TCHAR MachineName[MAX_COMPUTERNAME_LENGTH+3];
  42. TCHAR DeviceInstanceId[MAX_DEVICE_ID_LEN];
  43. PPROPERTY_PAGE_DATA pPropertyPageData;
  44. } VOLUME_PAGE_DATA, *PVOLUME_PAGE_DATA;
  45. // IsRequestPending() is exported from dmdskmgr.dll
  46. //
  47. typedef BOOL (WINAPI *IS_REQUEST_PENDING)();
  48. // GetPropertyPageData() is exported from dmdskmgr.dll.
  49. //
  50. typedef PPROPERTY_PAGE_DATA (WINAPI *GET_PROPERTY_PAGE_DATA)(
  51. TCHAR *MachineName,
  52. TCHAR *DeviceInstanceId
  53. );
  54. // LoadPropertyPageData() is exported from dmdskmgr.dll
  55. //
  56. typedef PPROPERTY_PAGE_DATA (WINAPI *LOAD_PROPERTY_PAGE_DATA)(
  57. TCHAR *MachineName,
  58. HDEVINFO DeviceInfoSet,
  59. PSP_DEVINFO_DATA DeviceInfoData
  60. );
  61. INT_PTR
  62. VolumeDialogProc(HWND hWnd,
  63. UINT Message,
  64. WPARAM wParam,
  65. LPARAM lParam);
  66. BOOL
  67. VolumeDialogCallback(
  68. HWND HWnd,
  69. UINT Message,
  70. LPPROPSHEETPAGE Page
  71. );
  72. #endif