LPFN_RIODEREGISTERBUFFER callback function (mswsock.h)

The RIODeregisterBuffer function deregisters a registered buffer used with the Winsock registered I/O extensions.



void LpfnRioderegisterbuffer(



A descriptor identifying a registered buffer.

Return value



The RIODeregisterBuffer function deregisters a registered buffer. When a buffer is deregistered, the application is indicating that it is done with the buffer identifier passed in the BufferId parameter. Any subsequent calls to other functions that try to use this buffer identifier will fail.

If a buffer that is still in use is deregistered, the results are undefined. This is considered a serious error. In the RIORESULT structure returned by the RIODequeueCompletion function, the status will be unchanged from the normal status. An application developer can detect this error condition using the Application Verifier tool.

If an invalid buffer identifier is passed in the BufferId parameter, this is ignored by the RIODeregisterBuffer function.


The function pointer to the RIODeregisterBuffer function 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.


Windows Phone 8: This function is supported for Windows Phone Store apps on Windows Phone 8 and later.

Windows 8.1 and Windows Server 2012 R2: This function is supported for Windows Store apps on Windows 8.1, Windows Server 2012 R2, and later.


Header mswsock.h