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

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專(zhuān)輯| 精品軟件
登錄| 注冊(cè)

s<b>ER</b>v<b>ER</b>

  • 學(xué)生管理啊

    #include <iostream.h> #include <string.h> #include <iomanip.h> #include "Stud.h" Stud::Stud(){} char *Stud::getno()              //獲取學(xué)號(hào) { return no; } char *Stud::getname()            //獲取姓名 { return name; } char *Stud::getsex()             //獲取性別 { return sex; } char *Stud::getminzu()           //獲取民族 { return minzu; } char *Stud::getaddress()         //獲取出生地 { return address; } char *Stud::getbirth()           //獲取出生年月 { return birth; } int Stud::gettag()               //獲取姓名 { return tag; } void Stud::changeno(char n[])                 //設(shè)置學(xué)號(hào) { strcpy(no,n); } void Stud::changename(char na[])              //設(shè)置姓名 { strcpy(name,na); } void Stud::changesex(char s[])                //設(shè)置性別 { strcpy(sex,s); } void Stud::changeminzu(char m[])               //設(shè)置民族 { strcpy(minzu,m); } void Stud::changeaddress(char a[])             //設(shè)置出生地 { strcpy(address,a); } void Stud::changebirth(char b[])               //設(shè)置出生年月 { strcpy(birth,b); } void Stud::addstudent(char *rn,char *rna)      //增加學(xué)生 {     strcpy(no,rn); strcpy(name,rna); } void Stud::addstudent(char *rn,char *rna,char *rs,char *rm,char *ra,char *rb)    //增加學(xué)生 { tag=0; strcpy(no,rn); strcpy(name,rna); strcpy(sex,rs); strcpy(minzu,rm); strcpy(address,ra); strcpy(birth,rb); } void Stud::delstud()                         //設(shè)置刪除標(biāo)記 { tag=1; } void Stud::disp()                            //輸出學(xué)生信息 { cout<<setw(15)<<no<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<minzu<<setw(10)<<address<<setw(10)<<birth<<endl; } void Stud::display()                         //輸出學(xué)生信息 {     cout<<setw(15)<<no<<setw(10)<<name; }

    標(biāo)簽: 學(xué)生

    上傳時(shí)間: 2016-12-29

    上傳用戶:767483511

  • 學(xué)生成績(jī)管理

    #include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x學(xué)院 y專(zhuān)業(yè) z班級(jí)*/  int z[100];  main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------學(xué)生成績(jī)管理-----\n"); printf("請(qǐng)按相應(yīng)數(shù)字鍵來(lái)實(shí)現(xiàn)相應(yīng)功能\n"); printf("1.錄入學(xué)生信息   2.錄入學(xué)生成績(jī)       3.修改學(xué)生成績(jī)\n"); printf("4.查詢學(xué)生成績(jī)   5.不及格科目及名單   6.按班級(jí)輸出學(xué)生成績(jī)單\n"); printf("請(qǐng)輸入你要實(shí)現(xiàn)的功能所對(duì)應(yīng)的數(shù)字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("請(qǐng)輸入你的學(xué)院名稱(chēng):"); gets(x); printf("請(qǐng)輸入你的專(zhuān)業(yè)名稱(chēng):"); gets(y); printf("請(qǐng)輸入你的班級(jí)號(hào):"); scanf("%d",&z); printf("請(qǐng)輸入你們一個(gè)班有幾個(gè)人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào):",i+1); scanf("%d",xuehao[i]); getchar(); printf("請(qǐng)輸入第%d個(gè)學(xué)生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已經(jīng)錄入完畢您的班級(jí)所有學(xué)生的信息!\n"); printf("您的班級(jí)為%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t錄入學(xué)生的成績(jī)\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t數(shù)學(xué):"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英語(yǔ):"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc語(yǔ)言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循環(huán)變量*/ int m[10000];/*要查詢的學(xué)號(hào)*/ int b;/*修改后的成績(jī)*/ char kemu[20]=""; printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào)"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的數(shù)學(xué)成績(jī)?yōu)?d,英語(yǔ)成績(jī)?yōu)?d,c語(yǔ)言成績(jī)?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]");  printf("請(qǐng)輸入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="數(shù)學(xué)"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英語(yǔ)"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c語(yǔ)言"); { scanf("%d",&b); c[i]=b; } printf("%s的數(shù)學(xué)成績(jī)?yōu)?d,英語(yǔ)成績(jī)?yōu)?d,c語(yǔ)言成績(jī)?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("請(qǐng)輸入你的專(zhuān)業(yè)名稱(chēng)"); scanf("%s",&zyname); printf("請(qǐng)輸入你的班級(jí)號(hào)"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("專(zhuān)業(yè)名稱(chēng)%s班級(jí)號(hào)%d數(shù)學(xué)成績(jī)%d英語(yǔ)成績(jī)%dc語(yǔ)言成績(jī)%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }

    標(biāo)簽: c語(yǔ)言

    上傳時(shí)間: 2018-06-08

    上傳用戶:2369043090

  • 智能家居的標(biāo)準(zhǔn)與協(xié)議

    家 庭 總 線 是 智 能 家 居 實(shí) 現(xiàn) 的 重 要 基 礎(chǔ) . 是 住 宅 內(nèi) 部 的 神 經(jīng) 系 統(tǒng) . 其 主 要 作 用 是 連 接 家 中的各 種 電子 、 電氣 設(shè) 備 . 負(fù)責(zé) 將 家 庭 內(nèi) 的 各 種 通 信 設(shè) 備 ( 包 括 安 保 、 電話 、 家 電 、 視 聽(tīng) 設(shè) 備 等 )連 接 在 一 起 . 形 成 一 個(gè) 完 整 的家 庭 網(wǎng) 絡(luò) 。 日 本 是 較 早 推 動(dòng) 智 能 家 居 發(fā) 展 的 國(guó) 家 之 一 , 它 較 早 地 提 出 了 家庭 總線 系統(tǒng) (H O m e B u S S Y S t e m , 簡(jiǎn)稱(chēng)H B S ) 的概念 . 成 立 了 家庭 總線 (H B S )研 究會(huì) . 并 在 郵政省和 通 產(chǎn) 省 的指 導(dǎo) 下 組 成 了H B S 標(biāo) 準(zhǔn)委 員 會(huì) , 制定 了 日 本 的H B s 標(biāo) 準(zhǔn) 。 按 照 該 標(biāo) 準(zhǔn) , H B S 系統(tǒng) 由一 條 同 軸 電 纜 和 4 對(duì) 雙 絞 線 構(gòu) 成 , 前 者 用 于 傳 輸 圖 像 信 息 . 后者 用 于 傳輸語(yǔ) 音 、 數(shù)據(jù)及 控制信 號(hào) 。 各 類(lèi)家用 設(shè) 備 與 電氣 設(shè) 備 均 按 一 定 方式 與H B S 相 連 , 這 些 電氣設(shè) 備 既 可 以在 室 內(nèi)進(jìn) 行 控制 . 也 可 在異地 通 過(guò) 電話進(jìn)行 遙 控 。 為適 應(yīng) 大型 居住社 區(qū) 的需 要 , 1 9 8 8 年年初 , 日 本住 宅信息 化推進(jìn)協(xié)會(huì) 又 推 出 了 超級(jí) 家庭總 線 (S u p e r H0 m e B u s S y s t e m , 簡(jiǎn) 稱(chēng)S - H B S ) , 它適 用 于 更 大 的范 圍 . 因 為一 個(gè)S - H B s 系統(tǒng)可 掛接 數(shù)千個(gè)家庭 內(nèi)部 網(wǎng) 。 家庭 智能化要 求諸 多家 電和 網(wǎng)絡(luò)能夠彼此 相容 . 總線協(xié) 議是 其精髓 所 在 , 只 有接 E l 暢通 , 家 電才能 “ 聽(tīng)懂 ” 人 發(fā) 出的指令 , 因此 總線標(biāo)準(zhǔn) 的物理 層 接 口 形 式 是 智能 家居 亟 待解決 的重 要 問(wèn)題 之 一 。 目前 比 較成型 的總線標(biāo) 準(zhǔn) 協(xié) 議 主 要 是 美 國(guó)公 司 提 出 的 , 包 括E c h e l o n 公 司 I)~L o n W o r k s 協(xié)議 、 電子 工 業(yè) 協(xié) 會(huì) (E I A ) 的C E 總線協(xié) 議 (C EB u S ) 、 S m a r t Ho u s e L P 的智 能屋 協(xié) 議 和×一 1 0 公 司 的X 一 1 0 協(xié) 議等。 這 些 協(xié) 議 各 有 優(yōu) 劣 。

    標(biāo)簽: 智能家居

    上傳時(shí)間: 2022-03-11

    上傳用戶:

  • LED燈封裝Altium Designer AD PCB封裝庫(kù)2D3D元件庫(kù)文件

    LED燈封裝Altium Designer AD PCB封裝庫(kù)2D3D元件庫(kù)文件PCB Library : LED.PcbLibDate        : 2020/12/29Time        : 16:50:29Component Count : 49Component Name-----------------------------------------------LED 1W/3WLED 1W/3W-WLED 3mm-2PLED 3MM-BLED 3MM-GLED 3MM-RLED 3MM-WLED 3MM-YLED 3MM-YCLED 5MM-BLED 5MM-GLED 5MM-RLED 5MM-WLED 5MM-YLED 5MM-YCLED 0603-RGLED 0603BLED 0603GLED 0603RLED 0603WLED 0603YLED 0805BLED 0805GLED 0805RLED 0805WLED 0805YLED 1206BLED 1206GLED 1206RLED 1206WLED 1206YLED 3528-2PinLED 3528-4PinLED 5050LED 5630LED 5730-VLED F234-BLED F234-GLED F234-RLED F234-WLED F234-YLED F257-BLED F257-GLED F257-RLED F257-WLED F257-YLED SH-5MM-WLED SH-8MMLED SH-8MM-W

    標(biāo)簽: led 封裝 altium designer pcb

    上傳時(shí)間: 2022-03-11

    上傳用戶:

  • 簡(jiǎn)易負(fù)離子發(fā)生器的制作

      簡(jiǎn)易負(fù)離子發(fā)生器負(fù)離子增加,對(duì)人有催眠、止汗、鎮(zhèn)痛、增進(jìn)食欲,使人精神爽快,消除疲勞的作用。圖1是負(fù)離子發(fā)生器電路圖。220V交流市電經(jīng)D1整流后向C3和C2充電,當(dāng)C2充電至氖泡導(dǎo)通并觸發(fā)SCR導(dǎo)通時(shí),C3經(jīng)SCR、B的L1放電,經(jīng)B感應(yīng)升壓后,由D2反向整流得8kV直流高壓使發(fā)生器M的分子電離而產(chǎn)生負(fù)離子。調(diào)整R3的阻值可以改變觸發(fā)頻率和輸出電壓。調(diào)整時(shí)必須注意安全,更換元件需撥下電源插頭

    標(biāo)簽: 負(fù)離子發(fā)生器

    上傳時(shí)間: 2013-10-29

    上傳用戶:731140412

  • 驅(qū)動(dòng)程序與應(yīng)用程序的接口

    有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過(guò)為設(shè)備創(chuàng)建的一個(gè)符號(hào)鏈;2. 通過(guò)輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號(hào)鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語(yǔ)言的訪問(wèn)設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來(lái)調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對(duì)象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對(duì)設(shè)備對(duì)象訪問(wèn)的第一步就是打開(kāi)一個(gè)設(shè)備對(duì)象的句柄。 用符號(hào)鏈打開(kāi)一個(gè)設(shè)備的句柄為了打開(kāi)一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號(hào)鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開(kāi)句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開(kāi)一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號(hào)鏈,以便應(yīng)用程序能夠打開(kāi)它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號(hào)鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動(dòng)程序(.sys文件)的路徑。是到設(shè)備對(duì)象的符號(hào)鏈。如果使用DriverWizard產(chǎn)生驅(qū)動(dòng)程序,它通常使用類(lèi)KunitizedName來(lái)構(gòu)成設(shè)備的符號(hào)鏈。這意味著符號(hào)鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱(chēng)的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開(kāi)句柄用這種方式打開(kāi)一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫(kù)提供兩個(gè)助手類(lèi)來(lái)使獲得對(duì)該接口的訪問(wèn)容易一些,這兩個(gè)類(lèi)是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類(lèi)封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類(lèi)中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類(lèi)的一個(gè)實(shí)例來(lái)獲得一個(gè)或更多的CdeviceInterface類(lèi)的實(shí)例。CdeviceInterface類(lèi)是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來(lái)打開(kāi)設(shè)備。下面用一個(gè)小例子來(lái)顯示這些類(lèi)最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個(gè)有效的設(shè)備句柄,它就能使用Win32 APIs來(lái)產(chǎn)生到設(shè)備對(duì)象的IRPs。下面的表顯示了這種對(duì)應(yīng)關(guān)系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設(shè)備類(lèi)成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對(duì)象。這使得多個(gè)句柄可以映射同一個(gè)文件對(duì)象。當(dāng)這個(gè)文件對(duì)象的最后一個(gè)用戶級(jí)句柄被撤銷(xiāo)后,I/O管理器調(diào)用CleanUp。當(dāng)沒(méi)有任何用戶級(jí)和核心級(jí)的對(duì)文件對(duì)象的訪問(wèn)的時(shí)候,I/O管理器調(diào)用Close。如果被打開(kāi)的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無(wú)效功能)。以前為Windows95編寫(xiě)的VxD的應(yīng)用程序代碼中可能會(huì)在打開(kāi)設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒(méi)有特權(quán)的用戶企圖打開(kāi)這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴(lài)于設(shè)備對(duì)象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過(guò)調(diào)用Kirp::Mdl來(lái)存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對(duì)象分別通過(guò)KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來(lái)對(duì)應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒(méi)有被鎖住而且地址只對(duì)調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來(lái)存取IRP域。對(duì)于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴(lài)于特殊的I/O控制代碼,它不在設(shè)備對(duì)象的特性中。宏CTL_CODE(在winioctl.h中定義)用來(lái)構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對(duì)應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統(tǒng)分配一個(gè)單一的緩沖來(lái)作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過(guò)調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級(jí)調(diào)用者使用的緩沖中。驅(qū)動(dòng)程序必須在結(jié)束前存儲(chǔ)拷貝到IRP的Information成員中的數(shù)據(jù)個(gè)數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個(gè)系統(tǒng)緩沖,這個(gè)緩沖驅(qū)動(dòng)程序可以通過(guò)調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對(duì)象,驅(qū)動(dòng)程序?qū)@個(gè)對(duì)象的訪問(wèn)通過(guò)調(diào)用KIrp::Mdl來(lái)實(shí)現(xiàn)。對(duì)于METHOD_OUT_DIRECT,調(diào)用者必須有對(duì)緩沖的寫(xiě)訪問(wèn)權(quán)限。注意,對(duì)METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來(lái)配置緩沖。虛擬地址只對(duì)調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來(lái)定義一個(gè)IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個(gè)DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅(qū)動(dòng)程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動(dòng)程序中,代碼看起來(lái)如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標(biāo)簽: 驅(qū)動(dòng)程序 應(yīng)用程序 接口

    上傳時(shí)間: 2013-10-17

    上傳用戶:gai928943

  • 匯編語(yǔ)言和C語(yǔ)言的外部中斷

    CPU在處理某一事件時(shí),發(fā)生了另一事件請(qǐng)求CPU迅速去處理。CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B。待CPU將事件B處理完畢后,再回到原來(lái)事件A被中斷的地方繼續(xù)處理事件A。這一處理過(guò)程稱(chēng)為中斷。介紹用匯編和C語(yǔ)言兩語(yǔ)言的源程序,愿給大家?guī)?lái)幫助。 前面我已經(jīng)上傳了幾個(gè)程序,沒(méi)幾天卻失蹤了。但這次的不會(huì)失蹤,能保留上幾天。

    標(biāo)簽: 匯編語(yǔ)言 C語(yǔ)言 外部中斷

    上傳時(shí)間: 2014-12-31

    上傳用戶:dianxin61

  • VI圖標(biāo)和連線板

    當(dāng)一個(gè)VI A.vi在VI B.vi 中使用,就稱(chēng)A.vi為B.vi的子VI,B.vi為A.vi的主VI。子VI 相當(dāng)于文本編程語(yǔ)言中的子程序。 在主VI的程序框圖中雙擊子VI的圖標(biāo)時(shí),將出現(xiàn)該子VI 的前面板和程序框圖。在前面板窗口和程序框圖窗口的右上角可以看到該VI 的圖標(biāo)。該圖標(biāo)與將VI放置在程序框圖中時(shí)所顯示的圖標(biāo)相同。

    標(biāo)簽:

    上傳時(shí)間: 2013-10-31

    上傳用戶:jisujeke

  • C++完美演繹 經(jīng)典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開(kāi)C語(yǔ)言的內(nèi)建函數(shù)指令 */ #define PI 3.141

    C++完美演繹 經(jīng)典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開(kāi)C語(yǔ)言的內(nèi)建函數(shù)指令 */ #define PI 3.1415926 /* 宏常量,在稍后章節(jié)再詳解 */ #define circle(radius) (PI*radius*radius) /* 宏函數(shù),圓的面積 */ /* 將比較數(shù)值大小的函數(shù)寫(xiě)在自編include文件內(nèi) */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的結(jié)果:%d %d %d\n", a, b, c) } 程序執(zhí)行結(jié)果: 由小至大排序之后的結(jié)果:1 2 3 可將內(nèi)建函數(shù)的include文件展開(kāi)在自編的include文件中 圓圈的面積是=201.0619264

    標(biāo)簽: my_Include include define 3.141

    上傳時(shí)間: 2014-01-17

    上傳用戶:epson850

  • 一元稀疏多項(xiàng)式計(jì)算器[加法和乘法] 問(wèn)題描述: 設(shè)計(jì)一元系數(shù)多項(xiàng)式計(jì)數(shù)器實(shí)現(xiàn)兩個(gè)多項(xiàng)式間的加法、減法。 基本要求: (1) 輸入并建立多項(xiàng)式 (2) 輸出多項(xiàng)式

    一元稀疏多項(xiàng)式計(jì)算器[加法和乘法] 問(wèn)題描述: 設(shè)計(jì)一元系數(shù)多項(xiàng)式計(jì)數(shù)器實(shí)現(xiàn)兩個(gè)多項(xiàng)式間的加法、減法。 基本要求: (1) 輸入并建立多項(xiàng)式 (2) 輸出多項(xiàng)式,輸出形式為整數(shù)序列:n,c1,e1,c2,e2……cn,en,其中n是多項(xiàng)式的項(xiàng)數(shù),ci,ei分別為第i項(xiàng)的系數(shù)和指數(shù)。序列按指數(shù)降序排列。 (3) 多項(xiàng)式a和b相加,建立多項(xiàng)式a+b,輸出相加的多項(xiàng)式。 (4) 多項(xiàng)式a和b相減,建立多項(xiàng)式a-b,輸出相減的多項(xiàng)式。 用帶表頭結(jié)點(diǎn)的單鏈表存儲(chǔ)多項(xiàng)式。 測(cè)試數(shù)據(jù): (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3) (x+x2+x3)+0 (4) (x+x3)-(-x-x-3)

    標(biāo)簽: 多項(xiàng)式 加法 稀疏 乘法

    上傳時(shí)間: 2013-12-03

    上傳用戶:561596

主站蜘蛛池模板: 康乐县| 吉安县| 专栏| 定日县| 福州市| 陆河县| 神农架林区| 修水县| 鄂托克前旗| 乐都县| 古丈县| 杭锦旗| 廊坊市| 龙州县| 育儿| 东海县| 呼伦贝尔市| 宁国市| 蓝田县| 五河县| 舟曲县| 吴旗县| 南投县| 怀柔区| 临西县| 澜沧| 抚远县| 松原市| 桂阳县| 郁南县| 恩平市| 安宁市| 乌鲁木齐市| 清河县| 广东省| 犍为县| 闵行区| 洛浦县| 临沭县| 海宁市| 军事|