InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) |
ここでは、C言語プログラムからLDAPのクライアントAPIを使用する場合の関数仕様について説明します。
本ライブラリを使用する場合、以下の注意が必要です。
動作環境
SDKのライブラリは、PATH変数に定義されます。
SDKのライブラリは、/usr/libからシンボリック・リンクされています。
コンパイル/リンクの際のオプション
LDAPのクライアントAPI関数を使用する場合には、コンパイルやリンクの際に以下のオプションを指定する必要があります。
idldap.hがインストールされているフォルダ(「インストール先のフォルダ\ID\Dir\sdk\c\include」)を指定してください。
Visual C++ 5.0 または 6.0 使用 |
[ツール] → [オプション] → [ディレクトリ] → [表示するディレクトリ]でインクルードファイルを選択してパスを指定してください。 |
Visual C++ .NET 使用 |
[ツール] → [オプション] → [Projects] → [VC++ディレクトリ] → [ディレクトリを表示するプロジェクト]でインクルードファイルを選択してパスを指定してください。 |
以下のとおりに設定してください。
Visual C++ 5.0 または 6.0 使用 |
[プロジェクト] → [設定] → [C/C++] → [プリコンパイル済みヘッダー] を“プリコンパイル済みヘッダーを自動的に使用”に設定してください。(デフォルト) |
Visual C++ .NET 使用 |
ソリューションエクスプローラでプロジェクトを選択します。[表示] → [プロパティページ] → [C/C++] → [プリコンパイル済みヘッダー]を“自動的に作成する”に設定してください。 |
スタティックリンクライブラリを使用する場合は、FJID_STATICを定義してください。
Visual C++ 5.0 または 6.0 使用 |
[プロジェクト] → [設定] → [C/C++] → [プリプロセッサの定義] に追加してください。 |
Visual C++ .NET 使用 |
ソリューションエクスプローラでプロジェクトを選択します。[表示] → [プロパティページ] → [C/C++] → [プリプロセッサ] に追加してください。 |
マルチスレッド環境で使用する場合には以下を指定します。
"-DMULTI -D_REENTRANT"
“libidldap2.lib”を追加してください。
※ スタティックリンクライブラリを使用する場合、wsock32.libも同様に追加してください。
Visual C++ 5.0 または 6.0 使用 |
[プロジェクト] → [設定] → [リンク] → [オブジェクト/ライブラリモジュール]に追加してください。 |
Visual C++ .NET 使用 |
ソリューションエクスプローラでプロジェクトを選択します。[表示] → [プロパティページ] → [リンカ] → [コマンドライン]に追加してください。 |
LDAP-APIライブラリがインストールされているフォルダ(「インストール先のフォルダ\ID\Dir\sdk\c\lib\dynamic」)を指定してください。
※スタティックリンクライブラリ使用時は「インストール先のフォルダ\ID\Dir\sdk\c\lib\static」を指定してください。
Visual C++ 5.0 または 6.0 使用 |
[ツール] → [オプション] → [ディレクトリ] → [表示するディレクトリ]でライブラリファイルを選択してパスを指定してください。 |
Visual C++ .NET 使用 |
[ツール] → [オプション] → [Projects] → [VC++ディレクトリ] → [ディレクトリを表示するプロジェクト]でライブラリファイルを選択してパスを指定してください。 |
使用するランタイムライブラリには、必ずマルチスレッド用のランタイムライブラリを使用してください。
Visual C++ 5.0 または 6.0 使用 |
[プロジェクト] → [設定] → [C/C++] → [コード生成] → [使用するランタイムライブラリ]で設定します。 |
Visual C++ .NET 使用 |
ソリューションエクスプローラでプロジェクトを選択します。[表示] → [プロパティページ] → [C/C++] → [コード生成] → [ランタイムライブラリ]で設定します。 |
※ Visual C++以外のCコンパイル環境を使用している場合は、各環境に合わせて、インクルードファイル、ライブラリの設定を行ってください。
以下のライブラリを指定します。
"-ldl -lsocket -lnsl -lidldap2"
ヘッダファイル
各関数を呼出す際に使用する構造体やdefineシンボルについては、idldap.hで定義されています。このため、ソース中に以下の行を記述する必要があります。
#include "idldap.h" |
文字列データの受渡し
関数のパラメタで文字列データのアドレスを指定する場合、指定された文字列の最後には、“\0”(NULL文字)が設定されていなければなりません。
また、復帰情報として文字列データのアドレスを返す場合は、通知された文字列の最後に、“\0”(NULL文字)が設定されています。
マルチスレッド環境での使用
LDAPのクライアントAPI関数は、スレッドセーフです。しかし、1個のセションを複数のスレッドで共有することはできません。
複数のスレッドがInfoDirectoryサーバと通信する場合は、各スレッドが各々セションをオープンする必要があります。
アプリケーション実行時
SSLを使用する場合、以下のパスをPATH変数に設定してください。ドライブ名にはシステムがインストールされているドライブ(「ドライブ名:\Program Files\Common Files\Fujitsu Shared\F3FSSMEE」)を指定してください。
例
C:\Program Files\Common Files\Fujitsu Shared\F3FSSMEE |
目次 索引 |