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 ルーチンは呼び出されないことに注意してください。