InitFreeNull 規則 (kmdf)

InitFreeNull 規則會指定接收PWDFDEVICE_INIT為參數的 DIS 無法使用WDFDEVICE_INIT結構的 NULL 指標來呼叫。

架構提供的方法會初始化 WDFDEVICE_INIT 結構。 當驅動程式呼叫 WdfDeviceCreate 以 (FDO) 建立功能裝置物件或 PDO) (實體裝置物件時, WdfDeviceCreate 方法會在成功時將第一個參數設定為 NULL

如果驅動程式在呼叫裝置物件初始化方法或 WdfDeviceCreate 時發生錯誤,驅動程式必須呼叫 WdfDeviceInitFree。 成功呼叫 WdfDeviceInitFree 之後,您應該將 WDFDEVICE_INIT 結構的指標設定為 NULL (PWDFDEVICE_INIT=NULL) 。

驅動程式模型:KMDF

測試方法

在編譯時期

執行 靜態驅動程式驗證器 ,並指定 InitFreeNull 規則。

使用下列步驟來執行程式碼的分析:
  1. 準備程式代碼 (使用角色類型宣告) 。
  2. 執行靜態驅動程式驗證程式。
  3. 檢視和分析結果。

如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式中尋找瑕疵

適用於

WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice

另請參閱

InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4