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