SmDirInit()

SmDirInit() は、stmndr がカスタム ネームスペースに対するディレクトリ サービス プロバイダを初期化する場合に呼び出されます。
casso127jpjp
SmDirInit() は、
CA Single Sign-on
がカスタム ネームスペースに対するディレクトリ サービス プロバイダを初期化する場合に呼び出されます。
この関数は、他のディレクトリ API 関数が呼び出される前に 1 度呼び出されます。関数は、ポインタのアドレスをディレクトリのハンドルに返します。ハンドルはすべての後続の関数呼び出しで渡されます。
一度管理プロセスが開始すると、
CA Single Sign-on
ポリシー サーバは、ユーザがカスタム ディレクトリ プロバイダが必要なタスクを最初に実行したときに SmDirInit() を呼び出します。
たとえば、ポリシー サーバを開始し、その後即時にカスタム ネームスペースを持つユーザ ディレクトリのプロパティを表示した場合、
CA Single Sign-on
ポリシー サーバは SmDirInit() を呼び出し、次に SmDirInitDirInstance() を呼び出します。
構文
int SM_EXTERN SmDirInit (
   const Sm_Api_Context_t*  lpApiContext,
   void**                   ppHandle,
   const char*              lpszParameter
);
パラメータ
I/O
説明
lpApiContext
I
API コンテキスト構造へのポインタ。
ppHandle
O
ディレクトリ API のハンドルへのポインタのアドレス。このパラメータは SmDirInit() への呼び出しで初期化され、すべての後続の関数呼び出しに渡されます。
たとえば、ディレクトリ側に共有ライブラリをロードするために SmDirInit() を使用している場合、その共有ライブラリ内のすべての関数に対する関数ポインタを保存するために
ppHandle
を使用できます。
lpszParameter
I
CA Single Sign-on
ユーザ ディレクトリ]ダイアログ ボックスの[パラメータ]フィールドで指定される、NULL で終わる文字列。
戻り値
成功した場合は 0、失敗した場合は -1 を返します。
注釈
SmDirInit() が呼び出される場合、ProviderHandle_t をインスタンス化します。その後、このハンドルはほぼすべての後続の関数に渡されます。全プロセスを通して同じ値を使用する必要はありません。値は変更することが許可されています。
SmDirRelease() が呼び出された場合に ProviderHandle_t を解放します。
別の共有ライブラリをロードするために SmDirInit() を使用できます。ユーザのデータが含まれるディレクトリのベンダーは、共有ライブラリの構築により実装できるインターフェースを提供する場合があります。共有ライブラリへのパスを[ユーザ ディレクトリ]ダイアログ ボックスの[ディレクトリのセットアップ]タブ上の[パラメータ]フィールドに置くことで、SmDirInit() を使用してその共有ライブラリをロードできます。[パラメータ]フィールドに入力された文字列は、SmDirInit() および SmDirInitDirInstance() の呼び出しで
lpszParameter
に渡されます。
注:
[パラメータ]フィールドに入力された文字列も、SmDirSearch() および SmDirSearchCount() への呼び出しで
lpszSearchRoot
に渡されます。SmDirInit() に対するコードが
lpszParameter
を使用する必要があり、検索関数に対するコードが検索ルートを必要とする場合、[パラメータ]フィールドから文字列を解析する必要があります。