5.2.6 クラス識別子,プロパティ識別子の定義

ここでは,クラス識別子およびプロパティ識別子のGUID値の実体を定義するために必要な定義について説明します。

DMAが規定しているクラス識別子およびプロパティ識別子は,次のヘッダファイルに定義されています。

UNIXの場合

/opt/HiEDMS/client/include/dmaids.h
/opt/HiEDMS/client/include/dmaidvar.h
/opt/HiEDMS/client/include/edmids.h
/opt/HiEDMS/client/include/edmidvar.h

Windowsの場合

<インストールディレクトリ>¥dmaids.h
<インストールディレクトリ>¥dmaidvar.h
<インストールディレクトリ>¥edmids.h
<インストールディレクトリ>¥edmidvar.h

これらのヘッダファイルは,DBR.hをインクルードすることで間接的にインクルードされるため,明示的にインクルードする必要はありません。ただし,ユーザが作成するアプリケーションプログラムを構成するソースファイルの中の一つに,DMA_INIT_IDおよびEDM_INIT_IDの定義が必要です。

DMA_INIT_IDおよびEDM_INIT_IDの定義は,クラス識別子およびプロパティ識別子のGUID値の実体を定義するために必要な定義です。必ず一つのソースファイルに定義してください。これらを定義しなかったり,二つ以上のソースファイルに定義した場合,リンケージエラーになります。

また,この定義は,必ずDBR.hのインクルードよりも前に定義してください。DBR.hのインクルードよりもあとに定義している場合,DMA_INIT_IDおよびEDM_INIT_IDの定義は無効になります。

定義例を次に示します。

#define DMA_INIT_ID
#define EDM_INIT_ID

#include "DBR.h"
   :

なお,Windowsの場合に,stdafx.hやwindows.hをインクルードするときは,まず,これらのヘッダファイルをインクルードしてから,DMA_INIT_IDおよびEDM_INIT_IDを定義してください。この場合も,DBR.hのインクルードは,定義のあとにしてください。

定義例を次に示します。

#include "stdafx.h"

#define DMA_INIT_ID
#define EDM_INIT_ID

#include "DBR.h"
  :