chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于WDM驅(qū)動(dòng)程序模型實(shí)現(xiàn)過濾器驅(qū)動(dòng)程序的開發(fā)設(shè)計(jì)

電子設(shè)計(jì) ? 來源:現(xiàn)代電子技術(shù) ? 作者:田宇 , 任曦平 ? 2020-09-19 15:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

WDM(Windows Driver Mode)是微軟公司為Windows的驅(qū)動(dòng)程序設(shè)計(jì)的一種通用的驅(qū)動(dòng)程序模型。相比以前的KDM和VXD來說,他的性能更高、系統(tǒng)之間移植更加方便。所以,隨著系統(tǒng)的升級(jí),WDM已經(jīng)成為Windows 2000系統(tǒng)下驅(qū)動(dòng)程序開發(fā)的主流。作為WDM模型之中一類特殊的驅(qū)動(dòng)程序,過濾器驅(qū)動(dòng)程序(Filter driver)可以在不更改現(xiàn)有驅(qū)動(dòng)程序的情況下,方便地修改、增加現(xiàn)有驅(qū)動(dòng)程序的功能。特別是對(duì)于Windows 2000已經(jīng)提供了通用驅(qū)動(dòng)程序的硬件設(shè)備,通過編寫過濾器驅(qū)動(dòng)程序,可以以較小的代價(jià)擴(kuò)展硬件現(xiàn)有的功能。因此具有很強(qiáng)的實(shí)際應(yīng)用價(jià)值。

1 Windows 2000 I/O請(qǐng)求處理結(jié)構(gòu)

如圖1所示,Windows 2000是分態(tài)的操作系統(tǒng)。用戶應(yīng)用程序運(yùn)行在用戶態(tài),操作系統(tǒng)代碼(如系統(tǒng)服務(wù)和設(shè)備驅(qū)動(dòng)程序)在核心態(tài)下運(yùn)行。用戶態(tài)程序只能調(diào)用Win32子系統(tǒng)提供的API來同設(shè)備交互,當(dāng)請(qǐng)求傳遞到I/O管理器時(shí),他進(jìn)行必要的參數(shù)匹配和操作安全性檢查,然后由這個(gè)請(qǐng)求構(gòu)造出合適的IRP(IO Request Package,I/O請(qǐng)求包),并把此IRP傳遞到適當(dāng)?shù)尿?qū)動(dòng)程序去,并給應(yīng)用程序一個(gè)消息,通知這次I/O操作還沒完成。驅(qū)動(dòng)程序一般通過硬件抽象層來和硬件交互,從而完成I/O請(qǐng)求工作。驅(qū)動(dòng)程序完成I/O操作后,他將調(diào)用一個(gè)特殊的內(nèi)核服務(wù)例程來完成IRP。這時(shí),I/O管理器把數(shù)據(jù)和結(jié)果返回給Win32和用戶應(yīng)用程序。

基于WDM驅(qū)動(dòng)程序模型實(shí)現(xiàn)過濾器驅(qū)動(dòng)程序的開發(fā)設(shè)計(jì)

2 WDM驅(qū)動(dòng)程序模型體系結(jié)構(gòu)

Windows驅(qū)動(dòng)程序模型重新定義驅(qū)動(dòng)程序分層使用了如圖2的層次結(jié)構(gòu)。圖中左邊是一個(gè)設(shè)備對(duì)象堆棧。設(shè)備對(duì)象是系統(tǒng)為幫助軟件管理硬件而創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)。一個(gè)物理硬件可以有多個(gè)這樣的數(shù)據(jù)結(jié)構(gòu)。處于堆棧最底層的設(shè)備對(duì)象稱為物理設(shè)備對(duì)象PDO(Physical Device Object),代表了設(shè)備和總線之間的連接。在設(shè)備對(duì)象堆棧的中間的對(duì)象稱為功能設(shè)備對(duì)象FDO(Functional Device Object),代表了設(shè)備的功能。在FDO的上面和下面還會(huì)有一些過濾器設(shè)備對(duì)象FIDO(Filter Device Object)。位于FDO上面的過濾器設(shè)備對(duì)象稱為上層過濾器,位于FDO下面(但仍在PDO之上)的過濾器設(shè)備對(duì)象稱為下層過濾器。

