HW_PASSIVE_INITIALIZE_ROUTINE回呼函式 (storport.h)
HwStorPassiveInitializeRoutine 回呼例程會在目前的 IRQL 處於PASSIVE_LEVEL時,呼叫 HwStorInitialize 例程。 HwStorPassiveInitializeRoutine 回呼是呼叫 StorPortEnablePassiveInitialization 例程來設定。 在 HwStorPassiveInitializeRoutine 回呼中,就會初始化迷你埠的延後過程調用 (DPCs)。
語法
HW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine;
BOOLEAN HwPassiveInitializeRoutine(
PVOID DeviceExtension
)
{...}
參數
DeviceExtension
傳回值
HwStorPassiveInitializeRoutine 例程會傳回 true TRUE,如果迷你埠已成功初始化 DPC 的處理,或如果初始化程式失敗,FALSE。
言論
HwStorPassiveInitializeRoutine 例程應該初始化迷你埠驅動程式將使用的任何 DPC。 埠驅動程式會在PASSIVE_LEVEL呼叫 HwStorPassiveInitializeRoutine,而不會保留任何微調鎖定。 呼叫此例程時會啟用插斷。
HwStorPassiveInitializeRoutine 的名稱只是佔位符。 此回呼例程的實際原型定義於 storport.h ,如下所示:
typedef
BOOLEAN
(*PHW_PASSIVE_INITIALIZE_ROUTINE) (
_In_ PVOID DeviceExtension
);
埠驅動程式會在 PASSIVE IRQL 呼叫 HwStorPassiveInitializeRoutine 例程,而不需要取得任何微調鎖定。
例子
若要定義 HwStorPassiveInitializeRoutine 回呼函式,您必須先提供函式宣告,以識別您要定義的回呼函式類型。 Windows 提供一組驅動程式的回呼函式類型。 使用回呼函式類型宣告函式有助於 驅動程式的程式代碼分析、靜態驅動程式驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows作系統驅動程式的需求。
例如,若要定義 HwStorPassiveInitializeRoutine名為 MyHwPassiveInitialize的回呼例程,請使用 HW_PASSIVE_INITIALIZE_ROUTINE 類型,如下列程式代碼範例所示:
HW_PASSIVE_INITIALIZE_ROUTINE MyHwPassiveInitialize;
然後,實作回呼例程,如下所示:
_Use_decl_annotations_
BOOLEAN
MyHwPassiveInitialize (
_In_ PVOID DeviceExtension
);
{
...
}
HW_PASSIVE_INITIALIZE_ROUTINE 函式類型定義於 Storport.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保在頭檔中套用至 HW_PASSIVE_INITIALIZE_ROUTINE 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 Storport 驅動程式的函式角色類型來宣告函式。 如需 Use_decl_annotations的相關信息,請參閱 批注函式行為。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | storport.h (包括 Storport.h) |
IRQL | PASSIVE_LEVEL (請參閱一節。 |