JetCloseFileInstance 関数
適用対象: Windows |Windows Server
JetCloseFileInstance 関数
JetCloseFileInstance 関数は、JetReadFileInstance を使用してそのファイルのデータが抽出された後、JetOpenFileInstance で開かれたファイルを閉じます。
Windows XP: JetCloseFileInstance は Windows XP で導入されました。
JET_ERR JET_API JetCloseFileInstance(
__in JET_INSTANCE instance,
__in JET_HANDLE hfFile
);
パラメーター
instance
この呼び出しに使用するインスタンス。
Windows 2000 の場合、このパラメーターを受け入れる API バリアントは使用できません。サポートされているインスタンスは 1 つだけであるためです。 この場合、この 1 つのグローバル インスタンスの使用が暗黙的に示されます。
Windows XP 以降のリリースでは、このパラメーターを受け入れない API バリアントは、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) の場合にのみ呼び出すことができます。 それ以外の場合、操作はJET_errRunningInMultiInstanceModeで失敗します。
hfFile
読み取るファイルのハンドル。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errClientRequestToStopJetService |
JetStopServiceInstance の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errInvalidParameter |
指定されたパラメーターの 1 つに予期しない値が含まれていたか、複数のパラメーター値の組み合わせによって予期しない結果が発生しました。 これは、次の場合に JetCloseFileInstance で 発生する可能性があります。
|
JET_errNoBackup |
外部バックアップが進行中でないため、操作は失敗しました。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。 |
JET_errRunningInMultiInstanceMode |
実際に複数のインスタンスが既に存在する場合、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) でエンジンを使用しようとしたため、操作は失敗しました。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
成功すると、ファイル ハンドルは閉じられます。 データベース ファイルが閉じられた場合は、関連付けられているデータベース パッチ ファイル (存在する場合) が破棄されます。
失敗した場合、変更は行われません。
解説
現在、データベース エンジンは JetOpenFileInstance を介して一度に 1 つの開いているファイルのみをサポートしています。 JetOpenFileInstance を使用してファイル ハンドルを開く場合は、別のファイルを開く前に JetCloseFileInstance を使用して閉じる必要があります。
要件
要件 | 値 |
---|---|
Client |
Windows Vista または Windows XP が必要です。 |
[サーバー] |
Windows Server 2008 または Windows Server 2003 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
参照
JET_ERR
JET_HANDLE
JET_INSTANCE
JetOpenFileInstance
JetReadFileInstance
JetStopServiceInstance