次の方法で共有


JetEnableMultiInstance 関数

適用対象: Windows |Windows Server

JetEnableMultiInstance 関数

JetEnableMultiInstance 関数は、同じプロセス内の複数のインスタンスで使用するようにデータベース エンジンを構成します。 グローバル システム パラメーターの省略可能な配列は、マルチインスタンス モードへの変更を許可する最初の呼び出し元で使用できます。

Windows XP: JetEnableMultiInstance は Windows XP で導入されています。

    JET_ERR JET_API JetEnableMultiInstance(
      __in_opt      JET_SETSYSPARAM* psetsysparam,
      __in_opt      unsigned long csetsysparam,
      __out_opt     unsigned long* pcsetsucceed
    );

パラメーター

psetsysparam

この呼び出しの結果としてエンジンがマルチインスタンス モードに入った場合にのみ設定するグローバル システム パラメーターの配列。 csetsysparam が 0 の場合、psetsysparam は無視されます。

csetsysparam

この呼び出しの結果としてエンジンがマルチインスタンス モードに入った場合にのみ設定するグローバル パラメーターの配列の要素の数。 csetsysparam が 0 の場合、psetsysparam は無視されます。

pcsetsucceed

この呼び出しの結果として正常に構成されたグローバル システム パラメーターの数へのポインター。

戻り値

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

リターン コード

説明

JET_errSuccess

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

JET_errIndexTuplesInvalidLimits

指定されたタプル インデックス パラメーターは許可されませんでした。 このエラーは、JET_paramIndexTuplesLengthMin、JET_paramIndexTuplesLengthMax、またはJET_paramIndexTuplesToIndexMaxを無効な値に設定した場合にのみ、JetEnableMultiInstance によって返されます。

Windows XP: この戻り値は、Windows XP で導入されています。

JET_errInvalidPath

指定されたファイル システム パスが無効です。 このエラーは、ファイル システム パスを表すシステム パラメーターを設定する場合にのみ 、JetEnableMultiInstance によって返されます。 たとえば、 JET_paramSystemPath はこのエラーを返すことができます。

JET_errRunningInOneInstanceMode

データベース エンジンがシングル インスタンス モード (Windows 2000 互換モード) で動作している場合は無効であるため、操作は失敗しました。

JET_errSystemParamsAlreadySet

エンジンが既にマルチインスタンス モードであるため、JetEnableMultiInstance に失敗しました。

メモ これは、システム パラメーターが指定されていない場合でも発生します。

この関数が成功した場合、データベース エンジンはマルチインスタンス モードで実行するように構成されます。 また、グローバル システム パラメーターのオプションリストを使用してエンジンが正常に構成されました。

この関数が失敗した場合、データベース エンジンは現在のモードのままです。 pcsetsucceed が 0 以外の場合、そのシステム パラメーターの数は設定されたままになります。

解説

この関数は、同じプロセスでマルチユーザー シナリオで使用するようにデータベース エンジンを設定するときに、アプリケーションで特定のシステム パラメーターセットをアトミックに構成する必要がある場合にのみ使用する必要があります。 同期の別の方法が使用可能な場合は、 JetCreateInstanceJetSetSystemParameter を 個別に呼び出す方が望ましいです。

要件

要件

Client

Windows Vista または Windows XP が必要です。

[サーバー]

Windows Server 2008 または Windows Server 2003 が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

Unicode

JetEnableMultiInstanceW (Unicode) および JetEnableMultiInstanceA (ANSI) として実装されます。

参照

JET_ERR
JET_SETSYSPARAM
JetCreateInstance
JetInit
JetSetSystemParameter