"API Version 0.2.2" LastUpdate : 03/02/24

構造体

TNsmPluginInitInfo

TNsmPluginInitInfo 構造体は Initialize 関数で使用されます。

typedef struct {
  int cbSize;
  TCreateServiceProc CreateService;
  TGetServiceProc GetService;
  TCallServiceProc CallService;
  TCreateEventProc CreateEvent;
  TGetEventProc GetEvent;
  TNotifyEventProc NotifyEvent;
  THookEventProc HookEvent;
  TUnhookEventProc UnhookEvent;
} TNsmPluginInitInfo, *PNsmPluginInitInfo;

TNsmPluginInfo

TNsmPluginInfo 構造体は GetPluginInfo サービスで使用されます。

typedef struct {
  int cbSize;
  LPCTSTR lpModuleName;
  int nInfoNo;
  LPTSTR lpBuffer;
  int nBufferSize;
} TNsmPluginInfo, *PNsmPluginInfo;

cbSize
構造体のサイズ
lpModuleName
モジュール名
nInfoNo
取得したい情報番号
意味
NMPI_APIVER プラグインが実装している API のバージョン
NMPI_MODULENAME モジュール名
NMPI_TITLE プラグイン名
NMPI_DESCRIPTION プラグインの簡単な説明
NMPI_AUTHOR 作者
NMPI_COPYRIGHT 著作権表示
NMPI_PLUGINVER プラグインのバージョン
lpBuffer
情報を格納するバッファ
nBufferSize
バッファの大きさ

TLogInInfo

typedef struct {
  int cbSize;
  LPCTSTR lpAccount;
  LPCTSTR lpPassword;
  int nStatus;
}TLogInInfo, *PLogInInfo;

cbSize
構造体のサイズ
lpAccount
アカウント
lpPassword
パスワード
nStatus
ユーザの初期状態
意味
NMST_OFFLINE オフライン
NMST_ONLINE オンライン
NMST_BUSY 取り込み中
NMST_IDLE アイドル
NMST_BERIGHTBACK すぐ戻ります
NMST_AWAY 退席中
NMST_ONTHEPHONE 電話中
NMST_OUTTOLUNCH 昼休み
NMST_HIDDEN 不可視

TEnumMemberInfo

typedef struct {
  int cbSize;
  HNsmConnection hConnection;
  int nCond;
  TEnumMemberCallback lpCallBackProc;
  int nData;
} TEnumMemberInfo, *PEnumMemberInfo;

cbSize
構造体のサイズ
hConnection
コネクション識別子
nCond
検索条件
意味
0 すべてのメンバを列挙
lpCallBackProc
コールバック関数
nData
コールバック関数に渡される任意データ

TEnumGroupInfo

typedef struct {
  int cbSize;
  HNsmConnection hConnection;
  int nCond;
  TEnumGroupCallback lpCallBackProc;
  int nData;
} TEnumGroupInfo, *PEnumGroupInfo;

cbSize
構造体のサイズ
hConnection
コネクション識別子
nCond
検索条件
意味
0 すべてのグループを列挙
lpCallBackProc
コールバック関数
nData
コールバック関数に渡される任意データ

TEnumSessionMemberInfo

typedef struct {
  int cbSize;
  HNsmSession hSession;
  int nCond;
  TEnumMemberCallback lpCallBackProc;
  int nData;
} TEnumSessionMemberInfo, *PEnumSessionMemberInfo;

cbSize
構造体のサイズ
hSession
セッション識別子
nCond
検索条件
意味
0 すべてのメンバを列挙
lpCallBackProc
コールバック関数
nData
コールバック関数に渡される任意データ

TNsmInfo

typedef struct {
  int nType;
  LPBYTE lpBuffer;
  int nBufferSize;
} TNsmInfo, *PNsmInfo;

nType
情報の型
意味
NMIT_STRING Ansi 文字列
NMIT_WIDESTRING Unicode 文字列
NMIT_INTEGER 符号付き32bit整数値
NMIT_BOOL 真偽値
lpBuffer
情報を格納するバッファ
nBufferSize
バッファのサイズ

TNsmMemberInfo

