JetTerm 関数
適用対象: Windows |Windows Server
JetTerm 関数
JetTerm 関数は、JetInit によって初期化されたインスタンスのシャットダウンを開始します。
JetTerm を使用して、 JetCreateInstance によって作成された初期化されていないインスタンスを破棄することもできます。
JET_ERR JET_API JetTerm(
__in JET_INSTANCE instance
);
パラメーター
instance
この呼び出しに使用するインスタンスを指定します。
Windows 2000: このパラメーターは無視され、常に NULL にする必要があります。
Windows XP 以降のリリース: このパラメーターはオーバーロードされています。 1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) でエンジンが動作している場合、このパラメーターは NULL であるか、 JetInit によって返される実際のインスタンスが含まれている可能性があります。 エンジンがマルチインスタンス モードで動作している場合、このパラメーターは JetCreateInstance を使用して作成されたインスタンスへのポインターである必要があります。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errInvalidParameter |
指定されたパラメーターの 1 つに予期しない値が含まれていたか、複数のパラメーターの組み合わせによって予期しない結果が発生しました。 このエラーは、エンジンがマルチインスタンス モードの場合、および pinstance が無効なインスタンスを参照している場合に、JetTerm によって返されます。 Windows XP: この戻り値は Windows XP で導入されています。 |
JET_errNotInitialized |
インスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errTermInProgress |
インスタンスがシャットダウンされているため、操作を完了できません。 |
JET_errRestoreInProgress |
インスタンスで復元操作が進行中であるため、操作を完了できません。 |
JET_errBackupInProgress |
インスタンスでバックアップ操作が進行中のため、操作を完了できません。 |
JET_errTooManyActiveUsers |
指定したインスタンスに対してアクティブなトランザクションを持つセッションが現在存在するため、インスタンスをシャットダウンできません。 このエラーは、JET_bitTermCompleteが使用されている場合にのみ発生します。 |
この関数が成功すると、指定したインスタンスがシャットダウンされます。 インスタンス ハンドルも閉じられ、インスタンス ハンドルを受け取る API では使用できなくなります。 セッションなど、インスタンスに関連付けられている他のすべてのオブジェクトも閉じられます。 チェックポイント ファイル、トランザクション ログ ファイル、およびインスタンスにアタッチされているデータベース ファイルの状態は、シャットダウン プロセス中に変更されます。
使用エラーの結果としてこの関数が失敗した場合、インスタンスは初期化された状態のままであり、何も変更されません。 それ以外の場合、インスタンスは成功したケースに従ってシャットダウンされます。 違いは、インスタンスが次に初期化されるときにクラッシュ復旧を実行する必要があるということです。 エンジンは、必要な回復量を最小限に抑えるために、できるだけ多くのデータをフラッシュしようとします。 概念的には、 JetTerm のこのようなエラーは、プロセスのクラッシュと同じでもありません。
解説
インスタンスで JetTerm が正常に呼び出される前に、インスタンスのホスト プロセスが何らかの理由で終了した場合、インスタンスはクラッシュ状態と見なされます。 クラッシュ復旧は、次にそのインスタンスを初期化しようとしたときに発生します。
要件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
参照
拡張可能なストレージ エンジン ファイル
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2