InitFreeNull ルール (kmdf)
InitFreeNull ルールは、パラメーターとして PWDFDEVICE\_INIT を受け取る DDI を WDFDEVICE_INIT 構造体に対する NULL ポインターを使用して呼び出すことができないことを指定します。
フレームワークによって提供されるメソッドは、WDFDEVICE_INIT 構造体を初期化します。 ドライバーが WdfDeviceCreate を呼び出して機能デバイス オブジェクト (FDO) または物理デバイス オブジェクト (PDO) を作成すると、WdfDeviceCreate メソッドが成功した場合、最初のパラメーターを NULL に設定します。
ドライバーがデバイス オブジェクトの初期化メソッドまたは WdfDeviceCreate を呼び出すときにエラーが発生した場合、ドライバーは WdfDeviceInitFree を呼び出す必要があります。 WdfDeviceInitFree への呼び出しが成功したら、WDFDEVICE_INIT 構造体へポインターを NULL (PWDFDEVICE_INIT=NULL) に設定する必要があります。
ドライバーモデル: KMDF
テスト方法
コンパイル時 |
---|
静的ドライバー検証ツール を実行し、InitFreeNull ルールを指定します。 コードの分析を実行するには、次の手順に従います。詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。 |
適用対象
WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice
関連項目
InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4