總線驅(qū)動(dòng)程序負(fù)責(zé)枚舉他的總線,這意味著發(fā)現(xiàn)總線上的全部設(shè)備和檢測(cè)設(shè)備何時(shí)被添加或刪除并為每個(gè)設(shè)備創(chuàng)建一個(gè)PDO。功能驅(qū)動(dòng)程序知道如何控制設(shè)備的主要功能,他分層在總線驅(qū)動(dòng)程序的上面。功能驅(qū)動(dòng)程序創(chuàng)建一個(gè)功能設(shè)備對(duì)象,放在設(shè)備棧中。對(duì)總線上的所有設(shè)備,總線過濾驅(qū)動(dòng)程序被加在總線驅(qū)動(dòng)程序之上;設(shè)備過濾驅(qū)動(dòng)程序僅對(duì)特定的設(shè)備添加。上層的過濾驅(qū)動(dòng)程序在功能驅(qū)動(dòng)程序之上,而下層過濾驅(qū)動(dòng)程序在功能驅(qū)動(dòng)程序之下。這種層次結(jié)構(gòu)可以使I/O請(qǐng)求過程更加明了。I/O管理器發(fā)送的IRP,先被送到設(shè)備堆棧的上層過濾器驅(qū)動(dòng)程序(FIDO),他可以根據(jù)要求決定IRP的處理方式,是沿著設(shè)備棧繼續(xù)向下傳,或者是做一些額外的處理。依次,每一層驅(qū)動(dòng)程序都可以決定如何處理IRP。高層的驅(qū)動(dòng)程序可以把請(qǐng)求劃分成更簡(jiǎn)單的請(qǐng)求并傳遞給下層驅(qū)動(dòng)程序。中間層次的驅(qū)動(dòng)程序進(jìn)一步處理請(qǐng)求,將一個(gè)IRP中的請(qǐng)求劃分為若干個(gè)小的請(qǐng)求并傳給下層驅(qū)動(dòng)程序。最后,最低層的驅(qū)動(dòng)程序與硬件打交道。因此一些IRP在到達(dá)總線程序之前,在設(shè)備棧傳遞過程中可能就被過濾掉了。

3 過濾器驅(qū)動(dòng)程序

過濾驅(qū)動(dòng)程序是一種中間驅(qū)動(dòng)程序,他位于其他的驅(qū)動(dòng)程序?qū)哟沃g。過濾驅(qū)動(dòng)程序可以監(jiān)視、攔截和修改IRP流,在不影響其他驅(qū)動(dòng)程序的前提下提供一些附加的功能。他的功能可分為:

(1)利用過濾器驅(qū)動(dòng)程序修改現(xiàn)有功能驅(qū)動(dòng)程序的行為而不必重新編寫功能驅(qū)動(dòng)程序。

(2)上層過濾器驅(qū)動(dòng)程序在功能驅(qū)動(dòng)程序之前看到IRP,可以很方便地為用戶提供額外的特征。還可以修正功能驅(qū)動(dòng)程序或硬件存在的毛病或缺陷。

(3)下層過濾器驅(qū)動(dòng)程序在功能驅(qū)動(dòng)程序要向總線驅(qū)動(dòng)程序發(fā)送IRP時(shí)看到IRP。可以監(jiān)視、攔截、修改功能驅(qū)動(dòng)程序要執(zhí)行的總線操作流,截獲數(shù)據(jù),進(jìn)行必要的數(shù)據(jù)處理,再將處理過的數(shù)據(jù)傳遞下去,實(shí)現(xiàn)一定的數(shù)據(jù)處理功能。

