54 _super::TProperty m_property;
137 virtual size_t Send(
size_t size, LPCVOID P)
144 data.lpData =
const_cast<PVOID
>(P);
145 LPARAM l =
reinterpret_cast<LPARAM
>(&data);
146 DWORD_PTR result = 0;
147 if ( ::SendMessageTimeout(
m_hPartnerWnd, WM_COPYDATA, 0, l, SMTO_NORMAL, 1000, &result) )
161 virtual size_t Receive(
size_t size, LPVOID _P)
210 bool RelayEvent(UINT message, WPARAM wParam, LPARAM lParam, LRESULT& _result)
212 if ( message == WM_COPYDATA )
214 COPYDATASTRUCT* pData =
reinterpret_cast<COPYDATASTRUCT*
>(lParam);
217 size_t size = pData->cbData;
218 PVOID P = pData->lpData;
264 COOKIE_MASK = 0x3FFFFFFF,
265 HASBYTE_MASK = 0xC0000000,
267 HAS1BYTE = 0x00000000,
268 HAS2BYTE = 0x40000000,
269 HAS3BYTE = 0x80000000,
270 HAS4BYTE = 0xC0000000,
304 m_msg = ::RegisterWindowMessage(msg);
314 virtual size_t Send(
size_t size, LPCVOID P)
321 const BYTE* B =
static_cast<const BYTE*
>(P);
325 const DWORD* W =
reinterpret_cast<const DWORD*
>(&B[pos]);
335 ::PostMessage(
m_hPartnerWnd, m_msg, cookie | HAS1BYTE, B[pos]);
338 ::PostMessage(
m_hPartnerWnd, m_msg, cookie | HAS2BYTE, B[pos] | (B[pos + 1] << 8));
341 ::PostMessage(
m_hPartnerWnd, m_msg, cookie | HAS3BYTE, B[pos] | (B[pos + 1] << 8) | (B[pos + 2] << 16));
357 bool RelayEvent(UINT message, WPARAM wParam, LPARAM lParam, LRESULT& _result)
359 if ( message == m_msg )
361 if ( (wParam & COOKIE_MASK) == (
m_dwCookie & COOKIE_MASK) )
363 int len = (
ToInt(wParam & HASBYTE_MASK) >> HASBYTE_SHIFT) + 1;
#define loop(VAR, CNT)
loop構文.
virtual EState Check(void) const
[確認] チェック.
bool RelayEvent(UINT message, WPARAM wParam, LPARAM lParam, LRESULT &_result)
[処理] イベント中継
CCopyDataMessage(void)
コンストラクタ
virtual bool SetReceiveTimeout(DWORD to)
[設定] 受信待ち時間設定.
virtual bool Open(void)
[処理] オープン.
void SetParamater(HWND hPartnerWnd, ULONG_PTR dwCookie=0)
[設定] オープン設定
HWND m_hPartnerWnd
送信先のウィンドウ
virtual void Purge(void)
[処理] パージ.
virtual void Close(void)
[処理] クローズ.
CVectorT< BYTE > m_vbReceivedData
受信したデータ。
virtual bool IsOpened(void) const
[確認] オープン確認.
virtual size_t Receive(size_t size, LPVOID _P)
[処理] 受信.
virtual const TProperty & GetProperty(void) const
[取得] 性能取得
virtual size_t GetReceivingDataSize(void) const
[確認] 受信データ確認.
virtual size_t Send(size_t size, LPCVOID P)
[処理] 送信.
bool RelayEvent(UINT message, WPARAM wParam, LPARAM lParam, LRESULT &_result)
[処理] メッセージ中継.
void SetMessage(LPCTSTR msg)
[設定] メッセージ設定
virtual bool Open(void)
[処理] オープン.
void SetMessage(UINT msg)
[設定] メッセージ設定
CCopyDataPostMessage(void)
コンストラクタ
virtual size_t Send(size_t size, LPCVOID P)
[処理] 送信.
virtual size_t GetSize(void) const
[取得] サイズ取得
virtual size_t RemoveElements(INDEX index, size_t size=0)
[削除] 要素削除.
virtual bool RemoveAll(void)
[削除] 空化
virtual size_t AddElements(size_t size, const TYP *P=NULL)
[追加] 複数要素追加.
virtual INDEX Add(const TYP &t)
[追加] 要素一つ追加.
DWORD ToDword(LPCSTR lpsz, int iBase=10)
[変換] INT変換(ASCII/SJIS用).
int ToInt(LPCSTR lpsz, int iBase=10)
[変換] INT変換(ASCII/SJIS用).
virtual size_t GetElements(size_t size, TYP *_P, INDEX offset=0) const
[取得] 複数要素取り出し.