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

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

?? winioctl.pas

?? autoupdate 1.02 source code
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
    SectorsPerTrack : DWORD;
    BytesPerSector : DWORD;
  end;
  PDISK_GEOMETRY = ^TDISK_GEOMETRY;

//
// The following structure is returned on an IOCTL_DISK_GET_PARTITION_INFO
// and an IOCTL_DISK_GET_DRIVE_LAYOUT request.  It is also used in a request
// to change the drive layout, IOCTL_DISK_SET_DRIVE_LAYOUT.
//
  TPARTITION_INFORMATION = record
    StartingOffset      : _LARGE_INTEGER;//TLargeInteger;
    PartitionLength     : _LARGE_INTEGER;//TLargeInteger;
    HiddenSectors       : DWORD;
    PartitionNumber     : DWORD;
    PartitionType       : BYTE;
    BootIndicator       : BOOLEAN;
    RecognizedPartition : BOOLEAN;
    RewritePartition    : BOOLEAN;
   end;
   PPARTITION_INFORMATION = ^TPARTITION_INFORMATION;

//
// The following structure is used to change the partition type of a
// specified disk partition using an IOCTL_DISK_SET_PARTITION_INFO
// request.
//

  TSET_PARTITION_INFORMATION = record
    PartitionType : BYTE;
  end;
  PSET_PARTITION_INFORMATION = ^TSET_PARTITION_INFORMATION;

//
// The following structures is returned on an IOCTL_DISK_GET_DRIVE_LAYOUT
// request and given as input to an IOCTL_DISK_SET_DRIVE_LAYOUT request.
//

  TDRIVE_LAYOUT_INFORMATION = record
    PartitionCount : DWORD;
    Signature      : DWORD;
    PartitionEntry : array[0..0] of TPARTITION_INFORMATION;
  end;
  PDRIVE_LAYOUT_INFORMATION = ^TDRIVE_LAYOUT_INFORMATION;

//
// The following structure is passed in on an IOCTL_DISK_VERIFY request.
// The offset and length parameters are both given in bytes.
//
{$ifdef xxx}
typedef struct _VERIFY_INFORMATION {
    LARGE_INTEGER StartingOffset;
    DWORD Length;
} VERIFY_INFORMATION, *PVERIFY_INFORMATION;

//
// The following structure is passed in on an IOCTL_DISK_REASSIGN_BLOCKS
// request.
//

typedef struct _REASSIGN_BLOCKS {
    WORD   Reserved;
    WORD   Count;
    DWORD BlockNumber[1];
} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;

//
// IOCTL_DISK_MEDIA_REMOVAL disables the mechanism
// on a SCSI device that ejects media. This function
// may or may not be supported on SCSI devices that
// support removable media.
//
// TRUE means prevent media from being removed.
// FALSE means allow media removal.
//

typedef struct _PREVENT_MEDIA_REMOVAL {
    BOOLEAN PreventMediaRemoval;
} PREVENT_MEDIA_REMOVAL, *PPREVENT_MEDIA_REMOVAL;

///////////////////////////////////////////////////////
//                                                   //
// 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.                             //
//                                                   //
///////////////////////////////////////////////////////

//
// The following structure is exchanged on an IOCTL_DISK_GET_PERFORMANCE
// request. This ioctl collects summary disk request statistics used
// in measuring performance.
//

typedef struct _DISK_PERFORMANCE {
        LARGE_INTEGER BytesRead;
        LARGE_INTEGER BytesWritten;
        LARGE_INTEGER ReadTime;
        LARGE_INTEGER WriteTime;
        DWORD ReadCount;
        DWORD WriteCount;
        DWORD QueueDepth;
} DISK_PERFORMANCE, *PDISK_PERFORMANCE;

//
// This structure defines the disk logging record. When disk logging
// is enabled, one of these is written to an internal buffer for each
// disk request.
//

typedef struct _DISK_RECORD {
   LARGE_INTEGER ByteOffset;
   LARGE_INTEGER StartTime;
   LARGE_INTEGER EndTime;
   PVOID VirtualAddress;
   DWORD NumberOfBytes;
   BYTE  DeviceNumber;
   BOOLEAN ReadRequest;
} DISK_RECORD, *PDISK_RECORD;

