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 | String※1 | Enumeration | グループ識別子の配列 |
UserPrivilege | dbrProp_UserPrivilege | Integer32 | Scalar | 文書空間に対するユーザの特権※2 |
UserPermission | dbrProp_UserPermission | Integer32 | Scalar | ユーザ権限※3 |
表13-3 ユーザ情報に設定された特権を表す定数
定 数 | 意 味 |
---|---|
DBR_PRIV_SECURITY_ADMINISTRATOR | セキュリティ管理者である |
DBR_PRIV_NONE | セキュリティ管理者ではない |
表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 | 予期しないエラーが発生しました。 | 処理を終了してください。 |