設定存放裝置類別驅動程式的裝置擴充功能
在存放裝置類別驅動程式所建立之每個裝置物件的 裝置延伸模組 中,該驅動程式會針對它用來管理裝置 I/O 要求的任何驅動程式判斷資料提供儲存體,例如傳遞給 AddDevice的 PDO 指標、 IoAttachDeviceToDeviceStack所傳回之裝置物件的指標、其本身裝置物件的返回指標。 依此類推。
大部分的儲存類別驅動程式也會提供下列資訊的儲存體:
裝置類型特定逾時值
類別驅動程式可以在傳送至埠驅動程式的 SRB 中傳遞逾時值,這有時SRB_FUNCTION_EXECUTE_SCSI要求 (代表每個類別驅動程式查看 SCSI_REQUEST_BLOCK) 。 如果埠驅動程式將要求傳送至基礎驅動程式和要求完成超過指定的逾時值之間的間隔,埠驅動程式會傳回 SRB 及其 SrbStatus 成員設定為 SRB_STATUS_TIMEOUT。
類別驅動程式錯誤處理常式的指標
如需儲存類別驅動程式中錯誤處理的詳細資訊,請參閱 儲存體類別驅動程式的 IoCompletion 常式 。
驅動程式維護裝置上匯流排通訊協定錯誤的計數
用於感知資料之驅動程式配置緩衝區的指標
類別驅動程式必須從快取對齊的非分頁集區配置記憶體給傳回的感知資料。 如需配置驅動程式緩衝區記憶體的詳細資訊,請參閱 配置System-Space記憶體。
驅動程式決定 SrbFlags 的預設值,類別驅動程式會在 SRB 中設定
如果驅動程式設定所配置之 SRB 的 lookaside 清單,則為 lookaside 清單標頭的指標
如需詳細資訊 ,請參閱使用 Lookaside 清單 。
IRP 的指標和 SRB 已配置並保留給即使在低記憶體狀況的要求中,對於分頁作業以及錯誤復原作業 (,例如 儲存體類別驅動程式 ReleaseQueue 常式 所執行的要求)
從HBA 收集之埠驅動程式所STORAGE_ADAPTER_DESCRIPTOR和STORAGE_DEVICE_DESCRIPTOR資料的指標
如需類別驅動程式如何取得及使用此資料的資訊,請參閱 儲存體類別驅動程式的 GetDescriptor 常式。
指出先前和目前 PnP 狀態的旗標,以管理裝置上狀態之間的轉換
指出目前裝置電源狀態的旗標,以避免處理備援電源要求的額外工作
系統分頁檔案計數,如果有的話,裝置上會根據驅動程式所收到的分頁通知要求 (IRP_MJ_PNP,IRP_MN_DEVICE_USAGE_NOTIFICATION)
儲存類別驅動程式無法在不使用 IoAttachDeviceToDeviceStack 傳回的裝置物件指標,並透過驅動程式的 AddDevice 常式儲存在裝置擴充功能中,將要求傳送至其裝置。