フレームワーク オブジェクトの作成エラー

ドライバーがフレームワーク オブジェクトの作成に失敗すると、オブジェクト作成メソッドはエラーの種類を示す NTSTATUS 値を返します。

ドライバーが WDF_OBJECT_ATTRIBUTES 構造体で無効な情報を指定した場合、フレームワークは次のような値を返す可能性があります。

  • STATUS_WDF_OBJECT_ATTRIBUTES_INVALID
    ドライバーはオブジェクト コンテキスト名を指定しましたが、コンテキスト サイズが 0 です。

    ドライバーはコンテキスト サイズの上書き値を指定しましたが、WDF_OBJECT_CONTEXT_TYPE_INFO 構造体を提供しませんでした。

    ドライバーは WDF_OBJECT_ATTRIBUTES の ContextSizeOverride 値に WDF_OBJECT_CONTEXT_TYPE_INFO 構造体の ContextSize メンバーよりも小さい値を指定しました。

    ドライバーは WDF_OBJECT_ATTRIBUTES の ExecutionLevel 値に有効範囲外の値を指定しました。

    ドライバーが、WDF_OBJECT_ATTRIBUTES の SynchronizationScope 値に有効範囲外の値を指定しました。

  • STATUS_WDF_PARENT_ASSIGNMENT_NOT_ALLOWED
    ドライバーはオブジェクトに親を割り当てようとしましたが、フレームワークではその種類のオブジェクトへの親の割り当てが許可されていません。

  • STATUS_WDF_PARENT_ALREADY_ASSIGNED
    ドライバーはオブジェクトに親を割り当てようとしましたが、オブジェクトに既に親が割り当てられています。

  • STATUS_WDF_PARENT_IS_SELF
    ドライバーはオブジェクトをそれ自身の親にしようとしました。

  • STATUS_WDF_SYNCHRONIZATION_SCOPE_INVALID
    ドライバーは WDF_SYNCHRONIZATION_SCOPE オブジェクト型に対して無効な値を指定しました。

  • STATUS_WDF_EXECUTION_LEVEL_INVALID
    ドライバーは WDF_EXECUTION_LEVEL オブジェクト型に対して無効な値を指定しました。

 

フレームワークによって定義された構造体の Size メンバーがその構造体の実際のサイズと一致しない場合、フレームワークは STATUS_INFO_LENGTH_MISMATCH を返す可能性があります。

新しいオブジェクトにメモリを割り当てられない場合、フレームワークは STATUS_INSUFFICIENT_RESOURCES を返す可能性があります。

個々のオブジェクト作成メソッドも、その他の NTSTATUS 値を返すことがあります。各作成メソッドが返すその他の戻り値の詳細については、メソッドのリファレンス ページを参照してください。