(4)下層過濾器驅(qū)動(dòng)程序可以實(shí)現(xiàn)驅(qū)動(dòng)程序的總線無關(guān)性,使功能驅(qū)動(dòng)程序完全獨(dú)立于總線結(jié)構(gòu)而不直接與設(shè)備對(duì)話。針對(duì)不同的總線編寫不同的下層過濾器,每個(gè)下層過濾器對(duì)應(yīng)一個(gè)總線類型。當(dāng)功能驅(qū)動(dòng)程序需要與硬件對(duì)話時(shí),他只需向相應(yīng)的下層過濾器驅(qū)動(dòng)程序發(fā)送IRP即可。

4 過濾器驅(qū)動(dòng)程序設(shè)計(jì)

過濾器驅(qū)動(dòng)程序設(shè)計(jì)與功能驅(qū)動(dòng)程序相似。這里限于篇幅主要討論一下過濾器驅(qū)動(dòng)程序設(shè)計(jì)中與功能驅(qū)動(dòng)程序相區(qū)別的幾個(gè)關(guān)鍵的技術(shù)要點(diǎn)。

4.1 DriverEntry例程

DriverEntry例程是驅(qū)動(dòng)程序的人口點(diǎn)。當(dāng)I/O管理器裝入驅(qū)動(dòng)程序時(shí),他調(diào)用DriverEntry例程用來初始化驅(qū)動(dòng)程序范圍的數(shù)據(jù)結(jié)構(gòu)和資源,包括輸出該驅(qū)動(dòng)程序的其他人口點(diǎn),初始化該驅(qū)動(dòng)程序使用的特定對(duì)象,并設(shè)置驅(qū)動(dòng)程序系統(tǒng)資源。與功能驅(qū)動(dòng)程序相區(qū)別的是:他必須為每種類型的IRP都安裝派遣函數(shù),而不僅僅只是其希望處理的IRP。

4.2 AddDevice例程

AddDevice函數(shù)的基本職責(zé)是創(chuàng)建一個(gè)設(shè)備對(duì)象并把他連接到以物理設(shè)備對(duì)象PDO為底的設(shè)備堆棧中,并負(fù)責(zé)設(shè)備對(duì)象初始化。與功能驅(qū)動(dòng)程序相區(qū)別的是:過濾驅(qū)動(dòng)程序創(chuàng)建的設(shè)備對(duì)象可能是2種,一種是不命名的過濾設(shè)備對(duì)象,過濾器工作時(shí)把這個(gè)無名的設(shè)備對(duì)象連接到以物理設(shè)備對(duì)象PDO為底的設(shè)備堆棧中。一種是為了和用戶程序通信而創(chuàng)建的命名的設(shè)備對(duì)象并不連接到以物理設(shè)備對(duì)象PDO為底的設(shè)備堆棧中。命名可以采用2種方法:第一種方法是采用可顯示的“硬編碼”符號(hào)鏈接名,用戶態(tài)程序必須把設(shè)備名硬編碼到源代碼中;另外一種方法是使用設(shè)備接口,每個(gè)設(shè)備接口是由一個(gè)全局惟一標(biāo)志符GUID標(biāo)志。設(shè)備注冊(cè)為一個(gè)特定的設(shè)備接口就創(chuàng)建了一個(gè)符號(hào)鏈接。

相關(guān)步驟如下:

(1)調(diào)用IoCreateDevke創(chuàng)建過濾設(shè)備對(duì)象,并建立一個(gè)私有的設(shè)備擴(kuò)展對(duì)象。

(2)寄存一個(gè)或多個(gè)設(shè)備接口,以便應(yīng)用程序能知道設(shè)備的存在。另外,還可以給出設(shè)備名并創(chuàng)建符號(hào)連接。

(3)初始化設(shè)備擴(kuò)展和設(shè)備對(duì)象的F1ag成員。

(4)調(diào)用IOAttachDevkeToDeviceStack函數(shù)把新設(shè)備對(duì)象放到堆棧上。

具體實(shí)現(xiàn)程序如下:

NTSTATUS AddDevice (PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT pdo)