//
// The following structure is exchanged on an IOCTL_DISK_LOG request.
// Not all fields are valid with each function type.
//

typedef struct _DISK_LOGGING {
    BYTE  Function;
    PVOID BufferAddress;
    DWORD BufferSize;
} DISK_LOGGING, *PDISK_LOGGING;

//
// Disk logging functions
//
// Start disk logging. Only the Function and BufferSize fields are valid.
//

#define DISK_LOGGING_START    0

//
// Stop disk logging. Only the Function field is valid.
//

#define DISK_LOGGING_STOP     1

//
// Return disk log. All fields are valid. Data will be copied from internal
// buffer to buffer specified for the number of bytes requested.
//

#define DISK_LOGGING_DUMP     2

//
// DISK BINNING
//
// DISKPERF will keep counters for IO that falls in each of these ranges.
// The application determines the number and size of the ranges.
// Joe Lin wanted me to keep it flexible as possible, for instance, IO
// sizes are interesting in ranges like 0-4096, 4097-16384, 16385-65536, 65537+.
//

#define DISK_BINNING          3

//
// Bin types
//

typedef enum _BIN_TYPES {
    RequestSize,
    RequestLocation
} BIN_TYPES;

//
// Bin ranges
//

typedef struct _BIN_RANGE {
    LARGE_INTEGER StartValue;
    LARGE_INTEGER Length;
} BIN_RANGE, *PBIN_RANGE;

//
// Bin definition
//

typedef struct _PERF_BIN {
    DWORD NumberOfBins;
    DWORD TypeOfBin;
    BIN_RANGE BinsRanges[1];
} PERF_BIN, *PPERF_BIN ;

//
// Bin count
//

typedef struct _BIN_COUNT {
    BIN_RANGE BinRange;
    DWORD BinCount;
} BIN_COUNT, *PBIN_COUNT;

//
// Bin results
//

typedef struct _BIN_RESULTS {
    DWORD NumberOfBins;
    BIN_COUNT BinCounts[1];
} BIN_RESULTS, *PBIN_RESULTS;


#define IOCTL_SERIAL_LSRMST_INSERT      CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS)


//
// The following values follow the escape designator in the
// data stream if the LSRMST_INSERT mode has been turned on.
//
#define SERIAL_LSRMST_ESCAPE     ((BYTE )0x00)

//
// Following this value is the contents of the line status
// register, and then the character in the RX hardware when
// the line status register was encountered.
//
#define SERIAL_LSRMST_LSR_DATA   ((BYTE )0x01)

//
// Following this value is the contents of the line status
// register.  No error character follows
//
#define SERIAL_LSRMST_LSR_NODATA ((BYTE )0x02)

//
// Following this value is the contents of the modem status
// register.
//
#define SERIAL_LSRMST_MST        ((BYTE )0x03)


#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_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_ANY_ACCESS)
#define FSCTL_READ_COMPRESSION          CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17, METHOD_NEITHER,  FILE_ANY_ACCESS)
#define FSCTL_WRITE_COMPRESSION         CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18, METHOD_NEITHER,  FILE_ANY_ACCESS)


#endif // _WINIOCTL_
{$endif}

function CtlCode(DeviceType : DWORD; Func : DWord; Method : DWord; Access : DWord) : DWORD;
//#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
//    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \


function MediaDescription(Media : Integer) : String;

implementation

// like div but rounds up
function div2(a : LongInt; b : LongInt) : LongInt;
begin
   Result := a div b;
   if (a mod b) > 0 then
   begin
      Inc(Result);
   end;
end;



   function CtlCode(DeviceType : DWORD; Func : DWord; Method : DWord; Access : DWord) : DWORD;
   begin
      result := (DeviceType shl 16) or (Access shl 14) or (Func shl 2) or (Method);
   end;

   function DeviceIoControl; external 'kernel32.dll';
   function ReadFile2; external kernel32 name 'ReadFile';
   function WriteFile2; external kernel32 name 'WriteFile';

