亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? winioctl.h

?? 以C語言和Java語言、嵌入式開發、算法實現為主
?? H
?? 第 1 頁 / 共 5 頁
字號:
        CREATE_DISK_GPT Gpt;
    };
} CREATE_DISK, *PCREATE_DISK;


//
// The structure GET_LENGTH_INFORMATION is used with the ioctl
// IOCTL_DISK_GET_LENGTH_INFO to obtain the length, in bytes, of the
// disk, partition, or volume.
//

typedef struct _GET_LENGTH_INFORMATION {
    LARGE_INTEGER   Length;
} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;

//
// The PARTITION_INFORMATION_EX structure is used with the
// IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX,
// IOCTL_DISK_GET_PARTITION_INFO_EX and IOCTL_DISK_GET_PARTITION_INFO_EX calls.
//

typedef struct _PARTITION_INFORMATION_EX {
    PARTITION_STYLE PartitionStyle;
    LARGE_INTEGER StartingOffset;
    LARGE_INTEGER PartitionLength;
    DWORD PartitionNumber;
    BOOLEAN RewritePartition;
    union {
        PARTITION_INFORMATION_MBR Mbr;
        PARTITION_INFORMATION_GPT Gpt;
    };
} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;


//
// GPT specific drive layout information.
//

typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
    GUID DiskId;
    LARGE_INTEGER StartingUsableOffset;
    LARGE_INTEGER UsableLength;
    DWORD MaxPartitionCount;
} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;


//
// MBR specific drive layout information.
//

typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
    DWORD Signature;
} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;

//
// The structure DRIVE_LAYOUT_INFORMATION_EX is used with the
// IOCTL_SET_DRIVE_LAYOUT_EX and IOCTL_GET_DRIVE_LAYOUT_EX calls.
//

typedef struct _DRIVE_LAYOUT_INFORMATION_EX {
    DWORD PartitionStyle;
    DWORD PartitionCount;
    union {
        DRIVE_LAYOUT_INFORMATION_MBR Mbr;
        DRIVE_LAYOUT_INFORMATION_GPT Gpt;
    };
    PARTITION_INFORMATION_EX PartitionEntry[1];
} DRIVE_LAYOUT_INFORMATION_EX, *PDRIVE_LAYOUT_INFORMATION_EX;


#endif // (_WIN32_WINNT >= 0x0500)


#if(_WIN32_WINNT >= 0x0500)

//
// The DISK_GEOMETRY_EX structure is returned on issuing an
// IOCTL_DISK_GET_DRIVE_GEOMETRY_EX ioctl.
//

typedef enum _DETECTION_TYPE {
        DetectNone,
        DetectInt13,
        DetectExInt13
} DETECTION_TYPE;

typedef struct _DISK_INT13_INFO {
        WORD   DriveSelect;
        DWORD MaxCylinders;
        WORD   SectorsPerTrack;
        WORD   MaxHeads;
        WORD   NumberDrives;
} DISK_INT13_INFO, *PDISK_INT13_INFO;

typedef struct _DISK_EX_INT13_INFO {
        WORD   ExBufferSize;
        WORD   ExFlags;
        DWORD ExCylinders;
        DWORD ExHeads;
        DWORD ExSectorsPerTrack;
        DWORD64 ExSectorsPerDrive;
        WORD   ExSectorSize;
        WORD   ExReserved;
} DISK_EX_INT13_INFO, *PDISK_EX_INT13_INFO;

typedef struct _DISK_DETECTION_INFO {
        DWORD SizeOfDetectInfo;
        DETECTION_TYPE DetectionType;
        union {
                struct {

                        //
                        // If DetectionType == DETECTION_INT13 then we have just the Int13
                        // information.
                        //

                        DISK_INT13_INFO Int13;

                        //
                        // If DetectionType == DETECTION_EX_INT13, then we have the
                        // extended int 13 information.
                        //

                        DISK_EX_INT13_INFO ExInt13;     // If DetectionType == DetectExInt13
                };
        };
} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;


typedef struct _DISK_PARTITION_INFO {
        DWORD SizeOfPartitionInfo;
        PARTITION_STYLE PartitionStyle;                 // PartitionStyle = RAW, GPT or MBR
        union {
                struct {                                                        // If PartitionStyle == MBR
                        DWORD Signature;                                // MBR Signature
                        DWORD CheckSum;                                 // MBR CheckSum
                } Mbr;
                struct {                                                        // If PartitionStyle == GPT
                        GUID DiskId;
                } Gpt;
        };
} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;