{

PDEVICE_OBJECT fido=NULL;

//創(chuàng)建沒有設(shè)備名的過濾設(shè)備對(duì)象

NTSTATUS status=IoCreateDevice (DriverObjeot,sizeof (DEVICE-EXTENSION),

NULL,F(xiàn)ILE_DEVICE_UNKNOWN,0,F(xiàn)ALSE,&fido);

if(!NT_SUCCESS(status)) return status;

//初始化設(shè)備擴(kuò)展和設(shè)備對(duì)象的Flag成員

PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION)fido->DeviceExtension;

pdx->DeviceObject=fido;

pdx->Pdo=pdo;

pdx->eDeviceType =FILTER;

//把沒有設(shè)備名的設(shè)備對(duì)象放到堆棧上

PDEVICE- OBJECT fdo =

IoAttachDeviceToDeviceStack (fido,pdo);

pdx->TopDevObj=fdo;

fido->Flags ︱=pdo->F1ags&(DO_DIRECT-IO ︱DO-BUFFERED-IO ︱ DO_POWER_PAGABLE ︱DO_POWER_INRUSH);

………

//建立一個(gè)命名的設(shè)備對(duì)象創(chuàng)建符號(hào)鏈接

CreateSymbOlicLink (DriverObject,pdo);

return STATUS_SUCCESS;

}

4.3 派遣例程

派遣例程處理來自應(yīng)用程序的打開、關(guān)閉、讀、寫等I/O請(qǐng)求命令。與功能驅(qū)動(dòng)程序的區(qū)別是:過濾器驅(qū)動(dòng)程序不能影響其他驅(qū)動(dòng)程序接受IRP。對(duì)于未知的IRP或不處理的IRP過濾驅(qū)動(dòng)程序的原則是必須沿設(shè)備棧傳遞下去。因此他必須為每種類型的IRP都安裝派遣函數(shù),而不僅僅只是其希望處理的IRP。對(duì)于希望處理的IRP必須指定特殊的派遣函數(shù),直接用CompleteIRP來完成接收到的這類IRP,不往下層傳送。

這里由DispatchDeviceControl處理來自應(yīng)用程序的所有希望處理的I/O操作命令。通常采用給予所有自定義的I/O請(qǐng)求代碼的SWITCH語句,而對(duì)于每個(gè)命令使用相應(yīng)的處理函數(shù)。下面列出了主要的代碼框架:

NTSTATUS DispatchDeviceControl (PDEVICE_OBJECT fido,PIRP Irp)

{

NTSTATUS status;

PDEVICE_EXTENSION pdx=(PDEVICE_EXTENSION)fido->DeviceExtension;

PlO_STACK_LOCATION IrpStack =

IoGetCurrentlrpStackLocation(1rp);

//取I/O控制命令代碼

ULONG IoControlCode = IrpStack 》

Parameters.DeviceloContr01.IoControlCode;

switch(IoControlCode)

{

case IOCTL-XXX:

…… //處理I/O控制命令代碼

case IOCTL-XXX:

……

default:

……

break;

}

//完成接收到的IRP

IoCompleteRequest(Irp,IO_NO_INCREMENT);

……

return status;

}

對(duì)于不需要處理的IRP則交由DispatchAny例程處理,將IRP沿著設(shè)備棧直接傳遞下去:

NTSTATUS DispatchAny(PDEVICE_OBJECT fido,PIRP Irp)

