JetGetAttachInfoInstance 関数
適用対象: Windows |Windows Server
JetGetAttachInfoInstance 関数
JetGetAttachInfoInstance 関数は、JetBeginExternalBackupInstance によって開始されたバックアップ中に、バックアップ ファイル セットの一部となるデータベース ファイルの名前をインスタンスに照会するために使用されます。 JetAttachDatabase を使用してインスタンスに現在アタッチされているデータベースのみが考慮されます。 これらのファイルは、その後 JetOpenFileInstance を使用して開き、 JetReadFileInstance を使用して読み取る場合があります。
Windows XP: JetGetAttachInfoInstance は Windows XP で導入されています。
JET_ERR JET_API JetGetAttachInfoInstance(
__in JET_INSTANCE instance,
__out_opt tchar* szz,
__in unsigned long cbMax,
__out_opt unsigned long* pcbActual
);
パラメーター
instance
この呼び出しに使用するインスタンス。
Windows 2000 では、1 つのインスタンスのみがサポートされているため、このパラメーターを受け入れる API バリアントは使用できません。 この場合、この 1 つのグローバル インスタンスの使用が暗黙的に示されます。
Windows XP 以降のリリースでは、このパラメーターを受け入れない API バリアントは、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) の場合にのみ呼び出すことができます。 それ以外の場合、操作はJET_errRunningInMultiInstanceModeで失敗します。
Szz
バックアップ ファイル セットの一部である必要があるデータベース ファイルのセットを記述する null で終わる文字列の一覧を受け取る出力バッファー。 このバッファーで返される文字列の一覧は、レジストリで使用される複数文字列と同じ形式です。 null で終わる各文字列は、順番に返され、その後に最後の null 終端文字が返されます。
cbMax
出力バッファーの最大サイズ (バイト単位)。
pcbActual
実際の量の文字列データを受け取る出力バッファーへのポインター。
戻り値
この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラー と エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errBackupAbortByServer |
現在の外部バックアップが JetStopBackupInstance の呼び出しによって中止されたため、操作に失敗しました。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errClientRequestToStopJetService |
JetStopServiceInstance の呼び出しの結果、セッションに関連付けられているインスタンスのすべてのアクティビティが停止したため、操作を完了することはできません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要がある致命的なエラーが発生したため、操作を完了できません。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errInvalidBackupSequence |
バックアップ操作が順番に呼び出されたため、失敗しました。 現在のバックアップが完全バックアップでない場合、JetGetAttachInfoInstance はこのエラーを返します。 |
JET_errInvalidParameter |
指定されたパラメーターの 1 つに予期しない値が含まれていたか、別のパラメーターの値と組み合わせたときに意味のない値が含まれていました。 これは、指定されたインスタンス ハンドルが無効な場合に JetGetAttachInfoInstance で発生する可能性があります (Windows XP 以降のリリース)。 |
JET_errNoBackup |
外部バックアップが進行中でないため、操作は失敗しました。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中のため、操作を完了できません。 |
JET_errRunningInMultiInstanceMode |
実際には複数のインスタンスが既に存在する場合、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) でエンジンを使用しようとしたため、操作は失敗しました。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
成功すると、バックアップ ファイル セットの一部である必要があるデータベース ファイルのセットに関する要求された情報が、指定された出力バッファーに配置されます。
失敗した場合、出力バッファーの状態は未定義です。 このエラーにより、インスタンスのバックアップ プロセス全体が取り消されます。
解説
出力バッファーが小さすぎてバックアップ ファイル セットの一部である必要があるファイルの完全な一覧を受け入れない場合、この API はエラーまたは警告を返さないことを注意してください。 アプリケーションは常に、このリストの実際のサイズを受け取るバッファーを提供し、その情報を使用してリストが切り捨てられたかどうかを判断する必要があります。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista または Windows XP が必要です。 |
[サーバー] |
Windows Server 2008 または Windows Server 2003 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetGetAttachInfoInstanceW (Unicode) および JetGetAttachInfoInstanceA (ANSI) として実装されます。 |
参照
JET_ERR
JET_INSTANCE
JetAttachDatabase
JetBeginExternalBackupInstance
JetOpenFileInstance
JetReadFileInstance
JetStopBackupInstance
JetStopServiceInstance