//
// The Geometry structure is a variable length structure composed of a
// DISK_GEOMETRY_EX structure followed by a DISK_PARTITION_INFO structure
// followed by a DISK_DETECTION_DATA structure.
//

#define DiskGeometryGetPartition(Geometry)\
                        ((PDISK_PARTITION_INFO)((Geometry)+1))

#define DiskGeometryGetDetect(Geometry)\
                        ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry)+\
                                        DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))

typedef struct _DISK_GEOMETRY_EX {
        DISK_GEOMETRY Geometry;                                 // Standard disk geometry: may be faked by driver.
        LARGE_INTEGER DiskSize;                                 // Must always be correct
        BYTE  Data[1];                                                  // Partition, Detect info
} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;

#endif // (_WIN32_WINNT > 0x0500)

#if(_WIN32_WINNT >= 0x0400)
//
// IOCTL_DISK_CONTROLLER_NUMBER returns the controller and disk
// number for the handle.  This is used to determine if a disk
// is attached to the primary or secondary IDE controller.
//

typedef struct _DISK_CONTROLLER_NUMBER {
    DWORD ControllerNumber;
    DWORD DiskNumber;
} DISK_CONTROLLER_NUMBER, *PDISK_CONTROLLER_NUMBER;
#endif /* _WIN32_WINNT >= 0x0400 */

#if(_WIN32_WINNT >= 0x0500)


//
// IOCTL_DISK_SET_CACHE allows the caller to get or set the state of the disk
// read/write caches.
//
// If the structure is provided as the input buffer for the ioctl the read &
// write caches will be enabled or disabled depending on the parameters
// provided.
//
// If the structure is provided as an output buffer for the ioctl the state
// of the read & write caches will be returned. If both input and outut buffers
// are provided the output buffer will contain the cache state BEFORE any
// changes are made
//

typedef enum {
    EqualPriority,
    KeepPrefetchedData,
    KeepReadData
} DISK_CACHE_RETENTION_PRIORITY;

typedef enum _DISK_WRITE_CACHE_STATE {
    DiskWriteCacheNormal,
    DiskWriteCacheForceDisable,
    DiskWriteCacheDisableNotSupported
} DISK_WRITE_CACHE_STATE, *PDISK_WRITE_CACHE_STATE;


typedef struct _DISK_CACHE_INFORMATION {

    //
    // on return indicates that the device is capable of saving any parameters
    // in non-volatile storage.  On send indicates that the device should
    // save the state in non-volatile storage.
    //

    BOOLEAN ParametersSavable;

    //
    // Indicates whether the write and read caches are enabled.
    //

    BOOLEAN ReadCacheEnabled;
    BOOLEAN WriteCacheEnabled;

    //
    // Controls the likelyhood of data remaining in the cache depending on how
    // it got there.  Data cached from a READ or WRITE operation may be given
    // higher, lower or equal priority to data entered into the cache for other
    // means (like prefetch)
    //

    DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
    DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;

    //
    // Requests for a larger number of blocks than this may have prefetching
    // disabled.  If this value is set to 0 prefetch will be disabled.
    //

    WORD   DisablePrefetchTransferLength;

    //
    // If TRUE then ScalarPrefetch (below) will be valid.  If FALSE then
    // the minimum and maximum values should be treated as a block count
    // (BlockPrefetch)
    //

    BOOLEAN PrefetchScalar;

    //
    // Contains the minimum and maximum amount of data which will be
    // will be prefetched into the cache on a disk operation.  This value
    // may either be a scalar multiplier of the transfer length of the request,
    // or an abolute number of disk blocks.  PrefetchScalar (above) indicates
    // which interpretation is used.
    //

    union {
        struct {
            WORD   Minimum;
            WORD   Maximum;

            //
            // The maximum number of blocks which will be prefetched - useful
            // with the scalar limits to set definite upper limits.
            //

            WORD   MaximumBlocks;
        } ScalarPrefetch;

        struct {
            WORD   Minimum;
            WORD   Maximum;
        } BlockPrefetch;
    };

} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;

//
// IOCTL_DISK_GROW_PARTITION will update the size of a partition
// by adding sectors to the length. The number of sectors must be
// predetermined by examining PARTITION_INFORMATION.
//

