專利名稱:當(dāng)應(yīng)用程序缺少管理員權(quán)限時(shí)寫入驅(qū)動(dòng)器的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),具體涉及寫入驅(qū)動(dòng)器的系統(tǒng)和方法。
背景技術(shù):
為了寫(也稱為“印”)入CD驅(qū)動(dòng)器中的光盤,需要一個(gè)接口來(lái)允許圖示化應(yīng)用程序傳送數(shù)據(jù)到驅(qū)動(dòng)器。在具有Windows操作系統(tǒng)(“OS”)的個(gè)人計(jì)算機(jī)(“PC”)中,使用CD驅(qū)動(dòng)器通常通過(guò)cdrom.sys類驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。與該類驅(qū)動(dòng)程序的接口連接需要非常低層次的編程,對(duì)一個(gè)圖示化應(yīng)用程序來(lái)說(shuō)發(fā)送寫入數(shù)據(jù)不是很容易。
如圖1A和1B所示,一個(gè)標(biāo)準(zhǔn)計(jì)算機(jī)系統(tǒng)100包括一個(gè)CD-ROM驅(qū)動(dòng)器108,它被修改來(lái)提供寫入數(shù)據(jù)和被編程來(lái)識(shí)別特殊的小型計(jì)算機(jī)系統(tǒng)接口/附加裝置分組接口命令,該命令僅被用來(lái)寫入數(shù)據(jù)。在系統(tǒng)100中,一個(gè)Windows應(yīng)用程序102(如圖102A和102B所示)使用輸入/輸出控制(“IOCTL”)語(yǔ)言來(lái)和OS類驅(qū)動(dòng)程序104相連接。然而,因?yàn)檫@些命令是非標(biāo)準(zhǔn)的,所以需要旁路差錯(cuò)檢測(cè)協(xié)議。從而,傳統(tǒng)方法是使用與OS驅(qū)動(dòng)程序104接口的SCSI通過(guò)接口(“SPTI”)106。
如圖1A所示,如果Windows應(yīng)用程序102是一個(gè)具有管理員權(quán)限的應(yīng)用程序102A(也就是,用戶具有管理員權(quán)限和該狀態(tài)被系統(tǒng)100識(shí)別),當(dāng)使用SPTI106時(shí),該類驅(qū)動(dòng)程序104通過(guò)端口驅(qū)動(dòng)程序130將原始寫入命令數(shù)據(jù)傳遞到CD驅(qū)動(dòng)器108中,智能驅(qū)動(dòng)器電子工程(也稱為集成的驅(qū)動(dòng)器電子工程或“IDE”)總線驅(qū)動(dòng)器140,和IDE總線110;SPTI不干擾或檢查數(shù)據(jù)。在傳送信號(hào)給SPTI之前,驅(qū)動(dòng)器104確認(rèn)管理員權(quán)限狀態(tài)。為了這些具有管理員權(quán)限的應(yīng)用程序102A,SPTI將傳送SCSI/ATAPI寫命令給CD驅(qū)動(dòng)器108。如圖1B所示的內(nèi)容作為對(duì)比,如果應(yīng)用程序是一個(gè)不具有管理員權(quán)限的應(yīng)用程序102B(也就是,用戶不具有管理員權(quán)限和該狀態(tài)被系統(tǒng)100識(shí)別),在狀態(tài)信也被傳送給驅(qū)動(dòng)器104;結(jié)果,驅(qū)動(dòng)器104將不傳送寫信號(hào)給SPTI,而是阻止該信號(hào)到達(dá)CD驅(qū)動(dòng)器108。
結(jié)果,為了使用SPTI,應(yīng)用程序必須具有管理員權(quán)限(也就是,用戶必須具有管理員權(quán)限)。然而,作為大部分的PC用戶,尤其是網(wǎng)絡(luò)上的用戶,不具有管理員權(quán)限時(shí),SPTI通常是難以獲得的。因此,阻止了寫命令到達(dá)CD驅(qū)動(dòng)器108。
對(duì)于管理員訪問(wèn)問(wèn)題有兩個(gè)主要的現(xiàn)有解決方法。第一個(gè),如圖2所示,開(kāi)發(fā)了另一個(gè)系統(tǒng)150,使用IDE總線110而不使用標(biāo)準(zhǔn)SCSI命令或驅(qū)動(dòng)程序。系統(tǒng)150使用第二,定制的驅(qū)動(dòng)程序112來(lái)控制數(shù)據(jù)和控制IDE總線的線路來(lái)傳送寫入數(shù)據(jù)到CD驅(qū)動(dòng)器108。
不幸地,作為使用專用命令來(lái)克服與不具有管理員權(quán)限相關(guān)的寫訪問(wèn)問(wèn)題的結(jié)果,系統(tǒng)150不支持標(biāo)準(zhǔn)驅(qū)動(dòng)程序,例如一般是OS一部分的類驅(qū)動(dòng)程序104。結(jié)果,第二驅(qū)動(dòng)程序112必須作為不具有管理員權(quán)限的應(yīng)用程序102B和IDE總線110之間的經(jīng)由端口驅(qū)動(dòng)程序130和IDE總線驅(qū)動(dòng)程序140的一個(gè)接口。第二驅(qū)動(dòng)程序112可以接收和OS驅(qū)動(dòng)程序104相同的寫命令或者可以接收特殊的寫命令作為和用戶驅(qū)動(dòng)程序相接觸的結(jié)果。然而,第二驅(qū)動(dòng)程序112被定制將應(yīng)用程序102B的驅(qū)動(dòng)命令轉(zhuǎn)換成經(jīng)由總線110發(fā)送給CD驅(qū)動(dòng)器108的非-SCS工命令。
第二個(gè)解決方法,如圖3所示,包括系統(tǒng)175,和在圖1A中所示的OS相類似,該系統(tǒng)使用SCSI命令來(lái)控制CD驅(qū)動(dòng)器108。然而,在系統(tǒng)175中,SCSI命令經(jīng)由不是OS一部分的第三方驅(qū)動(dòng)程序114而到達(dá)CD驅(qū)動(dòng)器108。這樣的驅(qū)動(dòng)程序的一個(gè)例子是高級(jí)SCSI編程接口(“ASPI”)。不幸地,第三方需要許可費(fèi)并限制了當(dāng)前操作系統(tǒng)中的技術(shù)支持。應(yīng)該承認(rèn)在這個(gè)系統(tǒng)中,不具有管理員權(quán)限的應(yīng)用程序102B和系統(tǒng)驅(qū)動(dòng)程序104,SPTI 106,和第三方驅(qū)動(dòng)114接口。OS驅(qū)動(dòng)程序104和第三方驅(qū)動(dòng)程序114接收相同的寫命令,以及不象以前描述的系統(tǒng)(其中管理員狀態(tài)信號(hào)被傳輸給系統(tǒng)驅(qū)動(dòng)程序104),在系統(tǒng)175中,狀態(tài)信號(hào)被傳輸給SPTI 106。然而,象以前描述系統(tǒng)150,SPTI 106被旁路;在系統(tǒng)175中,旁路經(jīng)過(guò)第三方驅(qū)動(dòng)程序114。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)實(shí)施例是一個(gè)系統(tǒng)和一個(gè)方法,該系統(tǒng)和方法使得不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序的用戶在沒(méi)有使用第三方驅(qū)動(dòng)程序和沒(méi)有使用與IDE總線協(xié)同工作的定制的驅(qū)動(dòng)程序的情況下寫入驅(qū)動(dòng)器。該系統(tǒng)包括和應(yīng)用程序通信的驅(qū)動(dòng)程序編程接口,和驅(qū)動(dòng)程序接口通信的服務(wù)代理,和服務(wù)代理通信的具有管理員權(quán)限的服務(wù),和該具有管理員權(quán)限的服務(wù)通信的驅(qū)動(dòng)程序,和該驅(qū)動(dòng)程序通信的驅(qū)動(dòng)器。
本發(fā)明的這些和其他的特點(diǎn),方面,和優(yōu)點(diǎn)將通過(guò)下面的說(shuō)明,附加的權(quán)利要求和附加的如圖所示的示范實(shí)施例來(lái)變得更加明顯。
圖1A是一個(gè)標(biāo)準(zhǔn)操作系統(tǒng)的示意圖,在該操作系統(tǒng)中一個(gè)應(yīng)用程序以管理員的權(quán)限在運(yùn)行和能夠?qū)懨畎l(fā)送到驅(qū)動(dòng)器;圖1B是一個(gè)標(biāo)準(zhǔn)操作系統(tǒng)的示意圖,在該操作系統(tǒng)中一個(gè)應(yīng)用程序沒(méi)有以管理員的權(quán)限在運(yùn)行和不能夠?qū)懨畎l(fā)送到驅(qū)動(dòng)器;圖2是第一個(gè)使得不具有管理員權(quán)限的應(yīng)用程序可以寫入驅(qū)動(dòng)器的現(xiàn)有的系統(tǒng)的示意圖;圖3是第二個(gè)使得不具有管理員權(quán)限的應(yīng)用程序可以寫入驅(qū)動(dòng)器的現(xiàn)有的系統(tǒng)的示意圖;和圖4是一個(gè)系統(tǒng)的實(shí)施例的示意圖,該系統(tǒng)能夠使得不具有管理員權(quán)限的應(yīng)用程序可以寫入驅(qū)動(dòng)器,而不使用一個(gè)與IDE總線協(xié)同工作的第二個(gè)定制的驅(qū)動(dòng)程序和不使用第三方驅(qū)動(dòng)程序。
具體實(shí)施例方式
本發(fā)明的一個(gè)實(shí)施例包括從缺少管理員權(quán)限的計(jì)算機(jī)的應(yīng)用程序處發(fā)送寫命令到驅(qū)動(dòng)器的系統(tǒng)。該系統(tǒng)包括;(a)一個(gè)缺少管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序;(b)一個(gè)和計(jì)算機(jī)應(yīng)用程序通信的驅(qū)動(dòng)程序編程接口;(c)一個(gè)和驅(qū)動(dòng)程序編程接口通信的服務(wù)代理;(d)一個(gè)和服務(wù)代理通信的具有管理員權(quán)限的服務(wù);(e)一個(gè)和具有管理員權(quán)限的服務(wù)通信的驅(qū)動(dòng)程序,其中該驅(qū)動(dòng)程序也和SPTI通信,或者在SPTI模式中被配置;和(f)一個(gè)和SPTI或者和被配置為SPTI的驅(qū)動(dòng)程序通信的驅(qū)動(dòng)器。
本發(fā)明的另一個(gè)實(shí)施例包括從缺少管理員權(quán)限的計(jì)算機(jī)的應(yīng)用程序處發(fā)送寫命令到驅(qū)動(dòng)器的方法。該方法包括(a)在不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序和驅(qū)動(dòng)程序編程接口之間傳送寫命令;(b)在驅(qū)動(dòng)程序編程接口和服務(wù)代理之間傳送第二命令,該第二命令至少部分基于該寫命令;(c)在服務(wù)代理和具有管理員權(quán)限的服務(wù)之間傳送第三命令,該第三命令至少部分基于第二命令;(d)在具有管理員權(quán)限的服務(wù)和驅(qū)動(dòng)程序之間傳送第四命令,該第四命令至少部分基于第三命令;(e)在驅(qū)動(dòng)程序和SPTI之間傳送第五命令,該第五命令至少部分基于第四命令;和(e)在SPTI和驅(qū)動(dòng)器之間傳送第六命令,該第六命令至少部分基于第五命令。
本發(fā)明的另一個(gè)實(shí)施例包括從缺少管理員權(quán)限的計(jì)算機(jī)的應(yīng)用程序處發(fā)送寫命令到驅(qū)動(dòng)器的方法。該方法包括(a)在不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序和驅(qū)動(dòng)程序編程接口之間傳送寫命令;(b)在驅(qū)動(dòng)程序編程接口和服務(wù)代理之間傳送第二命令,該第二命令至少部分基于該寫命令;(c)在服務(wù)代理和具有管理員權(quán)限的服務(wù)之間傳送第三命令,該第三命令至少部分基于第二命令;(d)在具有管理員權(quán)限的服務(wù)和驅(qū)在SPTI模式中被配置的驅(qū)動(dòng)程序之間傳送第四命令,該第四命令至少部分基于第三命令;(e)在驅(qū)動(dòng)程序和驅(qū)動(dòng)器之間傳送第五命令,該第五命令至少部分基于第四命令。
本發(fā)明的另一個(gè)實(shí)施例包括從缺少管理員權(quán)限的計(jì)算機(jī)的應(yīng)用程序處發(fā)送寫命令到驅(qū)動(dòng)器的程序產(chǎn)品。該程序產(chǎn)品包括機(jī)器可讀程序代碼,該代碼被執(zhí)行時(shí)使得機(jī)器執(zhí)行以下方法(a)在不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序和驅(qū)動(dòng)程序編程接口之間傳送寫命令;(b)在驅(qū)動(dòng)程序編程接口和服務(wù)代理之間傳送第二命令,該第二命令至少部分基于該寫命令;(c)在服務(wù)代理和具有管理員權(quán)限的服務(wù)之間傳送第三命令,該第三命令至少部分基于第二命令;(d)在具有管理員權(quán)限的服務(wù)和驅(qū)動(dòng)程序之間傳送第四命令,該第四命令至少部分基于第三命令;(e)在驅(qū)動(dòng)程序和SPTI之間傳送第五命令,該第五命令至少部分基于第四命令;和(f)在SPTI和驅(qū)動(dòng)器之間傳送第六命令,該第六命令至少部分基于第五命令。
本發(fā)明的各種實(shí)施例的參考信息現(xiàn)在將會(huì)被詳細(xì)描述,這些內(nèi)容在附圖中描述了。整個(gè)圖中完全是相同的參考數(shù)字代表了相同或類似的部件。
圖4是一個(gè)系統(tǒng)200的示意圖,該系統(tǒng)能夠使得不具有管理員權(quán)限的應(yīng)用程序102B可以寫入驅(qū)動(dòng)器,而不使用一個(gè)與IDE總線110協(xié)同工作的第二個(gè)定制的驅(qū)動(dòng)程序112和不使用第三方驅(qū)動(dòng)程序114。所示的實(shí)施例描述了CD驅(qū)動(dòng)器的接口包括不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序102B,驅(qū)動(dòng)程序編程接口116,服務(wù)代理118,具有管理員權(quán)限的服務(wù)120,和OS驅(qū)動(dòng)程序104,SPTI106,和CD驅(qū)動(dòng)器108。
不具有管理員權(quán)限的應(yīng)用程序102B可以是,例如,Windows應(yīng)用程序。該應(yīng)用程序102B依靠高級(jí)程序語(yǔ)言將命令(例如,寫命令)傳送給驅(qū)動(dòng)程序編程接口116。
驅(qū)動(dòng)程序編程接口116是最高層接口,該接口使用服務(wù)代理118來(lái)和CD驅(qū)動(dòng)器108通信。驅(qū)動(dòng)程序接口116提供寫/印特殊命令來(lái)允許圖示化部件讀取關(guān)于驅(qū)動(dòng)器108的信息和媒體信息,并且發(fā)送設(shè)置,以及待印入的實(shí)際圖形數(shù)據(jù)到驅(qū)動(dòng)器108。驅(qū)動(dòng)程序編程接口116解釋來(lái)自應(yīng)用程序102B的高級(jí)程序語(yǔ)言命令,以及依靠高級(jí)程序語(yǔ)言(“HLL”)和/或應(yīng)用程序編程接口(“API”)語(yǔ)言來(lái)和服務(wù)代理118通信。
服務(wù)代理118摘取(abstract)需求,該需求是為了將程序間通信(“IPC”)機(jī)制用于不具有管理員權(quán)限的應(yīng)用程序102B和具有管理員權(quán)限的服務(wù)120進(jìn)行通信。識(shí)別到缺少管理員權(quán)限后,代理118提供通用命令給具有管理員權(quán)限的服務(wù)120。
被服務(wù)代理118傳送的命令來(lái)指引具有管理員權(quán)限的服務(wù)120發(fā)送輸入,輸出,或狀態(tài)(例如,是驅(qū)動(dòng)器正在運(yùn)行)命令給驅(qū)動(dòng)器108。輸入命令是一個(gè)這樣的命令,驅(qū)動(dòng)程序104想從驅(qū)動(dòng)器108讀取一些信息例如媒體參數(shù)。輸出命令是一個(gè)這樣的命令,例如發(fā)送象素?cái)?shù)據(jù)痕跡給驅(qū)動(dòng)器108。服務(wù)代理118也可以提供標(biāo)準(zhǔn)機(jī)制來(lái)尋找本地系統(tǒng)上所有的可寫驅(qū)動(dòng)器,獲得驅(qū)動(dòng)器的描述和驅(qū)動(dòng)器號(hào),為了寫入而發(fā)送命令來(lái)打開(kāi)和關(guān)閉一個(gè)特殊的驅(qū)動(dòng)器,發(fā)送給驅(qū)動(dòng)程序104一個(gè)驅(qū)動(dòng)器108上的互斥鎖的命令。
為了發(fā)送這些命令,服務(wù)代理118和具有管理員權(quán)限的服務(wù)120接口。具有管理員權(quán)限的服務(wù)120提供對(duì)驅(qū)動(dòng)程序104的管理員訪問(wèn)和被編程來(lái)使用類驅(qū)動(dòng)程序104的SPTI模式。因此,在驅(qū)動(dòng)程序104的通信中,具有管理員權(quán)限的服務(wù)120使用SCSI-通過(guò)(“SPT”)指引和/或IOCTL命令,也就是,具有管理員權(quán)限的服務(wù)120被編程來(lái)經(jīng)由SPTI 106發(fā)送相對(duì)應(yīng)的低級(jí)命令給驅(qū)動(dòng)器108。
如圖所示,驅(qū)動(dòng)程序104和SPTI 106可以被分開(kāi)。在這個(gè)例子中,驅(qū)動(dòng)程序104和SPTI通信及SPTI和驅(qū)動(dòng)器108通信,通過(guò)SCSI命令的方式。作為對(duì)比,驅(qū)動(dòng)程序104可以被包含在以SPTI模式配置的驅(qū)動(dòng)程序122中,在這個(gè)例子中驅(qū)動(dòng)程序122可以直接和驅(qū)動(dòng)器108通信,通過(guò)SCSI命令的方式。
類似,如圖所示服務(wù)代理118和具有管理員權(quán)限的服務(wù)120也可以被分開(kāi)。然而,應(yīng)該被認(rèn)識(shí)到服務(wù)代理118和具有管理員權(quán)限的服務(wù)120也許是被合并到一個(gè)集成的設(shè)備124中的。
也應(yīng)該認(rèn)識(shí)到如果計(jì)算機(jī)應(yīng)用程序是具有管理員權(quán)限的應(yīng)用程序102A,系統(tǒng)200將會(huì)類似于圖1A所示的系統(tǒng)100工作。另外,在系統(tǒng)200中隱含有一種假定,用于驅(qū)動(dòng)器108的固件被編程來(lái)識(shí)別被作為寫/印命令的SCSI命令。
上述的用來(lái)傳輸數(shù)據(jù)到光盤的系統(tǒng)和方法提供了多個(gè)優(yōu)點(diǎn)。例如,該系統(tǒng)可以允許一個(gè)圖示化系統(tǒng)和光盤驅(qū)動(dòng)器通信。作為另外一個(gè)例子,該系統(tǒng)不需要用戶具有管理員權(quán)限來(lái)通過(guò)SPTI106訪問(wèn)驅(qū)動(dòng)器。另外,通過(guò)使用標(biāo)準(zhǔn)OS單元和因此消除了對(duì)新驅(qū)動(dòng)程序的需要,該系統(tǒng)(a)取消了與不是操作系統(tǒng)一部分的第三方CD-ROM驅(qū)動(dòng)程序相關(guān)的許可費(fèi)用;和(b)不需要被微軟硬件質(zhì)量庫(kù)認(rèn)證。
雖然上面描述了本發(fā)明的實(shí)施例,但是本發(fā)明未被如此限制。很顯然對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)只要不偏離本發(fā)明的范圍和精神可以對(duì)本發(fā)明公開(kāi)的實(shí)施例作出修改和變換。因此,這些其他的將寫命令從不具有管理員權(quán)限的應(yīng)用程序傳送到驅(qū)動(dòng)器的系統(tǒng)和方法也全部在所主張的發(fā)明的范圍內(nèi)。然而,應(yīng)該理解到本文中所描述的裝置和方法僅僅是用來(lái)描述而不是限定本發(fā)明的范圍,本發(fā)明的范圍由接下來(lái)的權(quán)利要求來(lái)指示。
權(quán)利要求
1.一種系統(tǒng)包括一個(gè)缺少管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序102B;一個(gè)和計(jì)算機(jī)應(yīng)用程序102B通信的驅(qū)動(dòng)程序編程接口116;一個(gè)和驅(qū)動(dòng)程序編程接口116通信的服務(wù)代理118;一個(gè)和服務(wù)代理118通信的具有管理員權(quán)限的服務(wù)120;一個(gè)和具有管理員權(quán)限的服務(wù)120通信的驅(qū)動(dòng)程序104,其中該驅(qū)動(dòng)程序104和小型計(jì)算機(jī)系統(tǒng)接口通過(guò)接口(″SPTI″)106通信,或者在SPTI模式中被配置;一個(gè)和SPTI 106或者和被配置為SPTI的驅(qū)動(dòng)程序104通信的驅(qū)動(dòng)器108。
2.如權(quán)利要求1所述的系統(tǒng),其中缺少管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序102B被配置來(lái)發(fā)送高級(jí)應(yīng)用程序語(yǔ)言給驅(qū)動(dòng)程序編程接口116,和其中該驅(qū)動(dòng)程序編程接口116被配置來(lái)使用高級(jí)程序語(yǔ)言(″HLL″)和/或具有服務(wù)代理118的應(yīng)用程序編程接口(″API″)函數(shù)調(diào)用。
3.如權(quán)利要求2所述的系統(tǒng),其中服務(wù)代理118被配置用來(lái)通過(guò)程序間通信(″IPC″)的方式和具有管理員權(quán)限的服務(wù)120通信,和其中具有管理員權(quán)限的服務(wù)120被配置為,利用小型計(jì)算機(jī)系統(tǒng)接口通過(guò)(″SPT″)指引和/或輸入/輸出控制(″IOCTL″)語(yǔ)言和驅(qū)動(dòng)程序104通信。
4.如權(quán)利要求3所述的系統(tǒng),其中如果驅(qū)動(dòng)程序104在和SPTI106通信,那么驅(qū)動(dòng)程序104被配置為利用小型計(jì)算機(jī)系統(tǒng)接口(″SCSI″)和SPTI通信,和其中如果驅(qū)動(dòng)程序在SPTI模式中被配置,那么驅(qū)動(dòng)程序104被配置為利用SCSI命令和驅(qū)動(dòng)程序108通信。
5.如權(quán)利要求1所述的系統(tǒng),其中驅(qū)動(dòng)器108是CD驅(qū)動(dòng)器。
6.一種方法包括步驟在不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序和驅(qū)動(dòng)程序編程接口之間傳送寫命令;在驅(qū)動(dòng)程序編程接口和服務(wù)代理之間傳送第二命令,該第二命令至少部分基于該寫命令;在服務(wù)代理和具有管理員權(quán)限的服務(wù)之間傳送第三命令,該第三命令至少部分基于第二命令;在具有管理員權(quán)限的服務(wù)和驅(qū)動(dòng)程序之間傳送第四命令,該第四命令至少部分基于第三命令;在驅(qū)動(dòng)程序和小型計(jì)算機(jī)系統(tǒng)接口通過(guò)接口(″SPTI″)之間傳送第五命令,該第五命令至少部分基于第四命令;和在SPTI和驅(qū)動(dòng)器之間傳送第六命令,該第六命令至少部分基于第五命令。
7.如權(quán)利要求6所述的方法,其中在不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序和驅(qū)動(dòng)程序編程接口之間傳送寫命令這個(gè)步驟包括從不具有管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序處發(fā)送高級(jí)應(yīng)用程序語(yǔ)言給驅(qū)動(dòng)程序編程接口,和其中在驅(qū)動(dòng)程序編程接口和服務(wù)代理之間傳送第二命令,該第二命令至少部分基于該寫命令這個(gè)步驟包括在驅(qū)動(dòng)程序編程接口和服務(wù)代理之間使用高級(jí)程序語(yǔ)言(″HLL″)和/或應(yīng)用程序編程接口(″API″)函數(shù)調(diào)用。
8.如權(quán)利要求7所述的方法,其中在服務(wù)代理和具有管理員權(quán)限的服務(wù)之間傳送第三命令,該第三命令至少部分基于第二命令這個(gè)步驟包括通過(guò)程序間通信(″IPC″)的方式從服務(wù)代理和具有管理員權(quán)限的服務(wù)傳送第三命令,和其中在具有管理員權(quán)限的服務(wù)和驅(qū)動(dòng)程序之間傳送第四命令,該第四命令至少部分基于第三命令這個(gè)步驟包括將輸入/輸出控制(″IOCTL″)語(yǔ)言從具有管理員權(quán)限的服務(wù)處發(fā)送到驅(qū)動(dòng)程序。
9.如權(quán)利要求8所述的方法,其中在驅(qū)動(dòng)程序和SPTI之間傳送第五命令,該第五命令至少部分基于第四命令這個(gè)步驟包括將小型計(jì)算機(jī)系統(tǒng)接口(″SCSI″)信號(hào)從驅(qū)動(dòng)程序發(fā)送到SPTI,和在SPTI和驅(qū)動(dòng)器之間傳送第六命令,該第六命令至少部分基于第五命令這個(gè)步驟包括將SCSI信號(hào)從SPTI發(fā)送到驅(qū)動(dòng)器。
10.如權(quán)利要求6所述的方法,其中驅(qū)動(dòng)器108是CD驅(qū)動(dòng)器。
全文摘要
被提供的系統(tǒng)200和方法能夠使得不具備管理員權(quán)限的計(jì)算機(jī)應(yīng)用程序102B的用戶寫入驅(qū)動(dòng)器108,而不使用第三方驅(qū)動(dòng)程序114和不使用與IDE總線110聯(lián)合工作的定制的驅(qū)動(dòng)程序112。系統(tǒng)200包括一個(gè)與應(yīng)用程序102B通信的驅(qū)動(dòng)程序編程接口116,一個(gè)和驅(qū)動(dòng)程序編程接口116通信的服務(wù)代理118,一個(gè)和服務(wù)代理118通信的具有管理員權(quán)限的服務(wù)120,一個(gè)和具有管理員權(quán)限的服務(wù)120通信的驅(qū)動(dòng)程序104,和一個(gè)和驅(qū)動(dòng)程序104通信的驅(qū)動(dòng)器108。
文檔編號(hào)G06F13/10GK1614549SQ20041008838
公開(kāi)日2005年5月11日 申請(qǐng)日期2004年11月8日 優(yōu)先權(quán)日2003年11月7日
發(fā)明者D·佩蒂格魯 申請(qǐng)人:惠普開(kāi)發(fā)有限公司