uCosminexus DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編

[目次][用語][索引][前へ][次へ]

CdbrSession::GetUserInfoメソッド

機能

ユーザ情報の取得

形式

DmaBoolean GetUserInfo(
  DmaInteger32       lPropDefListCount,
  SDBR_PROPDEF*      pPropDefList,
  SDBR_PROPLIST**    ppPropList)
 
// プロパティ定義情報構造体
struct SDBR_PROPDEF {
    DmaId            PropId;              // プロパティ識別子
};
 
// プロパティ構造体
struct SDBR_PROP {
  DmaId              PropId;              // プロパティ識別子
  DmaInteger32       lType;               // データ型
  DmaInteger32       lCardinality;        // 基本単位
  DmaInteger32       lCount;              // 要素数
  union {                                 // プロパティの値
    pDmaBoolean      pbBoolean;           // Boolean型
    pDmaInteger32    plInteger32;         // Integer32型
    pDmaId           pId;                 // ID型
    pDmapv           ppObject;            // Object型
    ppDmaString_T    ppString;            // String型
  } uniValue;
};
 
// プロパティリスト構造体
struct SDBR_PROPLIST {
    DmaInteger32      lCount;
    SDBR_PROP*        pItem;
};

詳細

セッションが保持するユーザに関する情報を一括取得するメソッドです。

情報は次に示すプロパティとして取得できます。pPropDefListにプロパティの識別子を指定すると,ppPropListに値が設定されます。

なお,アクセス制御機能に対応していない文書空間でこのメソッドをコールするとエラーになります。

表13-2 取得できるプロパティ

プロパティ名 プロパティ識別子 データ型 基本単位 説明
UserId dbrProp_UserId String Scalar ユーザ識別子
GroupCount dbrProp_GroupCount Integer32 Scalar グループ数
GroupList dbrProp_GroupList String1 Enumeration グループ識別子の配列
UserPrivilege dbrProp_UserPrivilege Integer32 Scalar 文書空間に対するユーザの特権2
UserPermission dbrProp_UserPermission Integer32 Scalar ユーザ権限3

注※1
String型でEnumeration型のデータは,SDBR_PROP構造体のlCountに要素数,共用体uniValueのppStringに文字列ポインタ配列が設定されます。

注※2
ユーザの特権は,次に示す定数で返却されます。

表13-3 ユーザ情報に設定された特権を表す定数

定 数 意 味
DBR_PRIV_SECURITY_ADMINISTRATOR セキュリティ管理者である
DBR_PRIV_NONE セキュリティ管理者ではない

注※3
ユーザ権限を表すパーミッションは次に示す定数の論理和で返却されます。

表13-4 ユーザ権限を表すパーミッション定数

定 数 意 味
DBR_PERM_CREATE オブジェクト作成権
DBR_PERM_PRIM_READ_PROPS 基本プロパティ参照権
DBR_PERM_PRIM_WRITE_PROPS 基本プロパティ更新権
DBR_PERM_PRIM_READ_CONTENTS 基本コンテント参照権
DBR_PERM_PRIM_WRITE_CONTENTS 基本コンテント更新権
DBR_PERM_PRIM_LINK 基本リンク権
DBR_PERM_PRIM_VERSION 基本バージョン管理権
DBR_PERM_PRIM_DELETE 基本オブジェクト削除権

引数

lPropDefListCount(入力)

pPropDefListに指定する配列の要素数を指定します。0以下を指定するとエラーになります。

pPropDefList(入力)

取得するプロパティの定義情報である,SDBR_PROPDEF構造体の配列を指定します。NULLを指定した場合は,エラーになります。

SDBR_PROPDEF構造体に指定する内容については,「付録C.1(13) SDBR_PROPDEF構造体(プロパティ定義情報構造体)」を参照してください。

ppPropList(出力)

取得したプロパティ値を格納した構造体である,SDBR_PROPLIST構造体へのポインタが設定されます。ポインタを格納する領域を指定してください。NULLを指定した場合は,エラーになります。

*ppPropListがポイントする領域は,ライブラリが新たに確保したものです。不要になった場合,この領域はメソッドをコールした側がdbrDelete関数によって解放してください。

SDBR_PROPLIST構造体およびSDBR_PROP構造体に設定される内容については,「付録C.1(14) SDBR_PROPLIST構造体(プロパティリスト構造体)」および「付録C.1(12) SDBR_PROP構造体(プロパティ構造体)」を参照してください。

戻り値

DMA_TRUE  正常終了

DMA_FALSE 異常終了

戻り値の詳細

major_code minor_code 説明 対処
ERR_CORBA CORBAの戻り値が設定されます。 CORBAでエラーが発生しました。 ユーザプログラムでは対処できません。エラー情報として文字列の値を取得して,ユーザプログラムを終了してください。
ERR_DBR ERR_ACCESSCONTROL_NOT_SUPPORTED アクセス制御機能が未サポートです。 この操作は実行できません。
ERR_DBR ERR_INVALID_STATUS セッションの状態が不正です。一つのセッションに同時に複数のメソッド処理要求が出されています。 一つのセッションに対しては,一度に一つの処理要求しか出さないように見直してください。
ERR_DBR ERR_SESSION_NOT_CONNECT セッションが接続されていません。 セッションを接続してください。
ERR_DMA DMARC_BAD_PARAMETER 不正な引数が入力されました。 正しい引数を指定してください。
ERR_DMA DMARC_BAD_PROPID プロパティの識別子が不正です。 正しいプロパティ識別子を指定してください。
ERR_DMA DMARC_NO_MEMORY メモリ不足で実行できません。 メモリを増設してください。またはメモリを大量に消費しているアプリケーションを停止させて,処理を再実行してください。
ERR_DMA DMARC_UNEXPECTED 予期しないエラーが発生しました。 処理を終了してください。