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 取得できるプロパティ

プロパティ名プロパティ識別子データ型基本単位説明
UserIddbrProp_UserIdStringScalarユーザ識別子
GroupCountdbrProp_GroupCountInteger32Scalarグループ数
GroupListdbrProp_GroupListString1Enumerationグループ識別子の配列
UserPrivilegedbrProp_UserPrivilegeInteger32Scalar文書空間に対するユーザの特権2
UserPermissiondbrProp_UserPermissionInteger32Scalarユーザ権限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_codeminor_code説明対処
ERR_CORBACORBAの戻り値が設定されます。CORBAでエラーが発生しました。ユーザプログラムでは対処できません。エラー情報として文字列の値を取得して,ユーザプログラムを終了してください。
ERR_DBRERR_ACCESSCONTROL_NOT_SUPPORTEDアクセス制御機能が未サポートです。この操作は実行できません。
ERR_DBRERR_INVALID_STATUSセッションの状態が不正です。一つのセッションに同時に複数のメソッド処理要求が出されています。一つのセッションに対しては,一度に一つの処理要求しか出さないように見直してください。
ERR_DBRERR_SESSION_NOT_CONNECTセッションが接続されていません。セッションを接続してください。
ERR_DMADMARC_BAD_PARAMETER不正な引数が入力されました。正しい引数を指定してください。
ERR_DMADMARC_BAD_PROPIDプロパティの識別子が不正です。正しいプロパティ識別子を指定してください。
ERR_DMADMARC_NO_MEMORYメモリ不足で実行できません。メモリを増設してください。またはメモリを大量に消費しているアプリケーションを停止させて,処理を再実行してください。
ERR_DMADMARC_UNEXPECTED予期しないエラーが発生しました。処理を終了してください。