Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

volmgr.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1997 Microsoft Corporation 00004 00005 Module Name: 00006 00007 volmgr.h 00008 00009 Abstract: 00010 00011 This file defines the services supplied by the volume managers. 00012 00013 Author: 00014 00015 norbertk 00016 00017 Revision History: 00018 00019 --*/ 00020 00021 #ifndef _VOLMGR_ 00022 #define _VOLMGR_ 00023 00024 #define VOLMGRCONTROLTYPE ((ULONG) 'v') 00025 00026 #define IOCTL_INTERNAL_VOLMGR_PARTITION_ARRIVED CTL_CODE(VOLMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS) 00027 #define IOCTL_INTERNAL_VOLMGR_PARTITION_REMOVED CTL_CODE(VOLMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) 00028 #define IOCTL_INTERNAL_VOLMGR_WHOLE_DISK_REMOVED CTL_CODE(VOLMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) 00029 #define IOCTL_INTERNAL_VOLMGR_REFERENCE_DEPENDANT_VOLUMES CTL_CODE(VOLMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS) 00030 #define IOCTL_INTERNAL_VOLMGR_LEGACY_PARTITION_ARRIVED CTL_CODE(VOLMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) 00031 #define IOCTL_INTERNAL_VOLMGR_LEGACY_PARTITION_REMOVED CTL_CODE(VOLMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS) 00032 #define IOCTL_INTERNAL_VOLMGR_QUERY_CHANGE_PARTITION CTL_CODE(VOLMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) 00033 #define IOCTL_INTERNAL_VOLMGR_CANCEL_CHANGE_PARTITION CTL_CODE(VOLMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) 00034 #define IOCTL_INTERNAL_VOLMGR_PARTITION_CHANGED CTL_CODE(VOLMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS) 00035 #define IOCTL_INTERNAL_VOLMGR_PMWMICOUNTERLIB_CONTEXT CTL_CODE(VOLMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS) 00036 00037 // 00038 // Input structure for IOCTL_INTERNAL_VOLMGR_PARTITION_ARRIVED, 00039 // IOCTL_INTERNAL_VOLMGR_PARTITION_REMOVED, 00040 // IOCTL_INTERNAL_VOLMGR_REFERENCE_DEPENDANT_VOLUMES, 00041 // IOCTL_INTERNAL_VOLMGR_QUERY_CHANGE_PARTITION, 00042 // IOCTL_INTERNAL_VOLMGR_CANCEL_CHANGE_PARTITION, and 00043 // IOCTL_INTERNAL_VOLMGR_PARTITION_CHANGED. 00044 // 00045 00046 typedef struct _VOLMGR_PARTITION_INFORMATION { 00047 PDEVICE_OBJECT PartitionDeviceObject; 00048 PDEVICE_OBJECT WholeDiskPdo; 00049 } VOLMGR_PARTITION_INFORMATION, *PVOLMGR_PARTITION_INFORMATION; 00050 00051 // 00052 // Input structure for IOCTL_INTERNAL_VOLMGR_WHOLE_DISK_REMOVED. 00053 // 00054 00055 typedef struct _VOLMGR_WHOLE_DISK_INFORMATION { 00056 PDEVICE_OBJECT WholeDiskPdo; 00057 } VOLMGR_WHOLE_DISK_INFORMATION, *PVOLMGR_WHOLE_DISK_INFORMATION; 00058 00059 // 00060 // Output structure for IOCTL_INTERNAL_VOLMGR_REFERENCE_DEPENDANT_VOLUMES. 00061 // 00062 00063 typedef struct _VOLMGR_DEPENDANT_VOLUMES_INFORMATION { 00064 PDEVICE_RELATIONS DependantVolumeReferences; 00065 } VOLMGR_DEPENDANT_VOLUMES_INFORMATION, *PVOLMGR_DEPENDANT_VOLUMES_INFORMATION; 00066 00067 // 00068 // Input structure for IOCTL_INTERNAL_VOLMGR_LEGACY_PARTITION_ARRIVED and 00069 // IOCTL_INTERNAL_VOLMGR_LEGACY_PARTITION_REMOVED. 00070 // 00071 00072 typedef struct _VOLMGR_LEGACY_PARTITION_INFORMATION { 00073 PDEVICE_OBJECT LegacyWholeDiskDeviceObject; 00074 ULONG DiskNumber; 00075 ULONG PartitionNumber; 00076 } VOLMGR_LEGACY_PARTITION_INFORMATION, *PVOLMGR_LEGACY_PARTITION_INFORMATION; 00077 00078 // 00079 // Input structure for IOCTL_INTERNAL_VOLMGR_PMWMICOUNTERLIB_CONTEXT 00080 // 00081 00082 typedef 00083 NTSTATUS 00084 (*PPMWMICOUNTERENABLE) ( 00085 IN OUT PVOID* CounterContext 00086 ); 00087 00088 typedef 00089 BOOLEAN 00090 (*PPMWMICOUNTERDISABLE) ( 00091 IN PVOID* CounterContext, 00092 IN BOOLEAN ForceDisable, 00093 IN BOOLEAN DeallocateOnZero 00094 ); 00095 00096 typedef 00097 VOID 00098 (*PPMWMICOUNTERIOSTART) ( 00099 IN PVOID CounterContext, 00100 OUT PLARGE_INTEGER TimeStamp 00101 ); 00102 00103 typedef 00104 VOID 00105 (*PPMWMICOUNTERIOCOMPLETE) ( 00106 IN PVOID CounterContext, 00107 IN PIRP Irp, 00108 IN PLARGE_INTEGER TimeStamp 00109 ); 00110 00111 typedef 00112 VOID 00113 (*PPMWMICOUNTERQUERY) ( 00114 IN PVOID CounterContext, 00115 IN OUT PDISK_PERFORMANCE CounterBuffer, 00116 IN PWCHAR StorageManagerName, 00117 IN ULONG StorageDeviceNumber 00118 ); 00119 00120 typedef struct _PMWMICOUNTERLIB_CONTEXT { 00121 PPMWMICOUNTERENABLE PmWmiCounterEnable; 00122 PPMWMICOUNTERDISABLE PmWmiCounterDisable; 00123 PPMWMICOUNTERIOSTART PmWmiCounterIoStart; 00124 PPMWMICOUNTERIOCOMPLETE PmWmiCounterIoComplete; 00125 PPMWMICOUNTERQUERY PmWmiCounterQuery; 00126 } PMWMICOUNTERLIB_CONTEXT, *PPMWMICOUNTERLIB_CONTEXT; 00127 00128 // 00129 // Volume managers should report this GUID in IoRegisterDeviceInterface. 00130 // 00131 00132 DEFINE_GUID(VOLMGR_VOLUME_MANAGER_GUID, 0x53f5630e, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b); 00133 00134 #endif

Generated on Sat May 15 19:42:24 2004 for test by doxygen 1.3.7