TNB Library
|
オーバーラップ入力管理クラス. [詳解]
#include <TnbOverlapReader.h>
公開メンバ関数 | |
void | Attach (HANDLE hFile, size_t size) |
[設定] アタッチ. [詳解] | |
COverlapReader (void) | |
コンストラクタ [詳解] | |
void | Detach (void) |
[設定] デタッチ. [詳解] | |
size_t | Read (LPVOID _P, DWORD wait=0) |
[読込] 読込み. [詳解] | |
~COverlapReader (void) | |
デストラクタ [詳解] | |
限定公開メンバ関数 | |
virtual bool | OnRead (HANDLE hFile, LPVOID _P, size_t size, OVERLAPPED &overLapped) |
[通知] 読込み. [詳解] | |
オーバーラップ入力管理クラス.
API ::ReadFile() による非同期の読込みをサポートします。HIDなど情報がない時にロックさえるデバイスからの読込みに有効です。
TnbOverlapReader.h の 37 行目に定義があります。
COverlapReader | ( | void | ) |
コンストラクタ
TnbOverlapReader.h の 42 行目に定義があります。
~COverlapReader | ( | void | ) |
デストラクタ
TnbOverlapReader.h の 48 行目に定義があります。
void Attach | ( | HANDLE | hFile, |
size_t | size | ||
) |
[設定] アタッチ.
[in] | hFile | FILE_FLAG_OVERLAPPED 付きでオープンしたハンドル。 |
[in] | size | サイズ。 |
TnbOverlapReader.h の 63 行目に定義があります。
void Detach | ( | void | ) |
[設定] デタッチ.
TnbOverlapReader.h の 74 行目に定義があります。
|
protectedvirtual |
[通知] 読込み.
[in] | hFile | ハンドル。 |
[in] | size | サイズ。 |
[out] | _P | 読込みバッファ。 |
[in,out] | overLapped | オーバーラップ情報。 |
true | 成功 |
false | 失敗 |
COverlapIoReaderで再実装されています。
TnbOverlapReader.h の 130 行目に定義があります。
size_t Read | ( | LPVOID | _P, |
DWORD | wait = 0 |
||
) |
[読込] 読込み.
EventとWaitの付いた ::ReadFile です。
[out] | _P | 読み込むポインタをを指定します。 Attach() で指定したサイズが必要です。 |
[in] | wait | 待ち時間(ms)。 INFINITE を指定すると、結果が帰るまで Waitします。 |
INVALID_SIZE | エラー。 ::GetLastError() でエラー詳細がわかります。 |
0 | データ無し。 |
上記以外 | 成功。数値は読込みサイズ。 |
TnbOverlapReader.h の 91 行目に定義があります。