typedef struct {
  int cbSize;
  LPCTSTR lpAccount;
  int nInfoKey;
  PNsmInfo lpInfo;
  int nFlags;
} TNsmMemberInfo, *PNsmMemberInfo;

cbSize
構造体のサイズ
lpAccount
情報を設定or取得したいメンバのアカウント
nInfoKey
設定or取得したい情報のキー
情報の型 情報
NMMI_ACCOUNT NMIT_STRING アカウント(読み出し専用)
NMMI_NAME NMIT_WIDESTRING 表示名
NMMI_STATUS NMIT_INTEGER 状態
NMST_OFFLINE オフライン
NMST_ONLINE オンライン
NMST_BUSY 取り込み中
NMST_IDLE アイドル
NMST_BERIGHTBACK すぐ戻ります
NMST_AWAY 退席中
NMST_ONTHEPHONE 電話中
NMST_OUTTOLUNCH 昼休み
NMST_HIDDEN 不可視
NMST_CUSTOM カスタム
NMMI_STATUSSTRING NMIT_WIDESTRING 状態を表す文字列
NMMI_BUSYNESS NMIT_INTEGER 忙しさ(0..100)
NMMI_GROUPID NMIT_INTEGER 所属するグループのID
lpInfo
情報を格納する構造体へのポインタ
nFlags
予約

TNsmGroupInfo

typedef struct {
  int cbSize;
  int nGroupID;
  int nInfoKey;
  PNsmInfo lpInfo;
  int nFlags;
} TNsmGroupInfo, *PNsmGroupInfo;

cbSize
構造体のサイズ
nGroupID
情報を設定or取得したいグループのID
nInfoKey
設定or取得したい情報のキー
情報の型 情報
NMGI_ID NMIT_INTEGER グループ識別子(読み出し専用)
NMGI_NAME NMIT_WIDESTRING 表示名
lpInfo
情報を格納する構造体へのポインタ
nFlags
予約

TNsmConnectionInfo

typedef struct {
  int cbSize;
  int nInfoKey;
  PNsmInfo lpInfo;
} TNsmConnectionInfo, *PNsmConnectionInfo;

cbSize
構造体のサイズ
nInfoKey
取得したい情報のキー名
情報の型 情報
NMCI_USER_ACCOUNT 文字列 ユーザのアカウント(読み出し専用)
NMCI_USER_NAME 文字列 ユーザの表示名
NMCI_USER_STATUS 整数 ユーザの状態
NMST_OFFLINE オフライン
NMST_ONLINE オンライン
NMST_BUSY 取り込み中
NMST_IDLE アイドル
NMST_BERIGHTBACK すぐ戻ります
NMST_AWAY 退席中
NMST_ONTHEPHONE 電話中
NMST_OUTTOLUNCH 昼休み
NMST_HIDDEN 不可視
NMST_CUSTOM カスタム
NMCI_USER_STATUSSTRING 文字列 状態を表す文字列
NMCI_USER_BUSYNESS 整数 忙しさ(0..100)
NMCI_PROTOCOL 文字列 プロトコル名(読み出し専用)
NMCI_CAPTION 文字列 キャプション
NMCI_STATUS 整数 接続状態
NMCS_DISCONNECTED 切断
NMCS_CONNECTED 接続
NMCS_CONNECTING 接続中
NMCS_DISCONNECTING 切断中
lpInfo
情報を格納する構造体へのポインタ

TNsmSessionInfo

typedef struct {
  int cbSize;
  int nInfoKey;
  PNsmInfo lpInfo;
} TNsmSessionInfo, *PNsmSessionInfo;

cbSize
構造体のサイズ
nInfoKey
取得したい情報のキー
情報の型 情報
NMCI_CAPTION 文字列 キャプション
NMCI_STATUS 整数 接続状態
NMCS_DISCONNECTED 切断
NMCS_CONNECTED 接続
NMCS_CONNECTING 接続中
NMCS_DISCONNECTING 切断中
NMSI_CONNECTION 整数 親コネクションのハンドル
NMCI_PROTOCOL 文字列 プロトコル名(読み出し専用)
lpInfo
情報を格納する構造体へのポインタ

