ユーザ情報変換モジュールの関数の使い方について説明します。
ws_GetUserInfo()
機能
Cookieに設定されたユーザ認証情報を元に、Webコンポーネントを利用するために必要なユーザ情報を取得します。
書式
__declspec(dllexport) int ws_GetUserInfo(const char *cookie, char *username, char *certification,char *errormessage);
int ws_GetUserInfo(const char *cookie, char *username, char * certification, char*errormessage);
パラメタ
const char * | Cookie | (in) | Cookieより取得した文字列 |
char * | Username | (out) | ユーザ名 |
char * | certification | (out) | 認証情報 |
char * | errormessage | (out) | エラーメッセージ |
戻り値
0 | 正常終了 |
上記以外 | エラーコード。エラーの原因を示す任意の値。 |
説明
Cookieより取得された文字列cookieを元に、Webコンポーネントを利用するために必要なユーザ情報を取得し、ユーザ名usernameと認証情報certificationに格納します。正常に取得処理が終了した場合には戻り値に0を格納します。エラーが発生した場合には戻り値に0以外の値を格納し、エラーメッセージerrormessageにエラーの内容を示すメッセージを格納します。
定量制限
usernameの最大長は、WS_MAXLEN_USERNAME(127)バイトとなります。
certificationの最大長は、WS_MAXLEN_CERTIFICATION(127) バイトとなります。
errormessageの最大長は、WS_MAXLEN_ERRORMESSAGE(256) バイトとなります。
その他
username、certification、errormessageは、文字列の終端に必ず終端記号’\0’を配置してください。
WS_MAXLEN_USERNAME、WS_MAXLEN_ CERTIFICATION、WS_MAXLEN_ERRORMESSAGEは終端記号’\0’を含まない長さです。
エラーメッセージerrormessageに日本語を含む内容を格納する場合は、Shift-JISコードにて格納してください。
使用例
===================================================================================
#include <stdio.h> #include <string.h> #include <stdlib.h>
#include "ws_uinfo.h"
/*ユーザ情報変換モジュール:ws_GetUserInfo() */ #if defined _WIN32 || defined _WIN64 __declspec(dllexport) int ws_GetUserInfo(const char* cookie, char* username, char* certification,char* errormessage) #elif defined unix int ws_GetUserInfo(const char* cookie, char* username, char* certification, char* errormessage) #endif { int retcode = 0; /* 戻り値 */
/* 初期化 */ memset(username, ’\0’, WS_MAXLEN_USERNAME+1); memset(certification, ’\0’, WS_MAXLEN_CERTIFICATION+1); memset(errormessage, ’\0’, WS_MAXLEN_ERRORMESSAGE+1);
/* ユーザ情報取得処理 */ [cookieの内容を元にユーザ情報を取得する]: if ([ユーザ情報取得エラー]) { retcode = [エラーコード]; [エラーメッセージをerrormessageに格納する]: } else { [取得したユーザ情報よりユーザ名をusernameに格納する] [取得したユーザ情報より認証情報をcertificationに格納する] } return retcode; }
=====================================================================================