HW_PASSIVE_INITIALIZE_ROUTINE回呼函式 (storport.h)

當目前的 IRQL 位於PASSIVE_LEVEL時,HwStorInitialize 例程之後,就會呼叫 HwStorPassiveInitializeRoutine 回呼例程。 HwStorPassiveInitializeRoutine 回呼是藉由呼叫 StorPortEnablePassiveInitialization 例程來設定。 在 HwStorPassiveInitializeRoutine 回呼中, (DPC) 初始化迷你埠的延後過程調用。

語法

HW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine;

BOOLEAN HwPassiveInitializeRoutine(
  PVOID DeviceExtension
)
{...}

參數

DeviceExtension

傳回值

如果迷你埠已成功初始化 DPC 的處理, 則 HwStorPassiveInitializeRoutine 例程會傳回 TRUE ,如果初始化進程失敗,則傳回 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 操作系統驅動程式的需求。

例如,若要定義名為 MyHwPassiveInitializeHwStorPassiveInitializeRoutine 回呼例程,請使用 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的詳細資訊,請參閱 標註函式行為

規格需求

需求
目標平台 Universal
標頭 storport.h (包含 Storport.h)
IRQL PASSIVE_LEVEL (请参阅一节。)

另請參閱

HwStorInitialize

StorPortEnablePassiveInitialization