function MediaDescription(Media : Integer) : String;
begin
   case Media of
      Media_Type_F5_1Pt2_512:  Result := '5.25, 1.2MB,  512 bytes/sector';
      Media_Type_F3_1Pt44_512: Result := '3.5,  1.44MB, 512 bytes/sector';
      Media_Type_F3_2Pt88_512: Result := '3.5,  2.88MB, 512 bytes/sector';
      Media_Type_F3_20Pt8_512: Result := '3.5,  20.8MB, 512 bytes/sector';
      Media_Type_F3_720_512:   Result := '3.5,  720KB,  512 bytes/sector';
      Media_Type_F5_360_512:   Result := '5.25, 360KB,  512 bytes/sector';
      Media_Type_F5_320_512:   Result := '5.25, 320KB,  512 bytes/sector';
      Media_Type_F5_320_1024:  Result := '5.25, 320KB,  1024 bytes/sector';
      Media_Type_F5_180_512:   Result := '5.25, 180KB,  512 bytes/sector';
      Media_Type_F5_160_512:   Result := '5.25, 160KB,  512 bytes/sector';
      Media_Type_RemovableMedia: Result := 'Removable media other than floppy';
      Media_Type_FixedMedia:   Result := 'Fixed hard disk media';
   else
      Result := 'Unknown';
   end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合网天天看片| 亚洲精品一区二区三区蜜桃下载 | 5月丁香婷婷综合| 久久久av毛片精品| 午夜精品久久久久久久99樱桃| 国产精品一区在线| 久久精品人人做| 一二三区精品福利视频| 国产成人免费xxxxxxxx| 91精品国产色综合久久ai换脸| 中文字幕一区二区三区在线不卡| 国内成+人亚洲+欧美+综合在线| 欧美手机在线视频| 亚洲男人的天堂av| 成人av影视在线观看| 久久久亚洲精华液精华液精华液 | 欧美日韩夫妻久久| 亚洲少妇屁股交4| 国产999精品久久| 欧美tk丨vk视频| 免费成人在线观看视频| 欧美亚洲禁片免费| 一区二区三区四区乱视频| 成人涩涩免费视频| 亚洲国产精品精华液ab| 国产一区二区三区香蕉| 欧美岛国在线观看| 激情偷乱视频一区二区三区| 欧美一级xxx| 麻豆精品视频在线观看视频| 91精品在线观看入口| 秋霞午夜鲁丝一区二区老狼| 欧美亚洲愉拍一区二区| 亚洲自拍偷拍麻豆| 欧美系列日韩一区| 五月天中文字幕一区二区| 欧美日韩一卡二卡| 日日夜夜免费精品| 日韩免费视频一区| 国产一区二区在线观看免费| 久久综合色天天久久综合图片| 国产又黄又大久久| 欧美经典一区二区三区| av爱爱亚洲一区| 伊人婷婷欧美激情| 欧美精品 日韩| 久久精品久久99精品久久| 久久午夜国产精品| www.亚洲色图| 亚洲电影一级黄| 日韩欧美国产一区二区在线播放| 激情综合网最新| 中文字幕一区二区三区四区不卡 | 欧美一区二区三区在线视频| 日韩av一区二区在线影视| xfplay精品久久| 成人免费视频一区| 亚洲午夜三级在线| 2023国产一二三区日本精品2022| 成人丝袜18视频在线观看| 亚洲一区二区三区爽爽爽爽爽| 91精品国产综合久久蜜臀| 国产成人精品免费在线| 亚洲情趣在线观看| 日韩免费观看高清完整版在线观看 | 蜜桃av一区二区在线观看| 欧美精品一区二区三区蜜桃视频| 成人高清视频免费观看| 亚洲午夜免费视频| 国产肉丝袜一区二区| 色欧美乱欧美15图片| 极品销魂美女一区二区三区| 国产精品黄色在线观看| 538在线一区二区精品国产| 丰满放荡岳乱妇91ww| 亚洲福利一区二区| 亚洲国产精品激情在线观看| 91精品国产综合久久久蜜臀粉嫩| 9i在线看片成人免费| 久久99精品久久只有精品| 精品视频在线免费看| 欧美在线观看视频在线| 激情综合五月婷婷| 亚洲综合区在线| 国产精品久久久久影院| 一本大道久久精品懂色aⅴ| 蜜臀av一区二区| 亚洲综合无码一区二区| 欧美激情一区二区三区四区| 制服丝袜国产精品| 91丨porny丨户外露出| 国产精品一色哟哟哟| 蜜臀a∨国产成人精品| 亚洲高清在线精品| 亚洲欧美日韩国产综合在线| 国产欧美一区在线| 精品国产欧美一区二区| 8x8x8国产精品| 欧美色图第一页| 色综合久久综合| 99久久国产综合精品麻豆| 国产精品1区2区3区| 捆绑变态av一区二区三区| 天堂在线亚洲视频| 亚洲成人资源在线| 亚洲一级二级三级| 一级日本不卡的影视| 亚洲女与黑人做爰| 亚洲欧美精品午睡沙发| 中文字幕色av一区二区三区| 国产精品久久久久久福利一牛影视| 26uuu精品一区二区| 久久综合九色综合97_久久久| 日韩精品中午字幕| 精品少妇一区二区三区日产乱码 | 在线观看亚洲精品| 91蝌蚪porny九色| 97se亚洲国产综合自在线不卡 | 中文字幕亚洲电影| 日韩一区在线免费观看| 成人欧美一区二区三区小说| 中文字幕av在线一区二区三区| 中文字幕乱码亚洲精品一区 | 亚洲精品一二三区| 亚洲精品ww久久久久久p站| 亚洲免费观看高清在线观看| 精品一区二区三区视频 | 日韩二区三区在线观看| 日本成人在线视频网站| 免费一级片91| 从欧美一区二区三区| 岛国精品在线播放| 日本国产一区二区| 欧美日韩视频在线观看一区二区三区| 欧美日韩www| 久久蜜桃香蕉精品一区二区三区| 国产精品免费久久| 亚洲国产成人高清精品| 免费观看一级欧美片| 国产福利91精品一区二区三区| 成人sese在线| 欧美高清性hdvideosex| 欧美zozozo| 国产精品久久久久久久久免费桃花 | 色网站国产精品| 欧美丰满一区二区免费视频| 精品卡一卡二卡三卡四在线| 国产精品乱子久久久久| 亚洲韩国一区二区三区| 黄色精品一二区| 99re视频这里只有精品| 欧美人妇做爰xxxⅹ性高电影| 亚洲精品一区二区三区精华液| 中文字幕一区二区三区蜜月| 性久久久久久久| 国产91精品一区二区| 91成人在线免费观看| 精品国产免费一区二区三区四区| 国产精品久久久久四虎| 蜜桃91丨九色丨蝌蚪91桃色| 99麻豆久久久国产精品免费| 91精品婷婷国产综合久久竹菊| 国产片一区二区| 日本欧洲一区二区| 色综合天天综合网天天狠天天| 欧美精品一区二区三区蜜桃视频| 艳妇臀荡乳欲伦亚洲一区| 国产大片一区二区| 7799精品视频| 亚洲国产人成综合网站| 波多野结衣在线一区| 日韩一区二区电影在线| 亚洲日本在线看| 成人久久久精品乱码一区二区三区| 日韩一区二区三区高清免费看看| 综合在线观看色| 国产一区999| 欧美岛国在线观看| 午夜伦欧美伦电影理论片| 99久久国产免费看| 中文av一区二区| 国产麻豆午夜三级精品| 欧美一区二区三区免费视频 | 1区2区3区精品视频| 激情综合网av| 91麻豆精品国产91久久久更新时间| 亚洲欧美国产毛片在线| 成人午夜精品在线| 久久综合资源网| 国产一区二区女| 欧美成人午夜电影| 久久国产生活片100| 7799精品视频| 蜜臀av性久久久久av蜜臀妖精| 欧美一区二区在线观看| 美腿丝袜亚洲三区| 精品乱人伦小说| 国产一区在线不卡| 久久久久国产精品麻豆ai换脸 | 奇米精品一区二区三区在线观看一|