diff --git a/reactos/include/psdk/gdiplusenums.h b/reactos/include/psdk/gdiplusenums.h index b0d98846261..4e937c00f55 100644 --- a/reactos/include/psdk/gdiplusenums.h +++ b/reactos/include/psdk/gdiplusenums.h @@ -259,15 +259,33 @@ enum HotkeyPrefix enum ImageCodecFlags { - ImageCodecFlagsEncoder = 1, - ImageCodecFlagsDecoder = 2, - ImageCodecFlagsSupportBitmap = 4, - ImageCodecFlagsSupportVector = 8, - ImageCodecFlagsSeekableEncode = 16, - ImageCodecFlagsBlockingDecode = 32, - ImageCodecFlagsBuiltin = 65536, - ImageCodecFlagsSystem = 131072, - ImageCodecFlagsUser = 262144 + ImageCodecFlagsEncoder = 1, + ImageCodecFlagsDecoder = 2, + ImageCodecFlagsSupportBitmap = 4, + ImageCodecFlagsSupportVector = 8, + ImageCodecFlagsSeekableEncode = 16, + ImageCodecFlagsBlockingDecode = 32, + ImageCodecFlagsBuiltin = 65536, + ImageCodecFlagsSystem = 131072, + ImageCodecFlagsUser = 262144 +}; + +enum ImageFlags +{ + ImageFlagsNone = 0, + ImageFlagsScalable = 0x0001, + ImageFlagsHasAlpha = 0x0002, + ImageFlagsHasTranslucent = 0x0004, + ImageFlagsPartiallyScalable = 0x0008, + ImageFlagsColorSpaceRGB = 0x0010, + ImageFlagsColorSpaceCMYK = 0x0020, + ImageFlagsColorSpaceGRAY = 0x0040, + ImageFlagsColorSpaceYCBCR = 0x0080, + ImageFlagsColorSpaceYCCK = 0x0100, + ImageFlagsHasRealDPI = 0x1000, + ImageFlagsHasRealPixelSize = 0x2000, + ImageFlagsReadOnly = 0x00010000, + ImageFlagsCaching = 0x00020000 }; enum CombineMode @@ -297,6 +315,7 @@ typedef enum DashCap DashCap; typedef enum DashStyle DashStyle; typedef enum MatrixOrder MatrixOrder; typedef enum ImageType ImageType; +typedef enum ImageFlags ImageFlags; typedef enum WrapMode WrapMode; typedef enum MetafileType MetafileType; typedef enum LinearGradientMode LinearGradientMode; diff --git a/reactos/include/psdk/gdiplusflat.h b/reactos/include/psdk/gdiplusflat.h index ddd4914fab0..0d21c8201ed 100644 --- a/reactos/include/psdk/gdiplusflat.h +++ b/reactos/include/psdk/gdiplusflat.h @@ -53,6 +53,7 @@ GpStatus WINGDIPAPI GdipSetPenWidth(GpPen*,REAL); GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**); GpStatus WINGDIPAPI GdipCreateFromHDC2(HDC,HANDLE,GpGraphics**); GpStatus WINGDIPAPI GdipCreateFromHWND(HWND,GpGraphics**); +GpStatus WINGDIPAPI GdipCreateFromHWNDICM(HWND,GpGraphics**); GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF*,GDIPCONST GpPointF*, ARGB,ARGB,GpWrapMode,GpLineGradient**); GpStatus WINGDIPAPI GdipCreateLineBrushI(GDIPCONST GpPoint*,GDIPCONST GpPoint*, @@ -122,7 +123,9 @@ GpStatus WINGDIPAPI GdipFillRectangleI(GpGraphics*,GpBrush*,INT,INT,INT,INT); GpStatus WINGDIPAPI GdipFillRectangles(GpGraphics*,GpBrush*,GDIPCONST GpRectF*,INT); GpStatus WINGDIPAPI GdipFillRectanglesI(GpGraphics*,GpBrush*,GDIPCONST GpRect*,INT); GpStatus WINGDIPAPI GdipGetCompositingMode(GpGraphics*,CompositingMode*); +GpStatus WINGDIPAPI GdipGetClip(GpGraphics*,GpRegion*); GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*); +GpStatus WINGDIPAPI GdipGetDC(GpGraphics*,HDC*); GpStatus WINGDIPAPI GdipGetImageDimension(GpImage*,REAL*,REAL*); GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*); GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*); @@ -133,6 +136,7 @@ GpStatus WINGDIPAPI GdipGetTextRenderingHint(GpGraphics*,TextRenderingHint*); GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics*,GpMatrix*); GpStatus WINGDIPAPI GdipMeasureString(GpGraphics*,GDIPCONST WCHAR*,INT, GDIPCONST GpFont*,GDIPCONST RectF*,GDIPCONST GpStringFormat*,RectF*,INT*,INT*); +GpStatus WINGDIPAPI GdipReleaseDC(GpGraphics*,HDC); GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState); GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics*,REAL,GpMatrixOrder); GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*); @@ -209,6 +213,8 @@ GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT); GpStatus WINGDIPAPI GdipAddPathLine2I(GpPath*,GDIPCONST GpPoint*,INT); GpStatus WINGDIPAPI GdipAddPathLineI(GpPath*,INT,INT,INT,INT); GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL); +GpStatus WINGDIPAPI GdipAddPathRectangle(GpPath*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathRectangleI(GpPath*,INT,INT,INT,INT); GpStatus WINGDIPAPI GdipClonePath(GpPath*,GpPath**); GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*); GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*); @@ -301,6 +307,7 @@ GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage*,GUID*); GpStatus WINGDIPAPI GdipGetImageType(GpImage*,ImageType*); GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*); GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*); +GpStatus WINGDIPAPI GdipGetImageFlags(GpImage*,UINT*); GpStatus WINGDIPAPI GdipGetMetafileHeaderFromEmf(HENHMETAFILE,MetafileHeader*); GpStatus WINGDIPAPI GdipGetMetafileHeaderFromFile(GDIPCONST WCHAR*,MetafileHeader*); GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*); @@ -352,6 +359,14 @@ GpStatus WINGDIPAPI GdipCloneStringFormat(GDIPCONST GpStringFormat*,GpStringForm GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*); GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*); +GpStatus WINGDIPAPI GdipCreateRegion(GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *, GpRegion **); +GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *); +GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *, GpGraphics *, HRGN *); +GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *); +GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *); + + #ifdef __cplusplus } #endif diff --git a/reactos/include/psdk/winioctl.h b/reactos/include/psdk/winioctl.h index 00e04b59b72..0b433babb9c 100644 --- a/reactos/include/psdk/winioctl.h +++ b/reactos/include/psdk/winioctl.h @@ -7,171 +7,171 @@ #ifdef __cplusplus extern "C" { #endif -#define HIST_NO_OF_BUCKETS 24 -#define HISTOGRAM_BUCKET_SIZE sizeof(HISTOGRAM_BUCKET) -#define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM) -#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) -#define DEVICE_TYPE_FROM_CTL_CODE(c) (((DWORD)((c)&0xffff0000))>>16) -#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE -#define IOCTL_STORAGE_CHECK_VERIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_CHECK_VERIFY2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_STORAGE_MEDIA_REMOVAL CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_EJECT_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_LOAD_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_LOAD_MEDIA2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_STORAGE_RESERVE CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_RELEASE CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_FIND_NEW_DEVICES CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_EJECTION_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_STORAGE_MCN_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_STORAGE_GET_MEDIA_TYPES CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define HIST_NO_OF_BUCKETS 24 +#define HISTOGRAM_BUCKET_SIZE sizeof(HISTOGRAM_BUCKET) +#define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM) +#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) +#define DEVICE_TYPE_FROM_CTL_CODE(c) (((DWORD)((c)&0xffff0000))>>16) +#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE +#define IOCTL_STORAGE_CHECK_VERIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_CHECK_VERIFY2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_MEDIA_REMOVAL CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_EJECT_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_LOAD_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_LOAD_MEDIA2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_RESERVE CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_RELEASE CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_FIND_NEW_DEVICES CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_EJECTION_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_MCN_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_MEDIA_TYPES CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_STORAGE_GET_MEDIA_TYPES_EX CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS) -#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_DISK_BASE FILE_DEVICE_DISK -#define IOCTL_DISK_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_DISK_BASE,0,METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_DISK_GET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,1,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_SET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,2,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) -#define IOCTL_DISK_GET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,3,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,4,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) -#define IOCTL_DISK_VERIFY CTL_CODE(IOCTL_DISK_BASE,5,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_FORMAT_TRACKS CTL_CODE(IOCTL_DISK_BASE,6,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) -#define IOCTL_DISK_REASSIGN_BLOCKS CTL_CODE(IOCTL_DISK_BASE,7,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) -#define IOCTL_DISK_PERFORMANCE CTL_CODE(IOCTL_DISK_BASE,8,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_IS_WRITABLE CTL_CODE(IOCTL_DISK_BASE,9,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_LOGGING CTL_CODE(IOCTL_DISK_BASE,10,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_FORMAT_TRACKS_EX CTL_CODE(IOCTL_DISK_BASE,11,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) -#define IOCTL_DISK_HISTOGRAM_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,12,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_HISTOGRAM_DATA CTL_CODE(IOCTL_DISK_BASE,13,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_HISTOGRAM_RESET CTL_CODE(IOCTL_DISK_BASE,14,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_REQUEST_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,15,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_REQUEST_DATA CTL_CODE(IOCTL_DISK_BASE,16,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_DISK_BASE FILE_DEVICE_DISK +#define IOCTL_DISK_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_DISK_BASE,0,METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_DISK_GET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,1,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,2,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,3,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,4,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_VERIFY CTL_CODE(IOCTL_DISK_BASE,5,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_FORMAT_TRACKS CTL_CODE(IOCTL_DISK_BASE,6,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_REASSIGN_BLOCKS CTL_CODE(IOCTL_DISK_BASE,7,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_PERFORMANCE CTL_CODE(IOCTL_DISK_BASE,8,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_IS_WRITABLE CTL_CODE(IOCTL_DISK_BASE,9,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_LOGGING CTL_CODE(IOCTL_DISK_BASE,10,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_FORMAT_TRACKS_EX CTL_CODE(IOCTL_DISK_BASE,11,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_HISTOGRAM_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,12,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_HISTOGRAM_DATA CTL_CODE(IOCTL_DISK_BASE,13,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_HISTOGRAM_RESET CTL_CODE(IOCTL_DISK_BASE,14,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_REQUEST_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,15,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_REQUEST_DATA CTL_CODE(IOCTL_DISK_BASE,16,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_DISK_GET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE,0x12,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_DISK_SET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE,0x13,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) -#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x14,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x15,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) -#define IOCTL_DISK_CREATE_DISK CTL_CODE(IOCTL_DISK_BASE,0x16,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) -#define IOCTL_DISK_GET_LENGTH_INFO CTL_CODE(IOCTL_DISK_BASE,0x17,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_PERFORMANCE_OFF CTL_CODE(IOCTL_DISK_BASE,0x18,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x14,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x15,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_CREATE_DISK CTL_CODE(IOCTL_DISK_BASE,0x16,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_LENGTH_INFO CTL_CODE(IOCTL_DISK_BASE,0x17,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_PERFORMANCE_OFF CTL_CODE(IOCTL_DISK_BASE,0x18,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX CTL_CODE(IOCTL_DISK_BASE,0x28,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_GROW_PARTITION CTL_CODE(IOCTL_DISK_BASE,0x34,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GROW_PARTITION CTL_CODE(IOCTL_DISK_BASE,0x34,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) #define IOCTL_DISK_GET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE,0x35,METHOD_BUFFERED,FILE_READ_ACCESS) #define IOCTL_DISK_SET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE,0x36,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) -#define IOCTL_DISK_DELETE_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,0x40,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_DELETE_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,0x40,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) #define IOCTL_DISK_UPDATE_PROPERTIES CTL_CODE(IOCTL_DISK_BASE,0x50,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define IOCTL_DISK_CHECK_VERIFY CTL_CODE(IOCTL_DISK_BASE,0x200,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_MEDIA_REMOVAL CTL_CODE(IOCTL_DISK_BASE,0x201,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_EJECT_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x202,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_LOAD_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x203,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_RESERVE CTL_CODE(IOCTL_DISK_BASE,0x204,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_RELEASE CTL_CODE(IOCTL_DISK_BASE,0x205,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE,0x206,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_REMOVE_DEVICE CTL_CODE(IOCTL_DISK_BASE,0x207,METHOD_BUFFERED,FILE_READ_ACCESS) -#define IOCTL_DISK_GET_MEDIA_TYPES CTL_CODE(IOCTL_DISK_BASE,0x300,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_CHECK_VERIFY CTL_CODE(IOCTL_DISK_BASE,0x200,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_MEDIA_REMOVAL CTL_CODE(IOCTL_DISK_BASE,0x201,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_EJECT_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x202,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_LOAD_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x203,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_RESERVE CTL_CODE(IOCTL_DISK_BASE,0x204,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_RELEASE CTL_CODE(IOCTL_DISK_BASE,0x205,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE,0x206,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_REMOVE_DEVICE CTL_CODE(IOCTL_DISK_BASE,0x207,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_GET_MEDIA_TYPES CTL_CODE(IOCTL_DISK_BASE,0x300,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_DISK_UPDATE_DRIVE_SIZE CTL_CODE(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) -#define IOCTL_SERIAL_LSRMST_INSERT CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,6,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,7,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,8,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_MOUNT_DBLS_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,13,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,15,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA) -#define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA) -#define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA) -#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,25,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM,27,METHOD_NEITHER,FILE_ANY_ACCESS) +#define IOCTL_SERIAL_LSRMST_INSERT CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,6,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,7,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,8,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_MOUNT_DBLS_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,13,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,15,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA) +#define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA) +#define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA) +#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,25,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM,27,METHOD_NEITHER,FILE_ANY_ACCESS) #define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM,28,METHOD_NEITHER,FILE_ANY_ACCESS) -#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,29,METHOD_BUFFERED,FILE_ANY_ACCESS) -#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,29,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) #define DEVICE_TYPE DWORD -#define FILE_DEVICE_BEEP 1 -#define FILE_DEVICE_CD_ROM 2 -#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 3 -#define FILE_DEVICE_CONTROLLER 4 -#define FILE_DEVICE_DATALINK 5 -#define FILE_DEVICE_DFS 6 -#define FILE_DEVICE_DISK 7 -#define FILE_DEVICE_DISK_FILE_SYSTEM 8 -#define FILE_DEVICE_FILE_SYSTEM 9 -#define FILE_DEVICE_INPORT_PORT 10 -#define FILE_DEVICE_KEYBOARD 11 -#define FILE_DEVICE_MAILSLOT 12 -#define FILE_DEVICE_MIDI_IN 13 -#define FILE_DEVICE_MIDI_OUT 14 -#define FILE_DEVICE_MOUSE 15 +#define FILE_DEVICE_BEEP 1 +#define FILE_DEVICE_CD_ROM 2 +#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 3 +#define FILE_DEVICE_CONTROLLER 4 +#define FILE_DEVICE_DATALINK 5 +#define FILE_DEVICE_DFS 6 +#define FILE_DEVICE_DISK 7 +#define FILE_DEVICE_DISK_FILE_SYSTEM 8 +#define FILE_DEVICE_FILE_SYSTEM 9 +#define FILE_DEVICE_INPORT_PORT 10 +#define FILE_DEVICE_KEYBOARD 11 +#define FILE_DEVICE_MAILSLOT 12 +#define FILE_DEVICE_MIDI_IN 13 +#define FILE_DEVICE_MIDI_OUT 14 +#define FILE_DEVICE_MOUSE 15 #define FILE_DEVICE_MULTI_UNC_PROVIDER 16 -#define FILE_DEVICE_NAMED_PIPE 17 -#define FILE_DEVICE_NETWORK 18 -#define FILE_DEVICE_NETWORK_BROWSER 19 -#define FILE_DEVICE_NETWORK_FILE_SYSTEM 20 -#define FILE_DEVICE_NULL 21 -#define FILE_DEVICE_PARALLEL_PORT 22 -#define FILE_DEVICE_PHYSICAL_NETCARD 23 -#define FILE_DEVICE_PRINTER 24 -#define FILE_DEVICE_SCANNER 25 -#define FILE_DEVICE_SERIAL_MOUSE_PORT 26 -#define FILE_DEVICE_SERIAL_PORT 27 -#define FILE_DEVICE_SCREEN 28 -#define FILE_DEVICE_SOUND 29 -#define FILE_DEVICE_STREAMS 30 -#define FILE_DEVICE_TAPE 31 -#define FILE_DEVICE_TAPE_FILE_SYSTEM 32 -#define FILE_DEVICE_TRANSPORT 33 -#define FILE_DEVICE_UNKNOWN 34 -#define FILE_DEVICE_VIDEO 35 -#define FILE_DEVICE_VIRTUAL_DISK 36 -#define FILE_DEVICE_WAVE_IN 37 -#define FILE_DEVICE_WAVE_OUT 38 -#define FILE_DEVICE_8042_PORT 39 -#define FILE_DEVICE_NETWORK_REDIRECTOR 40 -#define FILE_DEVICE_BATTERY 41 -#define FILE_DEVICE_BUS_EXTENDER 42 -#define FILE_DEVICE_MODEM 43 -#define FILE_DEVICE_VDM 44 -#define FILE_DEVICE_MASS_STORAGE 45 -#define FILE_DEVICE_SMB 46 -#define FILE_DEVICE_KS 47 -#define FILE_DEVICE_CHANGER 48 -#define FILE_DEVICE_SMARTCARD 49 -#define FILE_DEVICE_ACPI 50 -#define FILE_DEVICE_DVD 51 -#define FILE_DEVICE_FULLSCREEN_VIDEO 52 -#define FILE_DEVICE_DFS_FILE_SYSTEM 53 -#define FILE_DEVICE_DFS_VOLUME 54 -#define FILE_DEVICE_SERENUM 55 -#define FILE_DEVICE_TERMSRV 56 -#define FILE_DEVICE_KSEC 57 -#define PARTITION_ENTRY_UNUSED 0 -#define PARTITION_FAT_12 1 -#define PARTITION_XENIX_1 2 -#define PARTITION_XENIX_2 3 -#define PARTITION_FAT_16 4 -#define PARTITION_EXTENDED 5 -#define PARTITION_HUGE 6 -#define PARTITION_IFS 7 -#define PARTITION_FAT32 0x0B -#define PARTITION_FAT32_XINT13 0x0C -#define PARTITION_XINT13 0x0E -#define PARTITION_XINT13_EXTENDED 0x0F -#define PARTITION_PREP 0x41 -#define PARTITION_LDM 0x42 -#define PARTITION_UNIX 0x63 -#define PARTITION_NTFT 128 -#define VALID_NTFT 0xC0 -#define METHOD_BUFFERED 0 -#define METHOD_IN_DIRECT 1 -#define METHOD_OUT_DIRECT 2 -#define METHOD_NEITHER 3 -#define SERIAL_LSRMST_ESCAPE 0 -#define SERIAL_LSRMST_LSR_DATA 1 -#define SERIAL_LSRMST_LSR_NODATA 2 -#define SERIAL_LSRMST_MST 3 +#define FILE_DEVICE_NAMED_PIPE 17 +#define FILE_DEVICE_NETWORK 18 +#define FILE_DEVICE_NETWORK_BROWSER 19 +#define FILE_DEVICE_NETWORK_FILE_SYSTEM 20 +#define FILE_DEVICE_NULL 21 +#define FILE_DEVICE_PARALLEL_PORT 22 +#define FILE_DEVICE_PHYSICAL_NETCARD 23 +#define FILE_DEVICE_PRINTER 24 +#define FILE_DEVICE_SCANNER 25 +#define FILE_DEVICE_SERIAL_MOUSE_PORT 26 +#define FILE_DEVICE_SERIAL_PORT 27 +#define FILE_DEVICE_SCREEN 28 +#define FILE_DEVICE_SOUND 29 +#define FILE_DEVICE_STREAMS 30 +#define FILE_DEVICE_TAPE 31 +#define FILE_DEVICE_TAPE_FILE_SYSTEM 32 +#define FILE_DEVICE_TRANSPORT 33 +#define FILE_DEVICE_UNKNOWN 34 +#define FILE_DEVICE_VIDEO 35 +#define FILE_DEVICE_VIRTUAL_DISK 36 +#define FILE_DEVICE_WAVE_IN 37 +#define FILE_DEVICE_WAVE_OUT 38 +#define FILE_DEVICE_8042_PORT 39 +#define FILE_DEVICE_NETWORK_REDIRECTOR 40 +#define FILE_DEVICE_BATTERY 41 +#define FILE_DEVICE_BUS_EXTENDER 42 +#define FILE_DEVICE_MODEM 43 +#define FILE_DEVICE_VDM 44 +#define FILE_DEVICE_MASS_STORAGE 45 +#define FILE_DEVICE_SMB 46 +#define FILE_DEVICE_KS 47 +#define FILE_DEVICE_CHANGER 48 +#define FILE_DEVICE_SMARTCARD 49 +#define FILE_DEVICE_ACPI 50 +#define FILE_DEVICE_DVD 51 +#define FILE_DEVICE_FULLSCREEN_VIDEO 52 +#define FILE_DEVICE_DFS_FILE_SYSTEM 53 +#define FILE_DEVICE_DFS_VOLUME 54 +#define FILE_DEVICE_SERENUM 55 +#define FILE_DEVICE_TERMSRV 56 +#define FILE_DEVICE_KSEC 57 +#define PARTITION_ENTRY_UNUSED 0 +#define PARTITION_FAT_12 1 +#define PARTITION_XENIX_1 2 +#define PARTITION_XENIX_2 3 +#define PARTITION_FAT_16 4 +#define PARTITION_EXTENDED 5 +#define PARTITION_HUGE 6 +#define PARTITION_IFS 7 +#define PARTITION_FAT32 0x0B +#define PARTITION_FAT32_XINT13 0x0C +#define PARTITION_XINT13 0x0E +#define PARTITION_XINT13_EXTENDED 0x0F +#define PARTITION_PREP 0x41 +#define PARTITION_LDM 0x42 +#define PARTITION_UNIX 0x63 +#define PARTITION_NTFT 128 +#define VALID_NTFT 0xC0 +#define METHOD_BUFFERED 0 +#define METHOD_IN_DIRECT 1 +#define METHOD_OUT_DIRECT 2 +#define METHOD_NEITHER 3 +#define SERIAL_LSRMST_ESCAPE 0 +#define SERIAL_LSRMST_LSR_DATA 1 +#define SERIAL_LSRMST_LSR_NODATA 2 +#define SERIAL_LSRMST_MST 3 /* Device GUIDs */ #ifdef DEFINE_GUID @@ -187,28 +187,28 @@ DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR, 0x4D36E978L, 0xE325, #endif /* DEFINE_GUID */ /* Also in ddk/winddk.h */ -#define FILE_ANY_ACCESS 0x00000000 -#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS -#define FILE_READ_ACCESS 0x00000001 -#define FILE_WRITE_ACCESS 0x00000002 +#define FILE_ANY_ACCESS 0x00000000 +#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS +#define FILE_READ_ACCESS 0x00000001 +#define FILE_WRITE_ACCESS 0x00000002 -#define DISK_LOGGING_START 0 -#define DISK_LOGGING_STOP 1 -#define DISK_LOGGING_DUMP 2 -#define DISK_BINNING 3 +#define DISK_LOGGING_START 0 +#define DISK_LOGGING_STOP 1 +#define DISK_LOGGING_DUMP 2 +#define DISK_BINNING 3 typedef WORD BAD_TRACK_NUMBER,*PBAD_TRACK_NUMBER; typedef enum _BIN_TYPES {RequestSize,RequestLocation} BIN_TYPES; typedef struct _BIN_RANGE { - LARGE_INTEGER StartValue; - LARGE_INTEGER Length; + LARGE_INTEGER StartValue; + LARGE_INTEGER Length; } BIN_RANGE,*PBIN_RANGE; typedef struct _BIN_COUNT { - BIN_RANGE BinRange; - DWORD BinCount; + BIN_RANGE BinRange; + DWORD BinCount; } BIN_COUNT,*PBIN_COUNT; typedef struct _BIN_RESULTS { - DWORD NumberOfBins; - BIN_COUNT BinCounts[1]; + DWORD NumberOfBins; + BIN_COUNT BinCounts[1]; } BIN_RESULTS,*PBIN_RESULTS; typedef enum _PARTITION_STYLE { PARTITION_STYLE_MBR, @@ -536,24 +536,24 @@ typedef struct { #define IsRecognizedPartition(t)\ (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_12))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_16))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_IFS))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_HUGE))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32_XINT13))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13))||\ - ((t&~PARTITION_NTFT)==PARTITION_FAT_12)||\ - ((t&~PARTITION_NTFT)==PARTITION_FAT_16)||\ - ((t&~PARTITION_NTFT)==PARTITION_IFS)||\ - ((t&~PARTITION_NTFT)==PARTITION_HUGE)||\ - ((t&~PARTITION_NTFT)==PARTITION_FAT32)||\ - ((t&~PARTITION_NTFT)==PARTITION_FAT32_XINT13)||\ - ((t&~PARTITION_NTFT)==PARTITION_XINT13)) + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_16))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_IFS))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_HUGE))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32_XINT13))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13))||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT_12)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT_16)||\ + ((t&~PARTITION_NTFT)==PARTITION_IFS)||\ + ((t&~PARTITION_NTFT)==PARTITION_HUGE)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT32)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT32_XINT13)||\ + ((t&~PARTITION_NTFT)==PARTITION_XINT13)) #define IsContainerPartition(t)\ (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_EXTENDED))||\ - ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13_EXTENDED))||\ - ((t&~PARTITION_NTFT)==PARTITION_EXTENDED)||\ - ((t&~PARTITION_NTFT)==PARTITION_XINT13_EXTENDED)) + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13_EXTENDED))||\ + ((t&~PARTITION_NTFT)==PARTITION_EXTENDED)||\ + ((t&~PARTITION_NTFT)==PARTITION_XINT13_EXTENDED)) #ifdef __cplusplus } #endif