⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntdddisk.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 2 页
字号:
  MEDIA_TYPE  MediaType;  ULONG  TracksPerCylinder;  ULONG  SectorsPerTrack;  ULONG  BytesPerSector;} DISK_GEOMETRY, *PDISK_GEOMETRY;typedef struct _DISK_GEOMETRY_EX {  DISK_GEOMETRY  Geometry;  LARGE_INTEGER  DiskSize;  UCHAR  Data[1];} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;#define DiskGeometryGetPartition(Geometry) \   ((PDISK_PARTITION_INFO)((Geometry) + 1))#define DiskGeometryGetDetect(Geometry)\ ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry) + \  DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))typedef struct _PARTITION_INFORMATION {  LARGE_INTEGER  StartingOffset;  LARGE_INTEGER  PartitionLength;  DWORD  HiddenSectors;  DWORD  PartitionNumber;  BYTE  PartitionType;  BOOLEAN  BootIndicator;  BOOLEAN  RecognizedPartition;  BOOLEAN  RewritePartition;} PARTITION_INFORMATION, *PPARTITION_INFORMATION;typedef struct _PARTITION_INFORMATION_GPT {  GUID  PartitionType;  GUID  PartitionId;  ULONG64  Attributes;  WCHAR Name  [36];} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;typedef struct _DISK_PARTITION_INFO {  ULONG  SizeOfPartitionInfo;  PARTITION_STYLE  PartitionStyle;  _ANONYMOUS_UNION union {    struct {      ULONG  Signature;      ULONG  CheckSum;    } Mbr;    struct {      GUID  DiskId;    } Gpt;  } DUMMYUNIONNAME;} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;typedef struct _DISK_PERFORMANCE {  LARGE_INTEGER  BytesRead;  LARGE_INTEGER  BytesWritten;  LARGE_INTEGER  ReadTime;  LARGE_INTEGER  WriteTime;  LARGE_INTEGER  IdleTime;  ULONG  ReadCount;  ULONG  WriteCount;  ULONG  QueueDepth;  ULONG  SplitCount;  LARGE_INTEGER  QueryTime;  ULONG  StorageDeviceNumber;  WCHAR  StorageManagerName[8];} DISK_PERFORMANCE, *PDISK_PERFORMANCE;typedef struct _PARTITION_INFORMATION_EX {  PARTITION_STYLE  PartitionStyle;  LARGE_INTEGER  StartingOffset;  LARGE_INTEGER  PartitionLength;  ULONG  PartitionNumber;  BOOLEAN  RewritePartition;  _ANONYMOUS_UNION union {    PARTITION_INFORMATION_MBR  Mbr;    PARTITION_INFORMATION_GPT  Gpt;  } DUMMYUNIONNAME;} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;typedef struct _FORMAT_EX_PARAMETERS {  MEDIA_TYPE  MediaType;  ULONG  StartCylinderNumber;  ULONG  EndCylinderNumber;  ULONG  StartHeadNumber;  ULONG  EndHeadNumber;  USHORT  FormatGapLength;  USHORT  SectorsPerTrack;  USHORT  SectorNumber[1];} FORMAT_EX_PARAMETERS, *PFORMAT_EX_PARAMETERS;typedef struct _FORMAT_PARAMETERS {  MEDIA_TYPE  MediaType;  ULONG  StartCylinderNumber;  ULONG  EndCylinderNumber;  ULONG  StartHeadNumber;  ULONG  EndHeadNumber;} FORMAT_PARAMETERS, *PFORMAT_PARAMETERS;typedef struct _GET_LENGTH_INFORMATION {  LARGE_INTEGER  Length;} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;typedef struct _REASSIGN_BLOCKS {  WORD  Reserved;  WORD  Count;  DWORD  BlockNumber[1];} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;typedef struct _SET_PARTITION_INFORMATION {  UCHAR  PartitionType;} SET_PARTITION_INFORMATION, *PSET_PARTITION_INFORMATION;typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;typedef struct _SET_PARTITION_INFORMATION_EX {  PARTITION_STYLE  PartitionStyle;  _ANONYMOUS_UNION union {    SET_PARTITION_INFORMATION_MBR  Mbr;    SET_PARTITION_INFORMATION_GPT  Gpt;  } DUMMYUNIONNAME;} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;typedef struct _VERIFY_INFORMATION {  LARGE_INTEGER  StartingOffset;  DWORD  Length;} VERIFY_INFORMATION, *PVERIFY_INFORMATION;typedef enum {	EqualPriority,	KeepPrefetchedData,	KeepReadData} DISK_CACHE_RETENTION_PRIORITY;typedef struct _DISK_CACHE_INFORMATION {	BOOLEAN  ParametersSavable;	BOOLEAN  ReadCacheEnabled;	BOOLEAN  WriteCacheEnabled;	DISK_CACHE_RETENTION_PRIORITY  ReadRetentionPriority;	DISK_CACHE_RETENTION_PRIORITY  WriteRetentionPriority;	USHORT  DisablePrefetchTransferLength;	BOOLEAN  PrefetchScalar;	_ANONYMOUS_UNION union {		struct {			USHORT  Minimum;			USHORT  Maximum;			USHORT  MaximumBlocks;		} ScalarPrefetch;		struct {			USHORT  Minimum;			USHORT  Maximum;		} BlockPrefetch;	} DUMMYUNIONNAME;} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;typedef struct _DISK_GROW_PARTITION {  ULONG  PartitionNumber;  LARGE_INTEGER  BytesToGrow;} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;/* GETVERSIONINPARAMS.fCapabilities constants */#define CAP_ATA_ID_CMD                    1#define CAP_ATAPI_ID_CMD                  2#define CAP_SMART_CMD                     4typedef struct _GETVERSIONINPARAMS {	UCHAR  bVersion;	UCHAR  bRevision;	UCHAR  bReserved;	UCHAR  bIDEDeviceMap;	ULONG  fCapabilities;	ULONG  dwReserved[4];} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;/* IDEREGS.bCommandReg constants */#define ATAPI_ID_CMD                      0xA1#define ID_CMD                            0xEC#define SMART_CMD                         0xB0#define SMART_CYL_LOW                     0x4F#define SMART_CYL_HI                      0xC2typedef struct _IDEREGS {	UCHAR  bFeaturesReg;	UCHAR  bSectorCountReg;	UCHAR  bSectorNumberReg;	UCHAR  bCylLowReg;	UCHAR  bCylHighReg;	UCHAR  bDriveHeadReg;	UCHAR  bCommandReg;	UCHAR  bReserved;} IDEREGS, *PIDEREGS, *LPIDEREGS;#include <pshpack1.h>typedef struct _SENDCMDINPARAMS {	ULONG  cBufferSize;	IDEREGS  irDriveRegs;	UCHAR  bDriveNumber;	UCHAR  bReserved[3];	ULONG  dwReserved[4];	UCHAR  bBuffer[1];} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;#include <poppack.h>/* DRIVERSTATUS.bDriverError constants */#define SMART_NO_ERROR                    0#define SMART_IDE_ERROR                   1#define SMART_INVALID_FLAG                2#define SMART_INVALID_COMMAND             3#define SMART_INVALID_BUFFER              4#define SMART_INVALID_DRIVE               5#define SMART_INVALID_IOCTL               6#define SMART_ERROR_NO_MEM                7#define SMART_INVALID_REGISTER            8#define SMART_NOT_SUPPORTED               9#define SMART_NO_IDE_DEVICE               10#define SMART_OFFLINE_ROUTINE_OFFLINE     0#define SMART_SHORT_SELFTEST_OFFLINE      1#define SMART_EXTENDED_SELFTEST_OFFLINE   2#define SMART_ABORT_OFFLINE_SELFTEST      127#define SMART_SHORT_SELFTEST_CAPTIVE      129#define SMART_EXTENDED_SELFTEST_CAPTIVE   130typedef struct _DRIVERSTATUS {	UCHAR  bDriverError;	UCHAR  bIDEError;	UCHAR  bReserved[2];	ULONG  dwReserved[2];} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;#define READ_ATTRIBUTE_BUFFER_SIZE        512#define IDENTIFY_BUFFER_SIZE              512#define READ_THRESHOLD_BUFFER_SIZE        512#define SMART_LOG_SECTOR_SIZE             512#include <pshpack1.h>typedef struct _SENDCMDOUTPARAMS {	ULONG  cBufferSize;	DRIVERSTATUS  DriverStatus;	UCHAR  bBuffer[1];} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;#include <poppack.h>#define READ_ATTRIBUTES                   0xD0#define READ_THRESHOLDS                   0xD1#define ENABLE_DISABLE_AUTOSAVE           0xD2#define SAVE_ATTRIBUTE_VALUES             0xD3#define EXECUTE_OFFLINE_DIAGS             0xD4#define SMART_READ_LOG                    0xD5#define SMART_WRITE_LOG                   0xd6#define ENABLE_SMART                      0xD8#define DISABLE_SMART                     0xD9#define RETURN_SMART_STATUS               0xDA#define ENABLE_DISABLE_AUTO_OFFLINE       0xDB#ifdef __cplusplus}#endif#endif /* __NTDDDISK_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -