20 IN long lNetworkEvents,
30 TRACE(
"WSPEventSelect (%lx) %lx %lx\n",
Handle, hEventObject, lNetworkEvents);
60 EventSelectInfo.
Events = 0;
71 if (lNetworkEvents &
FD_OOB) {
87 if (lNetworkEvents &
FD_QOS) {
103 sizeof(EventSelectInfo),
145 TRACE(
"Called (lpNetworkEvents %x)\n", lpNetworkEvents);
154 if (!lpNetworkEvents)
164 ERR(
"Could not make an event %x\n",
Status);
168 EnumReq.
Event = hEventObject;
196 lpNetworkEvents->lNetworkEvents = 0;
200 lpNetworkEvents->lNetworkEvents |=
FD_READ;
205 lpNetworkEvents->lNetworkEvents |=
FD_WRITE;
210 lpNetworkEvents->lNetworkEvents |=
FD_OOB;
215 lpNetworkEvents->lNetworkEvents |=
FD_ACCEPT;
221 lpNetworkEvents->lNetworkEvents |=
FD_CONNECT;
227 lpNetworkEvents->lNetworkEvents |=
FD_CLOSE;
232 lpNetworkEvents->lNetworkEvents |=
FD_QOS;
#define NT_SUCCESS(StatCode)
PSOCKET_INFORMATION GetSocketStructure(SOCKET Handle)
int SetSocketInformation(PSOCKET_INFORMATION Socket, ULONG AfdInformationClass, PBOOLEAN Boolean OPTIONAL, PULONG Ulong OPTIONAL, PLARGE_INTEGER LargeInteger OPTIONAL, LPWSAOVERLAPPED Overlapped OPTIONAL, LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine OPTIONAL)
INT TranslateNtStatusError(NTSTATUS Status)
INT WSPAPI WSPEnumNetworkEvents(IN SOCKET Handle, IN WSAEVENT hEventObject, OUT LPWSANETWORKEVENTS lpNetworkEvents, OUT LPINT lpErrno)
int WSPAPI WSPEventSelect(IN SOCKET Handle, IN WSAEVENT hEventObject, IN long lNetworkEvents, OUT LPINT lpErrno)
FORCEINLINE DWORD MsafdReturnWithErrno(NTSTATUS Status, LPINT Errno, DWORD Received, LPDWORD ReturnedBytes)
NTSYSAPI NTSTATUS NTAPI NtDeviceIoControlFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG DeviceIoControlCode, IN PVOID InBuffer OPTIONAL, IN ULONG InBufferLength, OUT PVOID OutBuffer OPTIONAL, IN ULONG OutBufferLength)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
#define IOCTL_AFD_EVENT_SELECT
#define AFD_EVENT_OOB_RECEIVE
#define AFD_EVENT_CONNECT_FAIL
#define AFD_EVENT_RECEIVE
#define AFD_EVENT_DISCONNECT
#define AFD_INFO_BLOCKING_MODE
#define IOCTL_AFD_ENUM_NETWORK_EVENTS
#define AFD_EVENT_CONNECT
#define AFD_EVENT_GROUP_QOS
NTSTATUS EventStatus[AFD_MAX_EVENTS]
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)