BuildIoRingReadFile 関数 (ioringapi.h)
I/O リングを使用して、ファイルからの非同期読み取りを実行します。 この操作は、 ReadFileEx の呼び出しに似ています。
構文
HRESULT BuildIoRingReadFile(
HIORING ioRing,
IORING_HANDLE_REF fileRef,
IORING_BUFFER_REF dataRef,
UINT32 numberOfBytesToRead,
UINT64 fileOffset,
UINT_PTR userData,
IORING_SQE_FLAGS sqeFlags
);
パラメーター
ioRing
読み取り操作を実行する I/O リングへのハンドルを表す HIORING 。
fileRef
読み取るファイルを指定する IORING_HANDLE_REF 。
dataRef
ファイルを読み取るバッファーを指定する IORING_BUFFER_REF 。 指定されたバッファーのサイズは、少なくとも numberOfBytesToRead バイトである 必要があります。
numberOfBytesToRead
読み取るバイト数。
fileOffset
読み取りを開始するファイルへのオフセット。
userData
ファイルの読み取り操作を識別するUINT_PTR値。 BuildIoRingCancelRequest の呼び出しで操作を取り消すときに、この値を指定します。 アプリが操作のキャンセル動作を実装する場合、 userData 値は一意である必要があります。 それ以外の場合、値はシステムによって不透明として扱われ、0 を含む任意の値を指定できます。
sqeFlags
戻り値
次のような HRESULT を返しますが、これらに限定されません。
値 | 説明 |
---|---|
S_OK | Success |
IORING_E_SUBMISSION_QUEUE_FULL | 送信キューがいっぱいになり、追加のエントリをビルドできません。 アプリケーションは既存のエントリを送信し、一部のエントリが完了するまで待ってから、キューにさらに操作を追加する必要があります。 |
IORING_E_UNKNOWN_REQUIRED_FLAG | アプリケーションは、実装に認識されない必須フラグを提供しました。 ライブラリ コードでは、GetIoRingInfo の呼び出しから取得したIORING_INFOの IoRingVersion フィールドをチェックして、サポートされている操作とフラグを決定する I/O リングの API バージョンを決定する必要があります。 アプリケーションは、I/O リングの作成に使用したバージョンを認識している必要があるため、実行時にサポートされていないフラグを提供しないでください。 |
注釈
IsIoRingOpSupported を呼び出し、op パラメーターにIORING_OP_READを指定して、読み取りファイル操作の I/O リングのサポートを確認します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows ビルド 22000 |
サポートされている最小のサーバー | Windows ビルド 22000 |
Header | ioringapi.h |