Interstage Application Server Smart Repository運用ガイド |
目次 索引 |
第5章 アプリケーションの作成(C API) | > 5.1 C APIの使用方法 |
本ライブラリを使用する場合、以下の注意が必要です。
動作環境
SDKのライブラリ(libidldap2.dll)が格納されたパスは、PATH変数に定義されます。
SDKのライブラリ(libidldap2.so)が格納されたパスは、/usr/libからシンボリックリンクされています。
LDAPのクライアントAPI関数を使用する場合には、コンパイルやリンクの際に以下のオプションを指定する必要があります。
- コンパイル時(必須)
- インクルードディレクトリの設定
idldap.hがインストールされているフォルダ(“C:\Interstage\ID\Dir\sdk\C\include”)を設定してください。
Visual C++ 5.0、または 6.0 使用
[プロジェクト] > [設定]の[C/C++]タブの[カテゴリ]で“プリプロセッサ”を選択して、“インクルードファイルのパス”を設定してください。
Visual C++ .NET 使用
ソリューションエクスプローラでプロジェクトを選択します。[表示] > [プロパティページ]でプロパティページを開きます。[C/C++] - [全般] で“追加のインクルードディレクトリ”を設定してください。
- プリコンパイル済みヘッダーの設定
以下のとおりに設定してください。
Visual C++ 5.0、または 6.0 使用
[プロジェクト] > [設定]の[C/C++]タブの[カテゴリ]で“プリコンパイル済みヘッダー”を選択して、“プリコンパイル済みヘッダーを自動的に使用”に設定してください。(デフォルト)
Visual C++ .NET 使用
ソリューションエクスプローラでプロジェクトを選択します。[表示] > [プロパティページ]でプロパティページを開きます。 [C/C++] - [プリコンパイル済みヘッダー]を“自動的に作成する”に設定してください。
- ランタイムライブラリの設定
使用するランタイムライブラリは、以下のとおりに設定してください。
Visual C++ 5.0、または 6.0 使用
[プロジェクト] > [設定]の[C/C++]タブの[カテゴリ]で“コード生成”を選択し、[使用するランタイムライブラリ]に“マルチスレッド (DLL)”を設定してください。
Visual C++ .NET 使用
ソリューションエクスプローラでプロジェクトを選択します。[表示] > [プロパティページ]でプロパティページを開きます。[C/C++] - [コード生成] - [ランタイムライブラリ]に“マルチスレッド DLL (/MD)”を設定してください。
includeファイルは、以下のディレクトリにあります。
“/opt/FJSVidsdk/C/include”マルチスレッド環境で使用する場合には以下を指定します。
“-DMULTI -D_REENTRANT”
includeファイルは、以下のディレクトリにあります。
“/opt/FJSVidsdk/C/include”以下を指定します。
“-fPIC”
マルチスレッド環境で使用する場合には以下を指定します。
“-fPIC -DMULTI -D_REENTRANT”- リンク時(必須)
- LDAP-APIライブラリの指定
“libidldap2.lib”を追加してください。
Visual C++ 5.0、または 6.0 使用
[プロジェクト] > [設定]の[リンク]タブの[カテゴリ]で“インプット”を選択して、“オブジェクト/ライブラリ モジュール”を設定してください。
Visual C++ .NET 使用
ソリューションエクスプローラでプロジェクトを選択します。[表示] > [プロパティページ]でプロパティページを開きます。[リンカ] - [入力]で“追加する依存関係”を設定してください。
- ライブラリディレクトリの設定
LDAP-APIライブラリがインストールされているフォルダ“C:\Interstage\ID\Dir\sdk\C\lib\dynamic”を指定してください。
Visual C++ 5.0、または 6.0 使用
[プロジェクト] > [設定]の[リンク]タブの[カテゴリ]で“インプット”を選択して、“追加ライブラリのパス”を指定してください。
Visual C++ .NET 使用
ソリューションエクスプローラでプロジェクトを選択します。[表示] > [プロパティページ]でプロパティページを開きます。[リンカ] - [全般]で“追加のライブラリディレクトリ”を指定してください。
また、[リンカ] - [全般]の“インクリメンタル リンクを有効にする”が“インクリメンタル リンクを行わない(/INCREMENTAL:NO)”が指定されている場合は、“インクリメンタル リンクを行う(/INCREMENTAL)”に変更してください。
ヘッダファイル
各関数を呼び出す際に使用する構造体やdefineシンボルについては、idldap.hで定義されています。このため、ソース中に以下の行を記述する必要があります。
#include "idldap.h"
文字列データの受渡し
関数のパラメタで文字列データのアドレスを指定する場合、指定された文字列の最後には、“\0”(NULL文字)が設定されていなければなりません。
また、復帰情報として文字列データのアドレスを返す場合は、通知された文字列の最後に、“\0”(NULL文字)が設定されています。
マルチスレッド環境での使用
LDAPのクライアントAPI関数は、ldapssl_init()を除いてスレッドセーフです。ただし、1個のセションを複数のスレッドで共有することはできません。
複数のスレッドがSmart Repositoryサーバと通信する場合は、各スレッドが各々セションをオープンする必要があります。
アプリケーション実行時
SSLを使用する場合、以下のパスをPATH変数に設定してください。ドライブ名にはシステムがインストールされているドライブ(「ドライブ名:\Program Files\Common Files\Fujitsu Shared\F3FSSMEE」)を指定してください。
C:\Program Files\Common Files\Fujitsu Shared\F3FSSMEE
目次 索引 |