TMessageBoxInfo

typedef struct {
  int cbSize;
  HWND hWnd;
  LPCWSTR lpText;
  LPCWSTR lpCaption;
  DWORD uType;
} TMessageBoxInfo, *PMessageBoxInfo;

cbSize
構造体のサイズ
hWnd
親ウィンドウのハンドル(0 の場合は自動設定)
lpText
テキスト
lpCaption
キャプション
uType
MB_フラグ

TNotifyInfo

typedef struct {
  int cbSize;
  LPCWSTR lpText;
  int nTimeToLive;
  int nIcon;
  LPCWSTR lpLinkTo;
  TNotifyClickCallback lpOnClick;
  int nData;
} TNotifyInfo, *PNotifyInfo;

cbSize
構造体のサイズ
lpText
表示する文字列
nTimeToLive
有効表示時間(秒、0=ずっと表示、-1=デフォルト値)
nIcon
表示するアイコンの種類
アイコン
NMNI_EXCLAMATION 警告
NMNI_STOP エラー
NMNI_INFORMATION 情報
NMNI_QUESTION 問い合わせ
NMNI_MESSAGE メッセージ着信
NMNI_MAIL メール着信
NMNI_FILE ファイル着信
NMNI_CONNECT 接続
NMNI_DISCONNECT 切断
NMNI_ONLINE メンバオンライン
NMNI_OFFLINE メンバオフライン
NMNI_BUSY メンバビジー
lpLinkTo
クリックしたときに開くURL
lpOnClick
クリックしたときに呼ばれるコールバック関数
nData
コールバック関数に渡す任意データ

TOpenSessionInfo

typedef struct {
  int cbSize;
  LPCTSTR lpToAccount;
} TOpenSessionInfo, *POpenSessionInfo;

cbSize
構造体のサイズ
lpToAccount
宛先

TTextAttributeInfo

typedef struct {
  int cbSize;
  LPCWSTR lpFontName;
  int nCharSet;
  int nFontSize;
  int nFontColor;
  int nBgColor;
  int nStyles;
} TTextAttributeInfo, *PTextAttributeInfo;

cbSize
構造体のサイズ
lpFontName
フォント名
nCharSet
キャラクタセット(ShiftJIS = 128)
nFontSize
文字サイズ(ポイント)
nFontColor
文字色
nBgColor
背景色
nStyles
書式フラグ
意味
NMFS_BOLD 太字
NMFS_ITALIC 斜体
NMFS_UNDERLINE 下線
NMFS_STRIKEOUT 取消線

TMessageInfo

typedef struct {
  int cbSize;
  LPCTSTR lpFrom;
  LPCWSTR lpBody;
  PTextAttributeInfo lpTextAttribute;
  int nFlags;
} TMessageInfo, *PMessageInfo;

cbSize
構造体のサイズ
lpFrom
差出人アカウント(送信の場合は NULL でも可)
lpBody
メッセージの本文(UNICODE)
lpTextAttribute
文字属性
nFlags
予約

TUserStatusInfo

typedef struct {
  int cbSize;
  int nStatus;
  LPCWSTR lpStatusStr;
  int nBusyness;
} TUserStatusInfo, *PUserStatusInfo;

cbSize
構造体のサイズ
nStatus
状態
状態
NMST_OFFLINE オフライン
NMST_ONLINE オンライン
NMST_BUSY 取り込み中
NMST_IDLE アイドル
NMST_BERIGHTBACK すぐ戻ります
NMST_AWAY 退席中
NMST_ONTHEPHONE 電話中
NMST_OUTTOLUNCH 昼休み
NMST_HIDDEN 不可視
NMST_CUSTOM カスタム
lpStatusStr
状態を表す文字列(nStatus が NMST_CUSTOM の時のみ有効)
nBusyness
忙しさ(nStatus が NMST_CUSTOM の時のみ有効)

TUserNameInfo

typedef struct {
  int cbSize;
  LPCWSTR lpName;
} TUserNameInfo, *PUserNameInfo;

cbSize
構造体のサイズ
lpName
新しい名前