ldap_open関数 (winldap.h)
[ldap_open は、[要件] セクションで指定したオペレーティング システムで使用できますが、推奨されません。 代わりに、 ldap_initを使用します。
ldap_open関数は、接続ブロックを作成して初期化し、LDAP サーバーへの接続を開きます。
構文
WINLDAPAPI LDAP *LDAPAPI ldap_open(
[in] PSTR HostName,
[in] ULONG PortNumber
);
パラメーター
[in] HostName
null 終端文字列へのポインター。 ドメイン名、ホスト名の一覧、または LDAP サーバー ホストの IP アドレスを表す点線の文字列。 1 つのスペースを使用して、リスト内のホスト名を区切ります。 リスト内の各ホスト名の後にポート番号を付ける場合があります。 オプションのポート番号は、コロン (:)でホスト自体から分離されます。 LDAP ランタイムは、リストされている順序でホストとの接続を試行し、接続が成功すると停止します。 ldap_openのみが呼び出し元に戻る前に接続を試行することに注意してください。 関数 ldap_init は LDAP サーバーに接続しません。
[in] PortNumber
接続先の TCP ポート番号が含まれます。 既定の LDAP ポート 389 は、定数 LDAP_PORTを指定することで取得できます。 ホスト名にポート番号が含まれている場合、このパラメーターは無視されます。
戻り値
関数が成功すると、LDAP データ構造へのポインターの形式でセッション ハンドルが返されます。 不要になったセッション ハンドルを解放し、 ldap_unbindを呼び出します。
関数が失敗した場合は、NULL が返されます。 LdapGetLastError 関数を使用して、エラー コードを取得します。
解説
ldap_openを呼び出して、LDAP サーバーへの接続ブロックを作成します。 HostName には NULL を指定できます。この場合、実行時に既定の LDAP サーバーが検索されます。 ホスト名は一覧表示されている順序で試行され、最初に正常に接続された状態で停止します。 Active Directory サーバーの場合、DsGetDcName 関数を使用してサーバーの名前を取得し、NULL を使用する代わりに HostName パラメーターとして渡すことができます。
HostName が NULL またはドメイン名に設定されている場合は、自動再接続が適用されます。 接続されている DC が接続の有効期間中に何らかの理由で機能しなくなった場合、LDAP は指定されたドメイン内の別の DC に自動的に再接続します。 この動作は、既定でオンになっている LDAP_OPT_AUTO_RECONNECT セッション オプションを使用して、オフまたはオンに切り替えることができます。
LDAP_OPT_HOST_NAMEを使用する場合、既定の LDAP サーバーは Microsoft 固有 のオプションです。 このオプションは、既定の LDAP サーバーのホスト名を指定し、Unicode または ANSI でサーバーのホスト名を返します。ldap_get_optionWまたはldap_get_optionAの使用に応じて返されます。
グローバル カタログのポート番号が引数の 1 つとして ldap_open に渡される場合、そのポート番号に渡される HostName は、エンタープライズで GC を正しく検索するために 、DsGetDcName() の基になる呼び出しのフォレストの名前である必要があります。
ldap_open関数は、セッションの状態データを維持するために LDAP データ構造を割り当て、この構造体へのハンドルを返します。 セッション中に、このハンドルを後続の LDAP 関数呼び出しに渡します。
マルチスレッド: ldap_open の呼び出しはスレッド セーフです。
要件
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | winldap.h |
Library | Wldap32.lib |
[DLL] | Wldap32.dll |