RIORESULT structure (mswsockdef.h)

The RIORESULT structure contains data used to indicate request completion results used with the Winsock registered I/O extensions.

Syntax

typedef struct _RIORESULT {
  LONG      Status;
  ULONG     BytesTransferred;
  ULONGLONG SocketContext;
  ULONGLONG RequestContext;
} RIORESULT, *PRIORESULT;

Members

Status

The completion status of the Winsock registered I/O request.

BytesTransferred

The number of bytes sent or received in the I/O request.

SocketContext

An application-provided context specified in call to the RIOCreateRequestQueue function.

RequestContext

An application-provided context specified with the registered I/O request to the RIOReceive, RIOReceiveEx, RIOSend, and RIOSendEx functions.

Remarks

The RIORESULT structure defines the data format used to indicate request completion by the Winsock registered I/O extensions. An application requests completion indications by allocating an array of RIORESULT structures and passing the array of RIORESULT structures to the RIODequeueCompletion function along with the element count. The application need not perform any initialization of the RIORESULT structure elements before calling the RIODequeueCompletion function.

The SocketContext member of the RIORESULT structure can be used by an application to identify the RIO_CQ object or the associated application object on which the Winsock registered I/O request was issued. The RequestContext member of the RIORESULT structure can similarly be used to identify the particular Winsock registered I/O request that was completed.

The RIORESULT structure is defined in the Mswsockdef.h header file which is automatically included in the Mswsock.h header file. The Mswsockdef.h header file should never be used directly.

Requirements

Requirement Value
Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Header mswsockdef.h (include Mswsock.h)

See also

RIOCreateRequestQueue

RIODequeueCompletion

RIOReceive

RIOReceiveEx

RIOSend

RIOSendEx