DriverEntry の戻り値

DriverEntry ルーチンは、STATUS_SUCCESS または適切なエラー状態のいずれかの NTSTATUS 値を返します。

DriverEntry ルーチンは、STATUS_SUCCESS を返す直前まで、IoRegisterDriverReinitialization への呼び出しを延期する必要があります。 STATUS_SUCCESS を返さない限り、この呼び出しを行う必要はありません。

DriverEntry ルーチンが成功または情報値ではない NTSTATUS 値 (STATUS_SUCCESSなど) を返す場合、その DriverEntry ルーチンのドライバーは読み込まれません。

初期化に失敗する DriverEntry ルーチンは、コントロールを返す前に、既に設定されているシステム オブジェクト、システム リソース、およびレジストリ リソースを解放する必要があります。 ドライバーが IRP_MJ_FLUSH_BUFFERS 要求と IRP_MJ_SHUTDOWN 要求をサポートしている場合、それらの要求のドライバー オブジェクトのディスパッチ エントリ ポイントを NULL にリセットする必要があります。

ドライバーガ初期化に失敗した場合、DriverEntry ルーチンもエラーをログに記録して制御を返す必要があります。 「エラー のログ記録」を参照してください。

ドライバーの DriverEntry ルーチンがエラー状態を返す場合、Unload ルーチンは呼び出されないことに注意してください。