共用方式為


儲存體類別驅動程式簡介

儲存類別驅動程式會使用妥善建立的 SCSI 類別/埠介面,在系統提供儲存埠驅動程式的任何匯流排上控制其類型的大量儲存裝置, (目前為 SCSI、IDE、USB 和 IEEE 1394) 。 儲存裝置所連線的特定匯流排對儲存類別驅動程式而言是透明的。

任何儲存類別驅動程式會藉由建置 SCSI 要求區塊 , (SRB) 包含 命令描述元區塊 (CDB) 處理 I/O 要求,並透過任何中間篩選驅動程式將它們傳送至基礎儲存體埠驅動程式。

儲存類別驅動程式不提供 SRB 中的定址資訊。 相反地,埠驅動程式 (或較低驅動程式) 負責任何所需的定址。 儲存體埠驅動程式會將 SB 轉譯為基礎主機匯流排介面卡 (HBA) 所需的格式,可能是 SCSI 或 1394 主機匯流排介面卡、IDE 控制器或其他這類硬體,並將命令發出至裝置。 在 Windows 驅動程式套件 (WDK) 中,「HBA」 一詞代表任何這類基礎介面卡或控制器。

對 I/O 管理員和分層在儲存類別驅動程式上方的任何較高層級驅動程式而言,大部分的儲存類別驅動程式都是標準核心模式中繼驅動程式。 因此,每個類別驅動程式都必須有DriverEntry常式、AddDevice常式、Unload常式、一或多個IoCompletion常式,再加上DispatchPnPDispatchPower常式來處理隨插即用和電源 IRP。

儲存體類別驅動程式也必須有 DispatchSystemControl 常式來處理系統控制 IRP,而且可以有任何其他標準較高層級的驅動程式常式,例如 StartIo 常式,如驅動程式設計工具所決定。 如需系統控制和標準核心模式驅動程式常式的詳細資訊,請參閱 標準驅動程式常式

對 PnP 管理員,儲存類別驅動程式是函式 驅動程式,也就是驅動個別裝置的驅動程式。 儲存類別驅動程式也可以作為 匯流排驅動程式,列舉其裝置的子裝置。 例如,磁片等分割媒體裝置的類別驅動程式會傳回代表其分割區的 PDO 清單。 每個這類 PDO 都可以定址為目標裝置,並由自己的類別驅動程式提供服務。

注意

應該如本節所述實作 SCSI 裝置的驅動程式,例如印表機或掃描器。 這類 SCSI 裝置的驅動程式會利用相同的 SCSI 類別/埠介面來控制其裝置,並負責處理 IRP、建置 SRB,並將其傳送至基礎埠驅動程式,如同存放裝置的驅動程式一樣。