typedef struct _DISK_GROW_PARTITION {
    DWORD PartitionNumber;
    LARGE_INTEGER BytesToGrow;
} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
#endif /* _WIN32_WINNT >= 0x0500 */

///////////////////////////////////////////////////////
//                                                   //
// The following structures define disk performance  //
// statistics: specifically the locations of all the //
// reads and writes which have occured on the disk.  //
//                                                   //
// To use these structures, you must issue an IOCTL_ //
// DISK_HIST_STRUCTURE (with a DISK_HISTOGRAM) to    //
// obtain the basic histogram information. The       //
// number of buckets which must allocated is part of //
// this structure. Allocate the required number of   //
// buckets and call an IOCTL_DISK_HIST_DATA to fill  //
// in the data                                       //
//                                                   //
///////////////////////////////////////////////////////

#define HIST_NO_OF_BUCKETS  24

typedef struct _HISTOGRAM_BUCKET {
    DWORD       Reads;
    DWORD       Writes;
} HISTOGRAM_BUCKET, *PHISTOGRAM_BUCKET;

#define HISTOGRAM_BUCKET_SIZE   sizeof(HISTOGRAM_BUCKET)

typedef struct _DISK_HISTOGRAM {
    LARGE_INTEGER   DiskSize;
    LARGE_INTEGER   Start;
    LARGE_INTEGER   End;
    LARGE_INTEGER   Average;
    LARGE_INTEGER   AverageRead;
    LARGE_INTEGER   AverageWrite;
    DWORD           Granularity;
    DWORD           Size;
    DWORD           ReadCount;
    DWORD           WriteCount;
    PHISTOGRAM_BUCKET  Histogram;
} DISK_HISTOGRAM, *PDISK_HISTOGRAM;

#define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM)

