14 _hRead = INVALID_HANDLE_VALUE;
25 SECURITY_ATTRIBUTES sa = { 0, 0, 0 };
26 sa.nLength =
sizeof (SECURITY_ATTRIBUTES);
27 sa.bInheritHandle = TRUE;
28 sa.lpSecurityDescriptor = NULL;
39 BOOL ret = ::PeekNamedPipe (
40 _hRead, lpvBuf, dwSize, &dwReadSize, &dwAvail, &dwLeft);
42 return ret == TRUE ? dwReadSize : -1;
49 BOOL ret = ::ReadFile (
_hRead, lpvBuf, dwSize, &dwReadSize, NULL);
51 return ret == TRUE ? dwReadSize : -1;
58 BOOL ret = ::WriteFile (
_hWrite, lpvBuf, dwSize, &dwWrittenSize, NULL);
60 return ret == TRUE ? dwWrittenSize : -1;
65 BOOL ret1 = ::CloseHandle (
_hRead);
66 _hRead = INVALID_HANDLE_VALUE;
67 BOOL ret2 = ::CloseHandle (
_hWrite);
70 return ret1 == TRUE && ret2 == TRUE ? TRUE : FALSE;
パイプに関するWindowsAPIを集約したクラス
BOOL APIENTRY Close()
パイプのクローズ
DWORD APIENTRY Peek(LPVOID lpvBuf, DWORD dwSize) const
メッセージの確認
DWORD APIENTRY Read(LPVOID lpvBuf, DWORD dwSize) const
メッセージの読み込み
BOOL APIENTRY Create()
パイプの作成
BOOL APIENTRY Write(LPVOID lpvBuf, DWORD dwSize) const
メッセージの書き込み