|
////////////////////////////////////////////////////////////////////////////////
//
// Overlap.cpp prototypes
//
////////////////////////////////////////////////////////////////////////////////
// Initialize the overlapped system for handing asynchronous (overlapped) I/O
int
InitOverlappedManager(
);
// Issues the shutdown command for all worker threads to exit
int
StopOverlappedManager(
);
// Queue an overlapped operation for execution
int
QueueOverlappedOperation(
WSAOVERLAPPEDPLUS *lpOverlapped,
SOCK_INFO *Context
);
// Allocate and initialize a WSAOVERLAPPEDPLUS structure which describes an overlapped operation
WSAOVERLAPPEDPLUS *
PrepareOverlappedOperation(
SOCK_INFO *SocketContext,
LspOperation operation,
WSABUF *lpBuffers,
DWORD dwBufferCount,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
LPWSATHREADID lpThreadId,
int *lpErrno
);
// This function handles the completion of an overlapped operation
void CALLBACK
IntermediateCompletionRoutine(
DWORD dwError,
DWORD cbTransferred,
LPWSAOVERLAPPED lpOverlapped,
DWORD dwFlags
);
// If an overlapped operation fails inline, we must undo some state
void
UndoOverlappedOperation(
SOCK_INFO *SocketContext,
WSAOVERLAPPEDPLUS *ProviderOverlapped
);
// Frees all cached WSAOVERLAPPEDPLUS structures when the LSP is unloaded
void
FreeOverlappedLookasideList(
);
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I am a French programmer.
These days I spend most of my time with the .NET framework, JavaScript and html.