Sm_PolicyApi_LookupDirectoryEntry()

目次
casso1283
目次
ユーザ ディレクトリ内のユーザ仕様を調べます。
pszSearchPattern
は、検索の検索パターンを保持します。ユーザ ディレクトリ検索はユーザ ディレクトリ ネームスペースのタイプごとに異なります。
Type
ユーザ ディレクトリ関数、グローバル範囲。
構文
int SM_EXTERN Sm_PolicyApi_LookupDirectoryEntry (
void*pSessionHandle,
const char*pszUserDirOid,
const char*pszSearchPattern,
Sm_PolicyApi_User_t**ppStructUserSpec
);
パラメータ
I/O
説明
pSessionHandle
I
内部ポリシー管理 API データ構造体へのポインタ。この構造体は、管理者セッションおよびクライアント セッションに関する情報を保持します。
pszUserDirOid
I
検索が実行されるユーザ ディレクトリのオブジェクト識別子が含まれ、NULL で終わる文字列です。
pszSearchPattern
I
検索の検索パターンが含まれ、NULL で終わる文字列です。異なるネームスペース タイプの検索式文法に関する情報が以下のセクションに表示されます。
ppStructUserSpec
O
ユーザ構造へのポインタのアドレスです。
LDAP ネームスペースの検索式文法
LDAP ユーザ ディレクトリの検索は、属性値ペアまたは LDAP 検索式に基づいて行うことができます。
  • 属性値ペアの場合、
    pszSearchPattern
    の形式は次のとおりです。
    <attribute-name>=<value>
    たとえば、<
    attribute-name
    > が無効で、<
    value
    > が 0 である場合、LDAP 検索フィルタは次のとおりです。
    Base:'o=airius.com',
    Filter:
    '(&
    (|(objectclass=organizationalPerson)
    (objectclass=inetOrgPerson)
    (objectclass=organization)
    (objectclass=organizationalUnit)
    (objectclass=groupOfNames)
    (objectclass=groupOfUniqueNames)
    (objectclass=group)
    )
    (disabled=0)
    )'
  • 検索が LDAP 検索式を使用する場合、
    pszSearchPattern
    は LDAP 検索式を保持します。たとえば、検索式が「uid=user1111」である場合、LDAP 検索フィルタは次のとおりです。
    Base:'o=airius.com',
    Filter:
    '(&
    (|(objectclass=organizationalPerson)
    (objectclass=inetOrgPerson)
    (objectclass=organization)
    (objectclass=organizationalUnit)
    (objectclass=groupOfNames)
    (objectclass=groupOfUniqueNames)
    (objectclass=group)
    )
    (uid=user1111)
    )'
ODBC、WinNT およびカスタム ネームスペースの検索式文法
ODBC ユーザ ディレクトリでユーザ、グループまたはその両方を検索できます。その検索は属性値ペアに基づいて実行されます。
pszSearchPattern
の形式は次のとおりです。
[ <class>= ] <value>
この形式の例において、
  • <
    class
    > は空の文字列、またはユーザまたはグループです。空の文字列はユーザとグループを意味します。
  • <
    value
    > はワイルドカード文字列です。
戻り値
  • Sm_PolicyApi_Success。検索は成功しました。
  • Sm_PolicyApi_Failure。ユーザ仕様検索が失敗しました。または、メモリを Sm_PolicyApi_User_t に割り当てることができませんでした。
  • Sm_PolicyApi_NoSession。有効な管理者セッションがありません。
  • Sm_PolicyApi_InvalidHandle。このコールに先立つ有効な初期化はありませんでした。
  • Sm_PolicyApi_InvalidOid。ユーザ ディレクトリ OID が見つかりませんでした。
  • Sm_PolicyApi_UserDirNotValid。ユーザ ディレクトリへの接続はありません。または、ユーザ ディレクトリ プロバイダはロードされていません。