///////////////////////////////////////////////////////
//                                                   //
// The following structures define disk debugging    //
// capabilities. The IOCTLs are directed to one of   //
// the two disk filter drivers.                      //
//                                                   //
// DISKPERF is a utilty for collecting disk request  //
// statistics.                                       //
//                                                   //
// SIMBAD is a utility for injecting faults in       //
// IO requests to disks.                             //
//                                                   //

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲动漫精品| 全国精品久久少妇| av在线一区二区| 国产欧美一区二区精品忘忧草| 蜜桃视频免费观看一区| 欧美mv和日韩mv的网站| 精品一区二区三区免费| 久久久99久久| 成人免费毛片a| 一区二区在线观看视频| 欧美福利视频一区| 国产一区二区三区香蕉| 中文字幕免费一区| 在线欧美日韩精品| 日本一不卡视频| 久久亚洲二区三区| 一本色道久久加勒比精品| 午夜精品一区二区三区电影天堂| 欧美一区二区在线观看| 国产99久久精品| 亚洲影视资源网| 精品人在线二区三区| 高清在线观看日韩| 亚洲靠逼com| 精品欧美黑人一区二区三区| 成人爱爱电影网址| 亚洲成人免费在线观看| 久久女同精品一区二区| 色又黄又爽网站www久久| 日韩av午夜在线观看| 国产精品免费人成网站| 日本高清无吗v一区| 美女视频一区在线观看| 亚洲视频1区2区| 日韩欧美成人激情| 色素色在线综合| 国产一区二区在线观看免费| 五月激情六月综合| 国产精品美女一区二区三区 | 日本成人超碰在线观看| 久久日一线二线三线suv| 欧美综合欧美视频| 国产91丝袜在线播放0| 亚洲v日本v欧美v久久精品| 国产日产欧美一区| 欧美福利视频导航| 日本丶国产丶欧美色综合| 国产大陆a不卡| 婷婷中文字幕综合| 亚洲欧美日韩在线| 国产精品嫩草久久久久| 亚洲精品在线免费播放| 在线观看国产日韩| 99久精品国产| 国产精品影视在线| 美腿丝袜一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 久久综合狠狠综合久久激情| 538prom精品视频线放| 91欧美激情一区二区三区成人| 国产一区二区三区在线观看免费| 天天综合网天天综合色| 依依成人精品视频| 亚洲免费观看高清在线观看| 国产欧美精品一区aⅴ影院 | 91首页免费视频| 福利电影一区二区| 国产精品一色哟哟哟| 免费三级欧美电影| 日韩高清不卡一区二区| 亚洲sss视频在线视频| 亚洲激情在线激情| 一区二区三区美女视频| 一区二区三区精品在线观看| 亚洲三级理论片| 中文字幕在线不卡一区二区三区| 日本一区二区免费在线观看视频| 久久综合久久鬼色中文字| 欧美电影免费提供在线观看| 日韩一区二区三区免费观看| 777久久久精品| 欧美一区二区三区四区视频| 日韩一区二区三区av| 欧美一区二区黄| 欧美videos中文字幕| 精品久久久三级丝袜| 欧美成人video| 精品精品欲导航| 久久男人中文字幕资源站| 精品日韩一区二区| 久久久久久电影| 欧美国产乱子伦 | 欧美精品亚洲二区| 欧美肥妇毛茸茸| 日韩欧美综合在线| 久久久一区二区| 国产精品每日更新| 一区二区三区欧美激情| 日日骚欧美日韩| 久久不见久久见中文字幕免费| 久久99精品国产麻豆婷婷洗澡| 国产一区啦啦啦在线观看| 成人av网在线| 欧美午夜宅男影院| 欧美一激情一区二区三区| 精品美女在线观看| 国产精品久久影院| 午夜一区二区三区视频| 久久99蜜桃精品| yourporn久久国产精品| 欧洲另类一二三四区| 欧美一区二区三区免费在线看| 欧美精品一区二| 中文字幕在线视频一区| 五月天视频一区| 国产精品亚洲第一区在线暖暖韩国| www.欧美日韩国产在线| 正在播放亚洲一区| 国产精品乱人伦| 日韩国产精品久久久久久亚洲| 精品一区二区三区视频在线观看| jlzzjlzz国产精品久久| 欧美体内she精高潮| 久久一区二区视频| 一区二区三区视频在线看| 日产精品久久久久久久性色| 懂色av中文一区二区三区| 欧美午夜精品一区二区蜜桃| 久久亚洲私人国产精品va媚药| 亚洲激情综合网| 国产一区二区三区免费观看| 在线日韩国产精品| 欧美极品美女视频| 美国毛片一区二区三区| 色婷婷综合中文久久一本| 精品日韩在线一区| 亚洲成人一二三| 99久久久国产精品免费蜜臀| 日韩视频国产视频| 亚洲色图.com| 国产做a爰片久久毛片| 欧美少妇一区二区| 亚洲欧洲精品成人久久奇米网| 蜜臀久久99精品久久久画质超高清 | 国产美女精品一区二区三区| 欧美性生活久久| 国产精品久久夜| 国产精品911| 欧美一级久久久| 亚洲va欧美va天堂v国产综合| av在线免费不卡| 欧美韩国日本一区| 国产一区三区三区| 欧美电影精品一区二区| 五月婷婷另类国产| 日本韩国精品在线| 亚洲欧美日韩国产另类专区| 风间由美一区二区三区在线观看 | 欧美群妇大交群中文字幕| 亚洲日本青草视频在线怡红院 | 久久久久亚洲综合| 日本网站在线观看一区二区三区 | 国产色产综合产在线视频| 麻豆免费精品视频| 56国语精品自产拍在线观看| 亚洲综合一区二区三区| 91视频精品在这里| 自拍偷自拍亚洲精品播放| 成人综合激情网| 国产网站一区二区三区| 国产黄色成人av| 国产三级欧美三级日产三级99| 久久国产欧美日韩精品| 日韩欧美国产1| 久久精品久久久精品美女| 欧美不卡一区二区三区四区| 久久精品国产精品亚洲红杏| 精品三级av在线| 国模大尺度一区二区三区| www久久精品| 成人视屏免费看| 国产精品久久夜| 一本一本大道香蕉久在线精品| 亚洲免费成人av| 在线中文字幕一区二区| 亚洲动漫第一页| 欧美一区二区三区播放老司机| 日本不卡一二三区黄网| 欧美成人精品1314www| 国产永久精品大片wwwapp| 国产三级一区二区| 91小视频在线免费看| 一级特黄大欧美久久久| 欧美剧情电影在线观看完整版免费励志电影| 亚洲综合久久av| 日韩欧美不卡在线观看视频| 国产二区国产一区在线观看| 亚洲私人黄色宅男| 欧美日韩一区二区三区免费看| 日韩国产欧美视频|