32#define SO_MAX_RDMA_SIZE 0x700D
33#define SO_RDMA_THRESHOLD_SIZE 0x700E
37#define MEM_READWRITE 3
39#define WSAID_REGISTERMEMORY \
40 {0xC0B422F5, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
42#define WSAID_DEREGISTERMEMORY \
43 {0xC0B422F6, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
45#define WSAID_REGISTERRDMAMEMORY \
46 {0xC0B422F7, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
48#define WSAID_DEREGISTERRDMAMEMORY \
49 {0xC0B422F8, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
51#define WSAID_RDMAWRITE \
52 {0xC0B422F9, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
54#define WSAID_RDMAREAD \
55 {0xC0B422FA, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
57#if(_WIN32_WINNT >= 0x0501)
58#define WSAID_MEMORYREGISTRATIONCACHECALLBACK \
59 {0xE5DA4AF8, 0xD824, 0x48CD, {0xA7, 0x99, 0x63, 0x37, 0xA9, 0x8E, 0xD2, 0xAF}}
162#if(_WIN32_WINNT >= 0x0501)
166(
WSPAPI *LPFN_WSPMEMORYREGISTRATIONCACHECALLBACK)(
251#if(_WIN32_WINNT >= 0x0501)
255WSPMemoryRegistrationCacheCallback(
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLenum GLuint GLenum GLsizei const GLchar * buf
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
#define _In_reads_bytes_(s)
#define _Must_inspect_result_
#define _Out_writes_bytes_(s)
_Field_size_bytes_(len) char FAR *buf
LPWPUQUEUEAPC lpWPUQueueApc
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback
LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext
LPWPUPOSTMESSAGE lpWPUPostMessage
LPWPUSETEVENT lpWPUSetEvent
LPWPUCREATEEVENT lpWPUCreateEvent
LPWPURESETEVENT lpWPUResetEvent
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle
LPWPUCLOSETHREAD lpWPUCloseThread
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread
LPWPUCLOSEEVENT lpWPUCloseEvent
LPWPUFDISSET lpWPUFDIsSet
LPWPUGETPROVIDERPATH lpWPUGetProviderPath
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
struct _WSPUPCALLTABLEEX * LPWSPUPCALLTABLEEX
int WSPAPI WSPRdmaWrite(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUFEX lpBuffers, _In_ DWORD dwBufferCount, _In_reads_bytes_(dwTargetDescriptorLength) LPVOID lpTargetBufferDescriptor, _In_ DWORD dwTargetDescriptorLength, _In_ DWORD dwTargetBufferOffset, _Out_ LPDWORD lpdwNumberOfBytesWritten, _In_ DWORD dwFlags, _In_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
int(WSPAPI * LPFN_WSPDEREGISTERMEMORY)(_In_ SOCKET s, _In_ HANDLE Handle, _Out_ LPINT lpErrno)
int WSPAPI WSPDeregisterRdmaMemory(_In_ SOCKET s, _In_reads_bytes_(dwDescriptorLength) LPVOID lpRdmaBufferDescriptor, _In_ DWORD dwDescriptorLength, _Out_ LPINT lpErrno)
struct _WSABUFEX * LPWSABUFEX
struct _WSPUPCALLTABLEEX WSPUPCALLTABLEEX
int WSPAPI WSPDeregisterMemory(_In_ SOCKET s, _In_ HANDLE Handle, _Out_ LPINT lpErrno)
int WSPAPI WSPRdmaRead(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUFEX lpBuffers, _In_ DWORD dwBufferCount, _In_reads_bytes_(dwTargetDescriptorLength) LPVOID lpTargetBufferDescriptor, _In_ DWORD dwTargetDescriptorLength, _In_ DWORD dwTargetBufferOffset, _Out_ LPDWORD lpdwNumberOfBytesRead, _In_ DWORD dwFlags, _In_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
_Must_inspect_result_ HANDLE WSPAPI WSPRegisterMemory(_In_ SOCKET s, _In_reads_bytes_(dwBufferLength) PVOID lpBuffer, _In_ DWORD dwBufferLength, _In_ DWORD dwFlags, _Out_ LPINT lpErrno)
_Must_inspect_result_ HANDLE(WSPAPI * LPFN_WSPREGISTERMEMORY)(_In_ SOCKET s, _In_reads_bytes_(dwBufferLength) PVOID lpBuffer, _In_ DWORD dwBufferLength, _In_ DWORD dwFlags, _Out_ LPINT lpErrno)
struct _WSABUFEX WSABUFEX
int(WSPAPI * LPFN_WSPDEREGISTERRDMAMEMORY)(_In_ SOCKET s, _In_reads_bytes_(dwDescriptorLength) LPVOID lpRdmaBufferDescriptor, _In_ DWORD dwDescriptorLength, _Out_ LPINT lpErrno)
int(WSPAPI * LPFN_WSPRDMAREAD)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUFEX lpBuffers, _In_ DWORD dwBufferCount, _In_reads_bytes_(dwTargetDescriptorLength) LPVOID lpTargetBufferDescriptor, _In_ DWORD dwTargetDescriptorLength, _In_ DWORD dwTargetBufferOffset, _Out_ LPDWORD lpdwNumberOfBytesRead, _In_ DWORD dwFlags, _In_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
_Must_inspect_result_ int(WSPAPI * LPWSPSTARTUPEX)(_In_ WORD wVersionRequested, _Out_ LPWSPDATA lpWSPData, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ LPWSPUPCALLTABLEEX lpUpcallTable, _Out_ LPWSPPROC_TABLE lpProcTable)
_Must_inspect_result_ int WSPAPI WSPStartupEx(_In_ WORD wVersionRequested, _Out_ LPWSPDATA lpWSPData, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ LPWSPUPCALLTABLEEX lpUpcallTable, _Out_ LPWSPPROC_TABLE lpProcTable)
int(WSPAPI * LPFN_WSPRDMAWRITE)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUFEX lpBuffers, _In_ DWORD dwBufferCount, _In_reads_bytes_(dwTargetDescriptorLength) LPVOID lpTargetBufferDescriptor, _In_ DWORD dwTargetDescriptorLength, _In_ DWORD dwTargetBufferOffset, _Out_ LPDWORD lpdwNumberOfBytesWritten, _In_ DWORD dwFlags, _In_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
_Must_inspect_result_ int(WSPAPI * LPFN_WSPREGISTERRDMAMEMORY)(_In_ SOCKET s, _In_reads_bytes_(dwBufferLength) PVOID lpBuffer, _In_ DWORD dwBufferLength, _In_ DWORD dwFlags, _Out_writes_bytes_(*lpdwDescriptorLength) LPVOID lpRdmaBufferDescriptor, _Inout_ LPDWORD lpdwDescriptorLength, _Out_ LPINT lpErrno)
_Must_inspect_result_ int WSPAPI WSPRegisterRdmaMemory(_In_ SOCKET s, _In_reads_bytes_(dwBufferLength) PVOID lpBuffer, _In_ DWORD dwBufferLength, _In_ DWORD dwFlags, _Out_writes_bytes_(*lpdwDescriptorLength) LPVOID lpRdmaBufferDescriptor, _Inout_ LPDWORD lpdwDescriptorLength, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUOPENCURRENTTHREAD)(_Out_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPURESETEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPUPOSTMESSAGE)(_In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
SOCKET(WSPAPI * LPWPUMODIFYIFSHANDLE)(_In_ DWORD dwCatalogEntryId, _In_ SOCKET ProposedHandle, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(_In_ SOCKET s, _Out_ PDWORD_PTR lpContext, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUCLOSETHREAD)(_In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
WSAEVENT(WSPAPI * LPWPUCREATEEVENT)(_Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPUSETEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUFDISSET)(_In_ SOCKET s, _In_ fd_set FAR *fdset)
_Must_inspect_result_ SOCKET(WSPAPI * LPWPUCREATESOCKETHANDLE)(_In_ DWORD dwCatalogEntryId, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUCLOSESOCKETHANDLE)(_In_ SOCKET s, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUQUEUEAPC)(_In_ LPWSATHREADID lpThreadId, _In_ LPWSAUSERAPC lpfnUserApc, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)(_In_ DWORD dwCatalogEntryId, _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback, _Out_ PDWORD_PTR lpdwContext, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUGETPROVIDERPATH)(_In_ LPGUID lpProviderId, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPUCLOSEEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST)(_In_ SOCKET s, _Inout_ LPWSAOVERLAPPED lpOverlapped, _In_ DWORD dwError, _In_ DWORD cbTransferred, _Out_ LPINT lpErrno)