?? checkext.h
字號:
#include <dos.h>
#include <stdio.h>
int checkExt(unsigned int driveNum)
{
//char buf[512];
//FILE *f;
//unsigned int i=0;
//union REGS checkin,checkout;
union REGS in,out;
/*
struct DiskAddressPacket
{
unsigned char PacketSize; // 數據包尺寸(16字節)
unsigned char Reserved; // ==0
unsigned int BlockCount; // 要傳輸的數據塊個數(以扇區為單位)
unsigned long BufferAddr;// 傳輸緩沖地址(segment:offset)
unsigned long BlockNum;// 磁盤起始絕對塊地址
//unsigned long ab;
}dap;
dap.PacketSize=16;
dap.Reserved=0;
dap.BlockCount=sectorToDo;
dap.BufferAddr=(unsigned long)buf;
dap.BlockNum=startSector;
*/
in.h.ah=0x41;
in.h.dl=driveNum;
in.x.bx=0x55AA;
int86(0x13,&in,&out);
if(out.h.ah==1 || out.x.bx!=0xAA55)
{
printf("\nExtended int13 not supported.\n"); return 0;}
else {printf("\nExtended int13 supported.\n"); return 1;}
//printf("Major version of extended int13: %02x\nAPI set 1 supported,",checkout.h.ah);
//return;
//in.h.ah = cmd;
//in.h.dl = driveNum;
//in.x.si = &dap;
//磁盤地址數據包(Disk Address Packet)
//f=fopen("ext13usb","wb");
//fclose(f);
//for(;i<251;i++)
//{
//int86(0x13,&in,&out);
//f=fopen("extint13","ab+");
//fwrite(buf,512,1,f);
//fclose(f);
//dap.BlockNum++;
//printf("%u sectors read.\n",i);
}
/*
int main(void)
{
char filename[80];
union REGS inregs, outregs;
struct SREGS segregs;
printf("Enter filename: ");
gets(filename);
inregs.h.ah = 0x43;
inregs.h.al = 0x21;
inregs.x.dx = FP_OFF(filename);
segregs.ds = FP_SEG(filename);
int86x(0x21, &inregs, &outregs, &segregs);
printf("File attribute: %X\n", outregs.x.cx);
return 0;
}
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -