次の方法で共有


JetCloseFile 関数

適用対象: Windows |Windows Server

JetCloseFile 関数

JetCloseFile 関数は、JetReadFile を使用してそのファイルのデータを抽出した後、JetOpenFile で開かれたファイルを閉じます。

    JET_ERR JET_API JetCloseFile(
      __in          JET_HANDLE hfFile
    );

パラメーター

hfFile

読み取るファイルのハンドル。

戻り値

この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errClientRequestToStopJetService

JetStopService の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。

JET_errInstanceUnavailable

セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。

このエラーは、Windows XP 以降のリリースでのみ返されます。

JET_errInvalidParameter

指定されたパラメーターの 1 つに、予期しない値が含まれていたか、別のパラメーターの値と組み合わせると意味のない値が含まれていました。 これは、次の場合に JetCloseFile で発生する可能性があります。

  • 指定されたインスタンス ハンドルが無効です (Windows XP 以降のリリース)

  • 指定されたファイル ハンドルが無効です。

JET_errNoBackup

外部バックアップが進行中でないため、操作は失敗しました。

JET_errNotInitialized

セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。

JET_errRestoreInProgress

セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。

JET_errRunningInMultiInstanceMode

実際に複数のインスタンスが既に存在する場合、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) でエンジンを使用しようとしたため、操作は失敗しました。

JET_errTermInProgress

セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。

成功すると、ファイル ハンドルは閉じられます。 データベース ファイルが閉じられた場合は、関連付けられているデータベース パッチ ファイル (存在する場合) が破棄されます。

失敗した場合、変更は行われません。

解説

データベース エンジンは現在、 JetOpenFile を介して一度に 1 つの開いているファイルのみをサポートしています。 JetOpenFile を使用してファイル ハンドルを開く場合は、別のファイルを開く前に JetCloseFile を使用して閉じる必要があります。

必要条件

要件

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が必要です。

参照

JET_ERR
JET_INSTANCE
JET_HANDLE
JetOpenFile
JetReadFile
JetStopService