ldap_search_ext関数 (winldap.h)
ldap_search_ext関数は LDAP ディレクトリを検索し、一致したエントリごとに要求された属性のセットを返します。
構文
WINLDAPAPI ULONG LDAPAPI ldap_search_ext(
[in] LDAP *ld,
[in] PSTR base,
[in] ULONG scope,
[in] PSTR filter,
[in] PZPSTR attrs,
[in] ULONG attrsonly,
[in] PLDAPControlA *ServerControls,
[in] PLDAPControlA *ClientControls,
[in] ULONG TimeLimit,
[in] ULONG SizeLimit,
[out] ULONG *MessageNumber
);
パラメーター
[in] ld
セッション ハンドル。
[in] base
検索を開始するエントリの識別名を含む null で終わる文字列へのポインター。
[in] scope
検索範囲を示す次のいずれかの値を指定します。
LDAP_SCOPE_BASE
基本エントリのみを検索します。
LDAP_SCOPE_ONELEVEL
基本エントリを除き、基本エントリの下の最初のレベルのすべてのエントリを検索します。
LDAP_SCOPE_SUBTREE
ベース エントリと、ベースの下のツリー内のすべてのエントリを検索します。
[in] filter
検索フィルターを指定する null で終わる文字列へのポインター。 詳細については、「 検索フィルター構文」を参照してください。
[in] attrs
一致するエントリごとに返す属性を示す null で終わる文字列の null で終わる配列。 使用可能なすべての属性を取得するには、 NULL を渡します。
[in] attrsonly
属性の型と値の両方を返す場合は 0、型のみを返す場合は 0 以外のブール値。
[in] ServerControls
LDAP サーバー コントロールの一覧。
[in] ClientControls
クライアント コントロールの一覧。
[in] TimeLimit
ローカル検索タイムアウト値 (秒単位) と、検索要求内でサーバーに送信される操作時間制限の両方を指定します。
[in] SizeLimit
検索から返されるエントリの数の制限。 値 0 は制限がないことを意味します。
[out] MessageNumber
要求メッセージ ID。
戻り値
関数が成功した場合、戻り値は LDAP_SUCCESS。
関数が失敗した場合はエラー コードを返します。 詳細については、「 戻り値」を参照してください。
注釈
ldap_search_ext関数は、非同期検索操作を開始します。 ldap_search_extのパラメーターと効果には、ldap_searchのパラメーターと効果が含まれます。 拡張関数には、クライアントとサーバーのコントロールとスレッド セーフをサポートし、各検索操作のサイズと制限時間を指定するための追加のパラメーターが含まれています。
ld セッション ハンドルと共に ldap_set_option 関数を使用して、検索の実行方法を決定するLDAP_OPT_DEREF オプションを設定します。 詳細については、「 セッション オプション」を参照してください。 この関数のSizeLimit パラメーターと TimeLimit パラメーターを優先して、他の 2 つのセッション オプション (LDAP_OPT_SIZELIMITとLDAP_OPT_TIMELIMIT) は無視されます。
操作が成功した場合、 ldap_search_ext は、操作が正常に返されたときに、パラメーターとしてメッセージ ID を呼び出し元に渡します。 操作 の結果を 取得するには、メッセージ ID を使用して ldap_result を呼び出します。
結果が返される速度を制御する必要がある LDAP クライアント アプリケーションでは、目的のページ サイズに設定されたページ結果コントロールと、長さ 0 の文字列に設定された Cookie を指定する検索要求を指定できます。 指定されたページ サイズは、0 より大きく、検索要求で指定された SizeLimit 値より小さい場合があります。
ページ サイズが「セッション オプション」で説明されている SizeLimit 値オプション以上の場合、サーバーは単一ページで要求を満たすことができるため、コントロールを無視する必要があります。 サーバーがこのコントロールをサポートしていない場合、クライアントがクリティカルとして要求した場合、サーバーはサポートされていない Critical Extension のエラーを返す必要があります。それ以外の場合、サーバーはコントロールを無視する必要があります。 このセクションの残りの部分では、サーバーがクライアントのページ結果コントロールを無視しないことを前提としています。
クライアントは、単純なページ結果コントロールと、空の前の列挙キー ("cookie" とも呼ばれます) と初期ページ サイズを含む検索要求をサーバーに送信します。 その後、サーバーはページ サイズで指定されたエントリの数を返し、次のクライアント要求で発行された Cookie を返して、結果の次のページを取得します。 その後、クライアントは検索を発行し、Cookie を含め、必要に応じてページ サイズをリセットします。 その後、サーバーは、指定した数のエントリまで結果を返して応答します。 結果を直接返すように関数に指示するには、同期ルーチン ldap_search_ext_sを使用します。
マルチスレッド: ldap_search_ext の呼び出しはスレッド セーフです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | winldap.h |
Library | Wldap32.lib |
[DLL] | Wldap32.dll |