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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? winioctl.h

?? 開發(fā)usb固件時(shí)
?? H
?? 第 1 頁 / 共 5 頁
字號(hào):
        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.                             //
//                                                   //

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av在线影院| 成人激情小说网站| 欧美色综合影院| 成人免费在线播放视频| 成人午夜视频福利| 亚洲精品免费在线观看| 一区二区三区免费网站| 五月综合激情网| 日韩制服丝袜av| 视频一区视频二区在线观看| 99久久综合99久久综合网站| 91在线免费播放| 中文字幕电影一区| 欧美变态口味重另类| 欧美aaaaaa午夜精品| 日韩一区二区精品在线观看| 日韩视频国产视频| 国产精品福利一区二区| 国产一区二区三区国产| 欧美探花视频资源| 一区二区三区视频在线观看| 精品无人区卡一卡二卡三乱码免费卡| 欧美精品第1页| 麻豆久久一区二区| 国产精品久久久久久久浪潮网站| 成av人片一区二区| 一区二区三区四区国产精品| 欧美浪妇xxxx高跟鞋交| 懂色av噜噜一区二区三区av| 亚洲欧美aⅴ...| 欧美一区二区观看视频| 成人午夜精品在线| 日韩成人一区二区| 亚洲欧美一区二区三区极速播放| 欧美片在线播放| 99久久精品一区二区| 久久精品久久99精品久久| 亚洲另类在线视频| 中文一区在线播放| 欧美zozozo| 欧美日韩国产大片| 91日韩精品一区| 精品一区二区在线看| 亚洲午夜一区二区三区| 中文字幕亚洲精品在线观看| 欧美sm美女调教| 欧美成人免费网站| 欧美狂野另类xxxxoooo| 色欧美片视频在线观看在线视频| 粉嫩av一区二区三区| 国产91在线看| 国产一区不卡精品| 国产精品综合视频| 国产乱子伦视频一区二区三区| 日本成人在线视频网站| 日本网站在线观看一区二区三区| 亚洲综合精品自拍| 亚洲福利视频一区| 午夜国产不卡在线观看视频| 亚洲大片一区二区三区| 天天综合色天天综合色h| 一区二区三区**美女毛片| 亚洲高清视频在线| 麻豆精品在线播放| 国产91精品一区二区| av综合在线播放| 欧美三级中文字幕| 久久精品一区蜜桃臀影院| 国产欧美日产一区| 香蕉乱码成人久久天堂爱免费| 青草av.久久免费一区| 国产乱人伦精品一区二区在线观看| 国产精品影音先锋| 99热这里都是精品| 6080yy午夜一二三区久久| 国产亚洲美州欧州综合国| 亚洲人亚洲人成电影网站色| 亚洲成av人片一区二区| 国产老女人精品毛片久久| 色就色 综合激情| 国产欧美一区二区三区网站| 亚洲午夜精品17c| 国产99精品国产| 在线播放中文一区| 亚洲欧美另类图片小说| 激情深爱一区二区| 欧美系列在线观看| 国产精品美女久久久久久| 日本欧美韩国一区三区| 色婷婷综合久久久久中文一区二区 | 亚洲123区在线观看| 不卡av免费在线观看| 久久丝袜美腿综合| 久久91精品久久久久久秒播| 在线观看视频一区二区欧美日韩| 久久嫩草精品久久久精品| 日韩电影免费一区| 4438成人网| 午夜欧美大尺度福利影院在线看 | 亚洲综合色丁香婷婷六月图片| 国产伦精品一区二区三区免费迷| 欧美视频精品在线| 久久激情五月婷婷| 欧美日韩久久久一区| 亚洲综合精品自拍| 欧美巨大另类极品videosbest | 成人毛片在线观看| 国产午夜久久久久| www.久久精品| 亚洲精品国产第一综合99久久| 91在线视频网址| 亚洲高清免费一级二级三级| 欧美精品日日鲁夜夜添| 麻豆成人综合网| 国产视频一区在线播放| 国产91精品免费| 亚洲精品久久久久久国产精华液| jizzjizzjizz欧美| 亚洲成av人片在线观看无码| 日韩一级免费观看| 99riav久久精品riav| 亚洲影视在线播放| 精品剧情在线观看| 91香蕉视频污在线| 韩国一区二区视频| 亚洲综合一区二区精品导航| 日韩一级大片在线| 在线看国产一区二区| 国产乱子轮精品视频| 亚洲国产综合人成综合网站| 久久久久久9999| 在线电影欧美成精品| 99久久精品一区| 国产一区二区中文字幕| 亚洲va欧美va天堂v国产综合| 久久一日本道色综合| 欧美伦理视频网站| 欧美午夜在线一二页| 成人黄色av电影| 国产91丝袜在线观看| 久久99精品久久久久久国产越南| 亚洲精品久久7777| 国产精品无码永久免费888| 日韩欧美123| 717成人午夜免费福利电影| 色综合咪咪久久| 97成人超碰视| 色综合一个色综合亚洲| 99在线视频精品| www.日韩av| 91首页免费视频| 97se狠狠狠综合亚洲狠狠| voyeur盗摄精品| 成人aa视频在线观看| 成人aa视频在线观看| 99精品久久只有精品| 91啪亚洲精品| 欧美日韩国产精选| 欧美丰满嫩嫩电影| 久久综合色天天久久综合图片| 精品国产一二三区| 久久久久国产精品免费免费搜索| 久久久久九九视频| 成人免费一区二区三区视频| 亚洲免费资源在线播放| 亚洲综合一区二区精品导航| 欧美在线啊v一区| 欧美私人免费视频| 日韩美女一区二区三区| 精品国产99国产精品| 一色屋精品亚洲香蕉网站| 亚洲国产一区视频| 国产精品中文字幕日韩精品| 本田岬高潮一区二区三区| 在线观看视频91| 久久先锋影音av鲁色资源网| 一区二区三区四区不卡视频 | xnxx国产精品| 国产精品久久影院| 色综合久久久久久久久久久| 风间由美中文字幕在线看视频国产欧美| 日韩高清在线电影| 99久久精品免费| 欧美一区二区视频在线观看2022| 国产精品久久久久桃色tv| 日本视频在线一区| 在线观看国产91| 中文字幕五月欧美| 国产精品一区二区三区99| 在线电影院国产精品| 亚洲视频1区2区| 从欧美一区二区三区| 亚洲精品在线一区二区| 日韩精品一区第一页| 欧美老肥妇做.爰bbww| 亚洲国产乱码最新视频| 91福利社在线观看| 一区二区三区精密机械公司| 91视频在线观看| 亚洲人成网站色在线观看|