{

PDEVICE_ EXTENSION pdx=(PDEVICE-EXTENSION)

fido->DeviceExtension

//使堆棧指針少前進(jìn)一步。

IoSkipCurrentlrpStackLocation(hp);

Status=IoCallDriver(pdx->LowerDeviceObject,Irp);

……

return status;

4.4 Unload例程功能

在Unload例程中,驅(qū)動(dòng)程序必須釋放所有創(chuàng)建的對(duì)象和所有分配給驅(qū)動(dòng)程序的資源。

5 結(jié) 語

筆者就采用在Windows提供的USB聲卡驅(qū)動(dòng)程序下方插入自己編寫的下層過濾器驅(qū)動(dòng)程序?qū)崿F(xiàn)了對(duì)USB聲卡輸出的數(shù)據(jù)流的截獲并進(jìn)行語音信號(hào)處理,取得了不錯(cuò)的效果,現(xiàn)已投入實(shí)際應(yīng)用??梢娺^濾器驅(qū)動(dòng)程序作為一類特殊的驅(qū)動(dòng)程序,它可以以較小的代價(jià)實(shí)現(xiàn)對(duì)驅(qū)動(dòng)數(shù)據(jù)流的截獲,修改、增加現(xiàn)有驅(qū)動(dòng)常需的功能,具有很強(qiáng)的實(shí)用性。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微軟
    +關(guān)注

    關(guān)注

    4

    文章

    6705

    瀏覽量

    106968
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7261

    瀏覽量

    127892
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    3001

    瀏覽量

    90880
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何為ISA設(shè)備編寫WDM驅(qū)動(dòng)程序

    /XP/2003操作系統(tǒng)。這種具有跨平臺(tái)性的設(shè)備驅(qū)動(dòng)模型可以大大簡(jiǎn)化驅(qū)動(dòng)程序開發(fā)工作,為用戶的PNP設(shè)備驅(qū)動(dòng)完成了大量的底層工作。
    的頭像 發(fā)表于 10-17 08:30 ?5379次閱讀

    請(qǐng)問怎樣去設(shè)計(jì)一種過濾器驅(qū)動(dòng)程序?

    過濾器驅(qū)動(dòng)程序具有什么功能?過濾器驅(qū)動(dòng)程序有什么應(yīng)用價(jià)值?怎樣去設(shè)計(jì)一種過濾器驅(qū)動(dòng)程序?
    發(fā)表于 04-26 06:41

    WINCE驅(qū)動(dòng)程序開發(fā)指南

    CE驅(qū)動(dòng)程序所有驅(qū)動(dòng)皆為動(dòng)態(tài)鏈接庫驅(qū)動(dòng)實(shí)現(xiàn)中可以調(diào)用所有標(biāo)準(zhǔn)的APICE驅(qū)動(dòng)程序模型本機(jī)
    發(fā)表于 07-07 15:06 ?41次下載

    WDM設(shè)備驅(qū)動(dòng)程序開發(fā),Windows 2000/XP WD

    Windows 2000/XP WDM設(shè)備驅(qū)動(dòng)程序開發(fā)主要介紹DriverStudio開發(fā)工具開發(fā)Windows 2000/XP下的
    發(fā)表于 09-13 22:58 ?0次下載
    <b class='flag-5'>WDM</b>設(shè)備<b class='flag-5'>驅(qū)動(dòng)程序</b><b class='flag-5'>開發(fā)</b>,Windows 2000/XP WD

    IEEE 1394設(shè)備的WDM驅(qū)動(dòng)程序設(shè)計(jì)

    文 中結(jié)合IEEE1 394總線規(guī)范及具體應(yīng)用實(shí)例,開發(fā)了IEEE1394設(shè)備的WDM驅(qū)動(dòng)程序,詳細(xì)介紹了在Windows2 000/xp環(huán)境下利用DDK開發(fā)IEEE 1394設(shè)備
    發(fā)表于 07-10 15:50 ?40次下載

    WDM設(shè)備驅(qū)動(dòng)程序開發(fā)中的若干問題

             為實(shí)現(xiàn)儀器系統(tǒng)中全自動(dòng)化的需要及解決數(shù)據(jù)采集卡中AD 和DA 的同步問題,采用WDM 設(shè)備驅(qū)動(dòng)程序
    發(fā)表于 09-09 08:53 ?21次下載

    基于NDIS中間驅(qū)動(dòng)的包過濾器的設(shè)計(jì)實(shí)現(xiàn)

    分析了網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范(NDIS)的體系結(jié)構(gòu)和標(biāo)準(zhǔn)開發(fā)接口。介紹了設(shè)計(jì)實(shí)現(xiàn)局域網(wǎng)數(shù)據(jù)包過濾器的關(guān)鍵技術(shù)和包過濾的基本過程。最后完成了實(shí)驗(yàn)
    發(fā)表于 09-24 16:36 ?9次下載

    USB設(shè)備的WDM驅(qū)動(dòng)程序設(shè)計(jì)

    本文介紹了WDM驅(qū)動(dòng)模型,并且針對(duì)USB總線給出了USB設(shè)備的WDM驅(qū)動(dòng)程序的設(shè)計(jì)方法
    發(fā)表于 10-13 15:48 ?0次下載

    PCI設(shè)備的WDM驅(qū)動(dòng)程序開發(fā)

    本文簡(jiǎn)要介紹了WDM驅(qū)動(dòng)程序的結(jié)構(gòu)體系,之后結(jié)合PCI設(shè)備的結(jié)構(gòu)特點(diǎn),通過實(shí)例說明如何利用驅(qū)動(dòng)程序開發(fā)工具DriverWorks開發(fā)PCI設(shè)
    發(fā)表于 05-19 18:11 ?0次下載

    Windows WDM設(shè)備驅(qū)動(dòng)程序開發(fā)指南

    書主要介紹Windows 98和Windows 2000新的驅(qū)動(dòng)程序模型(WDM)。描述了WDM設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu)、功能和
    發(fā)表于 12-12 15:31 ?0次下載
    Windows <b class='flag-5'>WDM</b>設(shè)備<b class='flag-5'>驅(qū)動(dòng)程序</b><b class='flag-5'>開發(fā)</b>指南

    Windows 2000下WDM驅(qū)動(dòng)程序的研究與開發(fā)

    本文分析研究了 Windows 2000 下 WDM 驅(qū)動(dòng)程序的基本原理。以 Microsoft 的 DDK 為開發(fā)工具,開發(fā)了基于 PCI 總線的通信接口板的
    發(fā)表于 04-18 10:02 ?0次下載

    Linux設(shè)備驅(qū)動(dòng)程序的平臺(tái)驅(qū)動(dòng)程序和字符驅(qū)動(dòng)程序介紹

    了解Linux設(shè)備驅(qū)動(dòng)程序的基礎(chǔ)知識(shí),重點(diǎn)介紹平臺(tái)驅(qū)動(dòng)程序和字符驅(qū)動(dòng)程序。 提出了簡(jiǎn)單的平臺(tái)驅(qū)動(dòng)程序實(shí)現(xiàn)和簡(jiǎn)單的字符
    的頭像 發(fā)表于 11-27 06:32 ?4804次閱讀

    老式ISA設(shè)備的WDM驅(qū)動(dòng)程序開發(fā)實(shí)現(xiàn)

    ISA設(shè)計(jì)在WINOWS新的驅(qū)動(dòng)程序模型WDM(WINDOWS DRIVER MODEL)中沒有獲得很好的支持,使用WDM實(shí)現(xiàn)需要一些特殊處
    的頭像 發(fā)表于 10-04 17:03 ?3196次閱讀
    老式ISA設(shè)備的<b class='flag-5'>WDM</b><b class='flag-5'>驅(qū)動(dòng)程序</b>的<b class='flag-5'>開發(fā)</b>與<b class='flag-5'>實(shí)現(xiàn)</b>

    Windows文件系統(tǒng)過濾驅(qū)動(dòng)程序介紹

    隔離迷你過濾器驅(qū)動(dòng)程序是一個(gè)Windows文件系統(tǒng)迷你過濾器驅(qū)動(dòng)程序,它將文件數(shù)據(jù)的視圖與同一文件的實(shí)際底層數(shù)據(jù)分開。隔離迷你過濾器的典型示
    的頭像 發(fā)表于 10-24 11:48 ?2320次閱讀
    Windows文件系統(tǒng)<b class='flag-5'>過濾</b><b class='flag-5'>驅(qū)動(dòng)程序</b>介紹

    USB音頻過濾器驅(qū)動(dòng)程序安裝

    電子發(fā)燒友網(wǎng)站提供《USB音頻過濾器驅(qū)動(dòng)程序安裝.pdf》資料免費(fèi)下載
    發(fā)表于 12-19 14:28 ?0次下載
    USB音頻<b class='flag-5'>過濾器</b><b class='flag-5'>驅(qū)動(dòng)程序</b>安裝