Skip to main content
RIO_EXTENSION_FUNCTION_TABLE structure

The RIO_EXTENSION_FUNCTION_TABLE structure contains information on the functions that implement the Winsock registered I/O extensions.

Syntax


typedef struct _RIO_EXTENSION_FUNCTION_TABLE {
  DWORD                         cbSize;
  LPFN_RIORECEIVE               RIOReceive;
  LPFN_RIORECEIVEEX             RIOReceiveEx;
  LPFN_RIOSEND                  RIOSend;
  LPFN_RIOSENDEX                RIOSendEx;
  LPFN_RIOCLOSECOMPLETIONQUEUE  RIOCloseCompletionQueue;
  LPFN_RIOCREATECOMPLETIONQUEUE RIOCreateCompletionQueue;
  LPFN_RIOCREATEREQUESTQUEUE    RIOCreateRequestQueue;
  LPFN_RIODEQUEUECOMPLETION     RIODequeueCompletion;
  LPFN_RIODEREGISTERBUFFER      RIODeregisterBuffer;
  LPFN_RIONOTIFY                RIONotify;
  LPFN_RIOREGISTERBUFFER        RIORegisterBuffer;
  LPFN_RIORESIZECOMPLETIONQUEUE RIOResizeCompletionQueue;
  LPFN_RIORESIZEREQUESTQUEUE    RIOResizeRequestQueue;
} RIO_EXTENSION_FUNCTION_TABLE, *PRIO_EXTENSION_FUNCTION_TABLE;

Members

cbSize

The size, in bytes, of the structure.

RIOReceive

A pointer to the RIOReceive function.

RIOReceiveEx

A pointer to the RIOReceiveEx function.

RIOSend

A pointer to the RIOSend function.

RIOSendEx

A pointer to the RIOSendEx function.

RIOCloseCompletionQueue

A pointer to the RIOCloseCompletionQueue function.

RIOCreateCompletionQueue

A pointer to the RIOCreateCompletionQueue function.

RIOCreateRequestQueue

A pointer to the RIOCreateRequestQueue function.

RIODequeueCompletion

A pointer to the RIODequeueCompletion function.

RIODeregisterBuffer

A pointer to the RIODeregisterBuffer function.

RIONotify

A pointer to the RIONotify function.

RIORegisterBuffer

A pointer to the RIORegisterBuffer function.

RIOResizeCompletionQueue

A pointer to the RIOResizeCompletionQueue function.

RIOResizeRequestQueue

A pointer to the RIOResizeRequestQueue function.

Remarks

The RIO_EXTENSION_FUNCTION_TABLE structure contains information on the functions that implement the Winsock registered I/O extensions.

The function pointers for the Winsock registered I/O extension functions must be obtained at run time by making a call to the WSAIoctl function with the SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER opcode specified. The input buffer passed to the WSAIoctl function must contain WSAID_MULTIPLE_RIO, a globally unique identifier (GUID) whose value identifies the Winsock registered I/O extension functions. On success, the output returned by the WSAIoctl function contains a pointer to the RIO_EXTENSION_FUNCTION_TABLE structure that contains pointers to the Winsock registered I/O extension functions. The SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER IOCTL is defined in the Ws2def.h header file.The WSAID_MULTIPLE_RIO GUID is defined in the Mswsock.h header file.

Requirements

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

RIOCloseCompletionQueue
RIOCreateCompletionQueue
RIOCreateRequestQueue
RIODequeueCompletion
RIODeregisterBuffer
RIONotify
RIOReceive
RIOReceiveEx
RIORegisterBuffer
RIOResizeCompletionQueue
RIOResizeRequestQueue
RIOSend
RIOSendEx
WSAIoctl