InfoDirectory使用手引書
目次 索引 前ページ次ページ

第3部 SDK編> 第5章 アプリケーション開発環境(LDAP C API)> 5.5 サンプルプログラム

5.5.2 サンプルプログラムの実施手順

 サンプルプログラムのコンパイルから実行までの手順について説明します。

コンパイル手順

  1. “インストール先のフォルダ\id\dir\sdk\c\example”配下のすべてのファイル/フォルダを作業ディレクトリにコピーします。
     
  2. Visual C++などの開発ツールで作業ディレクトリ配下の build\build.dsw ファイルを開きます。
     
    ※ 「build」フォルダで提供しているファイルは Visual C++ 5.0 向けのプロジェクトファイルです。Visual C++ 6.0/.NET を使用する場合は、プロジェクト起動時にそれぞれの形式に変換する旨の確認表示がありますので「はい」を選択してください。
     
  3. コンパイルオプションを設定します。設定方法については、関数インターフェースを参照してください。
     
  4. 接続するInfoDirectoryサーバの環境に合わせて、サンプルソース上でパラメタ値を変更します。該当するパラメタについては、パラメタ一覧を参照してください。なお、パラメタの詳細については、API関数の一覧にある各関数パラメタの説明を参照してください。
     
  5. Visual C++ でコンパイルするサンプルに対応するプロジェクトをビルドします。ビルドが完了すると、「build」フォルダ配下にプロジェクトファイル名と同じフォルダが作成され、実行ファイルが格納されます。

    ※ Visual C++ の使用方法についてはVisual C++ 付属のヘルプ等を参考にしてください。
     

  1. “インストール先のディレクトリ/FJSVidsdk/C/example”配下のすべてのファイルを作業ディレクトリにコピーします。
     
  2. 接続するInfoDirectoryサーバの環境に合わせて、サンプルソース上でパラメタ値を変更します。該当するパラメタについては、パラメタ一覧を参照してください。なお、パラメタの詳細については、API関数の一覧にある各関数パラメタの説明を参照してください。
     
  3. makeコマンドによりサンプルプログラムをコンパイルします。makeコマンドの実行の際に、「makefile」ファイルが存在することを確認してください。サンプルプログラムのファイル一覧にある各LDAP操作のソースファイルに対応する実行ファイルが作成されることを確認してください。
     

[表: パラメタ一覧]

サンプル種別(※)

パラメタ

概要

備考

共通パラメタ

host

接続するInfoDirectoryサーバのホスト名、またはIPアドレス

 

port

InfoDirectoryサーバのポート番号

デフォルトのポート番号は以下のようになります。
- LDAP_PORT: 389
- LDAP_SSL_PORT: 636(SSLアクセス用)

binddn

BINDするためのDN

 

passwd

BINDするためのパスワード

 

sslenv

SSLENV構造体のアドレス

構造体の各メンバについては、ldap_sslinitを参照してください。

エントリの検索

s_base

サーチベースのDN

 

scope

検索対象範囲

以下のいずれかを指定します。
- LDAP_SCOPE_BASE: s_baseで指定したエントリを検索
- LDAP_SCOPE_ONELEVEL: s_baseで指定したエントリの1階層下のエントリを検索
- LDAP_SCOPE_SUBTREE: s_baseで指定したエントリとその配下の全エントリの中から検索

filter

検索フィルタ

すべてのエントリを検索する場合は、“(objectclass=*)”を指定してください。

attrs

通知する属性名

複数の属性名を配列で指定します。配列の最後には、NULLを設定する必要があります。

dopaging

ページングの可否

ページングを行う場合は TRUE、行わない場合は FALSE を指定してください。

pagesize

ページングのサイズ

dopagingにTRUEを設定した場合にのみ有効です。

dosort

サーバソートの可否

サーバソートを行う場合は TRUE、行わない場合は FALSE を指定してください。

sortarray

ソートするキー

ソートするキーを配列で指定します。配列の最後には、NULLを設定する必要があります。
dosortにTRUEを設定した場合にのみ有効です。

属性値の比較

cmp_dn

比較を行うエントリのDN

 

attr

比較を行う属性名

 

value

比較対象の文字列データ

 

エントリの変更

mod_dn

変更するエントリのDN

 

mods

変更する属性情報

(LDAPMod構造体のポインタ配列のアドレス)

構造体の各項目に設定する値は、ldap_modifyを参照してください。

エントリの変名

old_dn

変名するエントリのDN

 

new_dn

変名語のDN

変名後のDNをもつエントリが存在しないように、サンプルプログラム内で事前にエントリが削除されます。

new_rdn

新しいRDN

 

mods

追加する属性情報

(LDAPMod構造体のポインタ配列のアドレス)

サンプルプログラム内で変名するエントリを事前に作成されます。このパラメタの詳細については、サンプル種別「エントリの追加」を参照してください。

NMODS

追加するエントリの属性の数

同上

work_area

作業用の構造体

日本語を扱う場合に、modsの内容に合わせ変更する必要があります。

エントリの追加

add_dn

追加するエントリのDN

 

mods

追加する属性情報

(LDAPMod構造体のポインタ配列のアドレス)

構造体の各項目に設定する値は、ldap_addを参照してください。

NMODS

追加する属性名の数

modsの配列長を指定してください。

work_area

作業用の構造体

日本語を扱う場合に、modsの内容に合わせ変更する必要があります。

エントリの削除

del_dn

削除するエントリのDN

 

※サンプル種別は、サンプルプログラムのファイル一覧と対応しています。

実行手順

上記で作成された実行ファイルを直接実行します。

例1では、サンプルプログラムが正常に終了したことを示します。なお、上記はSolaris OE版の実行例です。

例2では、サンプルプログラム(search.c)中のldap_simple_bind_sでエラーとなっています。エラーメッセージ「Can't contact LDAP server」から、InfoDirectoryサーバが起動されていない、または接続先サーバ情報に誤りがあるなどの原因が考えられます。

サンプルプログラムで出力されるメッセージについては、LDAPエラーコードの“対応するメッセージ”を参照してください。

なお、上記はSolaris OE版の実行例です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005