非同期の入出力(I/O)操作で使用される情報を格納します。
typedef struct _OVERLAPPED { ULONG_PTR Internal; ULONG_PTR InternalHigh; DWORD Offset; DWORD OffsetHigh; HANDLE hEvent; } OVERLAPPED;
オペレーティングシステムによる使用のために予約されています。このメンバは拡張エラー情報がERROR_IO_PENDINGに設定されることなくGetOverlappedResult関数から戻ったときに有効で、システム依存の状態が格納されます。
オペレーティングシステムによる使用のために予約されています。このメンバはGetOverlappedResult関数が1 (TRUE) を返したときに有効で、転送されたデータの長さが格納されます。
OffsetHighメンバと合わせて、転送を開始するファイルポインタの位置を指定します。バイト単位で示されたファイルの先頭からのオフセットの下位32ビットを指定します。WriteFile関数やReadFile関数を呼び出す前にこのメンバをセットします。名前付きパイプでの書き込み・読み取りやコミュニケーションデバイスとの通信のときはこのメンバは無視されます。この場合は0にします。
バイト単位で示されたファイルの先頭からのオフセットの上位32ビットを指定します。名前付きパイプでの書き込み・読み取りやコミュニケーションデバイスとの通信のときはこのメンバは無視されます。この場合は0にします。
イベントオブジェクトのハンドルを指定します。作業が完了すると、このイベントオブジェクトがシグナル状態にセットされます。呼び出しプロセスは、非同期関数を呼び出す前に、このメンバに0または有効なイベントオブジェクトのハンドルを格納しておかなければなりません。イベントオブジェクトを作成するには、CreateEvent関数を使います。
WriteFile関数やReadFile関数などの関数は、入出力操作を開始する前にイベントオブジェクトをノンシグナル状態にセットし、操作が完了したときにシグナル状態にセットします。
Windows 95 以降 / Windows NT 3.1 以降
HSP 変数 | メンバ | ||
---|---|---|---|
メンバ名 | オフセット | サイズ | |
ovlp(0) | Internal | 0 | 4 |
ovlp(1) | InternalHigh | 4 | 4 |
ovlp(2) | Offset | 8 | 4 |
ovlp(3) | OffsetHigh | 12 | 4 |
ovlp(4) | hEvent | 16 | 4 |