基于對(duì)相關(guān)電力企業(yè)安全工器具的調(diào)研,針對(duì)現(xiàn)有的對(duì)安全工器具的管理比較落后,從而導(dǎo)致難以對(duì)安全工器具進(jìn)行有效監(jiān)控的問題,提出了一種簡單有效、容易實(shí)施的安全工器具監(jiān)控方案。首先從整體上描述了安全工器具監(jiān)控系統(tǒng)的總體結(jié)構(gòu),然后分別從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面對(duì)系統(tǒng)進(jìn)行了詳細(xì)闡述。該系統(tǒng)已經(jīng)成功運(yùn)用于某電力企業(yè)的安全工器具監(jiān)控,運(yùn)行穩(wěn)定,達(dá)到了設(shè)計(jì)的預(yù)期目的。
標(biāo)簽: AVR 單片機(jī) 監(jiān)控 系統(tǒng)設(shè)計(jì)
上傳時(shí)間: 2013-11-05
上傳用戶:blacklee
針對(duì)目前汽車追尾事件頻發(fā)問題,提出一種防汽車車前和車后追尾的安全裝置設(shè)計(jì)。該設(shè)計(jì)以高性能、低功耗的8位AVR微處理器ATmega8L為核心,結(jié)合霍爾式車速傳感器、激光雷達(dá)測(cè)距裝置和MMA7260QT加速度傳感器,能夠兼顧車前和車后,摒棄以往設(shè)計(jì)中只考慮車前或車后單一性缺點(diǎn),尤其適用于高速、夜晚或新手行車。 Abstract: Aiming at the high frequency of vehicle rear-end collision,a safe device design of anti-vehicle rear-end collision is presented.In the design,the high-performance,low-power8-bit AVR microprocessor ATmega8L is utilized as a core combined with Hall-type speed sensor,laser-radar ranging devices and the acceleration sensor MMA7260QT.The design considers both the front and back of a car,and overcomes the drawbacks of former designs in which only the front or the back of the car is considered,so it is especially suitable for high-speed,night or the beginner’s driving.
上傳時(shí)間: 2013-10-14
上傳用戶:GavinNeko
提出了一種基于C8051F320的列車安全巡檢儀的設(shè)計(jì)方案,詳細(xì)闡述了巡檢儀的各個(gè)模塊的硬、軟件設(shè)計(jì)。巡檢儀集信息采集、軸溫檢測(cè)、照明和記錄存儲(chǔ)等功能于一體,實(shí)現(xiàn)了對(duì)列車安全巡檢工作有效的監(jiān)督和科學(xué)管理。系統(tǒng)軟件采用C51編寫,對(duì)單片機(jī)進(jìn)行有效的電源管理,保證了巡檢儀的穩(wěn)定性、可靠性和低功耗性。 Abstract: This paper puts forward a design of train safety inspection based on C8051F320,describes all modules hardware and software design of inspection instrument.The inspection instrument has the function of information collection, axle’s temperature detection, lighting and records storage.It can supervise and administer train safety inspection work effectively.The system software using C51 can manage the power of single chip microcomputer, and guarantee the stability, reliability and low power consumption of the inspection instrument.
標(biāo)簽: C8051F320 列車 儀的設(shè)計(jì) 巡檢
上傳時(shí)間: 2013-12-22
上傳用戶:落花無痕
摘要:本文闡明了單片機(jī)在電力系統(tǒng)安全統(tǒng)計(jì)上的應(yīng)用與設(shè)計(jì)方法。幾年來,通過一些單位的實(shí)際應(yīng)用,已證實(shí)了使用單片機(jī)進(jìn)行自動(dòng)控制的優(yōu)越性。 關(guān)鍵詞:單片機(jī);自動(dòng)控制;軟件
標(biāo)簽: 單片機(jī) 電力 系統(tǒng)安全
上傳時(shí)間: 2013-11-07
上傳用戶:wenyuoo
【摘要】目前城市的公交車一般都安裝了語音報(bào)站系統(tǒng),給乘客帶來了很好的乘車體驗(yàn)。不過大部分的語音報(bào)站系統(tǒng)是人工報(bào)站系統(tǒng),需要司機(jī)在車子進(jìn)出站時(shí)進(jìn)行人工操作。而且在進(jìn)出站時(shí)路況比較復(fù)雜,司機(jī)需要分散注意力操作系統(tǒng),給車子的行駛帶來了很大的安全隱患。本設(shè)計(jì)利用Atmel公司的AT89C51單片機(jī)來設(shè)計(jì)一個(gè)公交語音自動(dòng)報(bào)站系統(tǒng)。用JHD162ALCD來提供站臺(tái)信息的顯示;用ISD1700系列語音芯片來對(duì)語音進(jìn)行各種操作控制;并使用DF無線收發(fā)模塊及PT2262、PT2272編解碼芯片來實(shí)現(xiàn)信號(hào)的無線收發(fā)與識(shí)別。最后通過AT89C51對(duì)各個(gè)模塊的控制實(shí)現(xiàn)無線收發(fā)與識(shí)別、信息顯示及語音報(bào)站任務(wù),并利用Proteus軟件進(jìn)行仿真。【關(guān)鍵詞】51單片機(jī);ISD1700S語音芯片;DF無線收發(fā)模塊;PT2262/PT2272芯片;JHD162A
標(biāo)簽: 單片機(jī) 語音 自動(dòng)報(bào)站系統(tǒng)
上傳時(shí)間: 2013-11-17
上傳用戶:cicizoe
摘要:礦用隔爆型低壓饋電開關(guān)是煤礦配電系統(tǒng)的關(guān)鍵環(huán)節(jié),其好壞直接影響著煤礦井下生產(chǎn)安全和生產(chǎn)效率。而低壓饋電開關(guān)的智能化程度主要取決于保護(hù)系統(tǒng)的可靠性和靈敏性。本設(shè)計(jì)研制的井下低爆綜合保護(hù)器,依據(jù)MT871-2000《礦用隔爆型低壓交流真空饋電開關(guān)》標(biāo)準(zhǔn),能對(duì)低壓電網(wǎng)中出現(xiàn)的短路、過載、過壓、欠壓、漏電等故障進(jìn)行實(shí)時(shí)檢測(cè),并有方便的兩鍵參數(shù)設(shè)定和全中文液晶顯示功能。通過對(duì)井下低壓供電不同方式的深入研究,本設(shè)計(jì)較好地解決了功率方向型漏電的誤動(dòng)作和拒動(dòng)作問題,以及短路、漏電等故障的越級(jí)跳閘的問題。關(guān)鍵詞:漏電;低壓電網(wǎng);綜合保護(hù)器;單片機(jī)
上傳時(shí)間: 2013-11-15
上傳用戶:kaixinxin196
摘要: 本文在研究了網(wǎng)絡(luò)安全的國內(nèi)外有關(guān)情況后對(duì)網(wǎng)絡(luò)安全技術(shù)進(jìn)行了探討,介紹了一種簡單而實(shí)用的網(wǎng)絡(luò)安全產(chǎn)品,添補(bǔ)了這方面的空白,而且本文介紹的產(chǎn)品已經(jīng)應(yīng)用到了許多部門,為網(wǎng)絡(luò)安全做出了貢獻(xiàn).關(guān)鍵詞: 網(wǎng)絡(luò);安全;Internet;黑客;物理隔離;MT8870
標(biāo)簽: 網(wǎng)絡(luò) 安全產(chǎn)品
上傳時(shí)間: 2013-11-20
上傳用戶:1318695663
AVR單片機(jī)技術(shù)原理 AVR單片機(jī)介紹 單片機(jī)又稱單片微控制器,它是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上,概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)分支,是簡易機(jī)器人的核心元件。 1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡指令集的高速8位單片機(jī),簡稱AVR。[編輯本段]AVR單片機(jī)的優(yōu)勢(shì)特征 單片機(jī)已廣泛地應(yīng)用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機(jī)器人制作等領(lǐng)域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機(jī)種類很多,在簡易機(jī)器人制作和創(chuàng)新中,為什么選用AVR單片機(jī)呢? 一、簡便易學(xué),費(fèi)用低廉 首先,對(duì)于非專業(yè)人員來說,選擇AVR單片機(jī)的最主要原因,是進(jìn)入AVR單片機(jī)開發(fā)的門檻非常低,只要會(huì)操作電腦就可以學(xué)習(xí)AVR單片機(jī)的開發(fā)。單片機(jī)初學(xué)者只需一條ISP下載線,把編輯、調(diào)試通過的軟件程序直接在線寫入AVR單片機(jī),即可以開發(fā)AVR單片機(jī)系列中的各種封裝的器件。AVR單片機(jī)因此在業(yè)界號(hào)稱“一線打天下”。 其次,AVR單片機(jī)便于升級(jí)。AVR程序?qū)懭胧侵苯釉陔娐钒迳线M(jìn)行程序修改、燒錄等操作,這樣便于產(chǎn)品升級(jí)。 再次,AVR單片機(jī)費(fèi)用低廉。學(xué)習(xí)AVR單片機(jī)可使用ISP在線下載編程方式(即把PC機(jī)上編譯好的程序?qū)懙絾纹瑱C(jī)的程序存儲(chǔ)器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進(jìn)行所有AVR單片機(jī)的開發(fā)應(yīng)用,這可節(jié)省很多開發(fā)費(fèi)用。程序存儲(chǔ)器擦寫可達(dá)10000次以上,不會(huì)產(chǎn)生報(bào)廢品。 二、高速、低耗、保密 首先,AVR單片機(jī)是高速嵌入式單片機(jī): 1、AVR單片機(jī)具有預(yù)取指令功能,即在執(zhí)行一條指令時(shí),預(yù)先把下一條指令取進(jìn)來,使得指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行。 2、多累加器型,數(shù)據(jù)處理速度快。AVR單片機(jī)具有32個(gè)通用工作寄存器,相當(dāng)于有32條立交橋,可以快速通行。 3、中斷響應(yīng)速度快。AVR單片機(jī)有多個(gè)固定中斷向量入口地址,可快速響應(yīng)中斷。 其次,AVR單片機(jī)耗能低。對(duì)于典型功耗情況,WDT關(guān)閉時(shí)為100nA,更適用于電池供電的應(yīng)用設(shè)備。有的器件最低1.8 V即可工作。 再次,AVR單片機(jī)保密性能好。它具有不可破解的位加密鎖Lock Bit技術(shù),保密位單元深藏于芯片內(nèi)部,無法用電子顯微鏡看到。 三、I/O口功能強(qiáng),具有A/D轉(zhuǎn)換等電路 1. AVR單片機(jī)的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實(shí)情況。工業(yè)級(jí)產(chǎn)品,具有大電流(灌電流)10~40 mA,可直接驅(qū)動(dòng)可控硅SCR或繼電器,節(jié)省了外圍驅(qū)動(dòng)器件。 2. AVR單片機(jī)內(nèi)帶模擬比較器,I/O口可用作A/D轉(zhuǎn)換,可組成廉價(jià)的A/D轉(zhuǎn)換器。ATmega48/8/16等器件具有8路10位A/D。 3. 部分AVR單片機(jī)可組成零外設(shè)元件單片機(jī)系統(tǒng),使該類單片機(jī)無外加元器件即可工作,簡單方便,成本又低。 4. AVR單片機(jī)可重設(shè)啟動(dòng)復(fù)位,以提高單片機(jī)工作的可靠性。有看門狗定時(shí)器實(shí)行安全保護(hù),可防止程序走亂(飛),提高了產(chǎn)品的抗干擾能力。 四、有功能強(qiáng)大的定時(shí)器/計(jì)數(shù)器及通訊接口 定時(shí)/計(jì)數(shù)器T/C有8位和16位,可用作比較器。計(jì)數(shù)器外部中斷和PWM(也可用作D/A)用于控制輸出,某些型號(hào)的AVR單片機(jī)有3~4個(gè)PWM,是作電機(jī)無級(jí)調(diào)速的理想器件。 AVR單片機(jī)有串行異步通訊UART接口,不占用定時(shí)器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標(biāo)準(zhǔn)整數(shù)頻率下,而波特率可達(dá)576K。
標(biāo)簽: AVR 單片機(jī)技術(shù)
上傳時(shí)間: 2013-10-18
上傳用戶:二十八號(hào)
RSA加解密系統(tǒng)及其單芯片實(shí)現(xiàn)隨著計(jì)算機(jī)科技的進(jìn)步,帶給人類極大的便利性,但伴隨而來的卻是安全性之問題。最簡單便利的安全措施是利用使用者賬號(hào)及密碼加以控管,但密碼太短易被破解,密碼太長不便記憶,在網(wǎng)絡(luò)上進(jìn)行傳輸,利用簡單的網(wǎng)絡(luò)封包截取工具即可取得相關(guān)之使用者賬號(hào)及密碼,因此如何使用適當(dāng)之資安技術(shù)以保護(hù)網(wǎng)絡(luò)上之公開資訊,為一重要之課題。RSA 密碼系統(tǒng)為確保信息安全之一重要機(jī)制。本專題利用低成本且取得容易的8051 單芯片實(shí)現(xiàn)RSA加解密系統(tǒng)。關(guān)鍵詞: 信息安全、8051 單芯片、RSA 密碼系統(tǒng)。
上傳時(shí)間: 2013-11-05
上傳用戶:逗逗666
有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個(gè)符號(hào)鏈;2. 通過輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號(hào)鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對(duì)象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對(duì)設(shè)備對(duì)象訪問的第一步就是打開一個(gè)設(shè)備對(duì)象的句柄。 用符號(hào)鏈打開一個(gè)設(shè)備的句柄為了打開一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號(hào)鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號(hào)鏈,以便應(yīng)用程序能夠打開它。有關(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)程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號(hào)鏈。這意味著符號(hào)鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開句柄用這種方式打開一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫提供兩個(gè)助手類來使獲得對(duì)該接口的訪問容易一些,這兩個(gè)類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個(gè)實(shí)例來獲得一個(gè)或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個(gè)小例子來顯示這些類最基本的使用方法: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來產(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è)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對(duì)象。這使得多個(gè)句柄可以映射同一個(gè)文件對(duì)象。當(dāng)這個(gè)文件對(duì)象的最后一個(gè)用戶級(jí)句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級(jí)和核心級(jí)的對(duì)文件對(duì)象的訪問的時(shí)候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會(huì)在打開設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對(duì)象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對(duì)象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對(duì)應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒有被鎖住而且地址只對(duì)調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來存取IRP域。對(duì)于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對(duì)象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(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è)單一的緩沖來作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過調(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)程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對(duì)象,驅(qū)動(dòng)程序?qū)@個(gè)對(duì)象的訪問通過調(diào)用KIrp::Mdl來實(shí)現(xiàn)。對(duì)于METHOD_OUT_DIRECT,調(diào)用者必須有對(duì)緩沖的寫訪問權(quán)限。注意,對(duì)METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來配置緩沖。虛擬地址只對(duì)調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個(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)程序中,代碼看起來如下所示: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
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1