InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.12 LDAP V3プロトコル拡張 |
この関数は、非同期型でプロトコルの拡張を行います。この関数では、LDAPコントロールを指定することができます。【指定形式】
int ldap_extended_operation(
LDAP *ld,
char *exoid,
struct berval *exdata,
LDAPControl **serverctrls,
LDAPControl **clientctrls,
int *msgidp
);【パラメタの説明】
- ld
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- exoid
追加する拡張リクエストに対応したOIDのアドレスを指定します。OIDは、“.”(ドット)で区切られた数字の文字列として設定します。
- exdata
プロトコルの拡張要求に添付するデータのアドレスを指定します。添付するデータがない場合には、NULLを指定します。
- serverctrls
サーバコントロールのアドレスを設定した、ポインタ配列のアドレスを指定します。サーバコントロールを使用しない場合は、このパラメタにNULLを指定します。ここで指定したサーバコントロールは、InfoDirectoryサーバへの変更要求に添付されます。
- clientctrls
クライアントコントロールのアドレスを設定した、ポインタ配列のアドレスを指定します。ただし、本ライブラリではクライアントコントロールをサポートしていないため、このパラメタにはNULLを指定します。
- msgidp
メッセージIDを格納するための変数のアドレスを指定します。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。
- 正常完了の場合 : LDAP_SUCCESS
- 異常完了の場合 : LDAP_SUCCESS以外のLDAPエラーコード
また、正常完了の場合には、msgidpパラメタで指定した変数にメッセージIDが設定されています。
【注意事項】
- 使用する際の制限
この関数は、LDAP V2プロトコルの場合には使用できません。
- 非同期関数の結果獲得
非同期関数の処理結果を受取る場合、ldap_result()を使用します。この時、ldap_extended_operation()の復帰値として返されたメッセージIDを指定します。詳細は、処理結果の受取り/判定を参照してください。
- サーバコントロール
サーバコントロールの形式については、LDAPコントロールを参照してください。
- LDAPエラーコード
LDAPエラーコードの値については、LDAPエラーコードを参照してください。
目次 索引 |