mirror of
https://github.com/reactos/reactos.git
synced 2025-05-09 03:37:08 +00:00
- Check that AFD succeeded the create request
- Use NtCreateFile instead of ZwCreateFile svn path=/trunk/; revision=42959
This commit is contained in:
parent
0ea9c96b9c
commit
291b697b95
1 changed files with 20 additions and 10 deletions
|
@ -235,19 +235,29 @@ WSPSocket(int AddressFamily,
|
||||||
ourselves after every call to NtDeviceIoControlFile. This is
|
ourselves after every call to NtDeviceIoControlFile. This is
|
||||||
because the kernel doesn't support overlapping synchronous I/O
|
because the kernel doesn't support overlapping synchronous I/O
|
||||||
requests (made from multiple threads) at this time (Sep 2005) */
|
requests (made from multiple threads) at this time (Sep 2005) */
|
||||||
ZwCreateFile(&Sock,
|
Status = NtCreateFile(&Sock,
|
||||||
GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE,
|
GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE,
|
||||||
&Object,
|
&Object,
|
||||||
&IOSB,
|
&IOSB,
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE, FILE_OPEN_IF,
|
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||||
0,
|
FILE_OPEN_IF,
|
||||||
EABuffer,
|
0,
|
||||||
SizeOfEA);
|
EABuffer,
|
||||||
|
SizeOfEA);
|
||||||
|
|
||||||
HeapFree(GlobalHeap, 0, EABuffer);
|
HeapFree(GlobalHeap, 0, EABuffer);
|
||||||
|
|
||||||
|
if (Status != STATUS_SUCCESS)
|
||||||
|
{
|
||||||
|
AFD_DbgPrint(MIN_TRACE, ("Failed to open socket\n"));
|
||||||
|
|
||||||
|
HeapFree(GlobalHeap, 0, Socket);
|
||||||
|
|
||||||
|
return MsafdReturnWithErrno(Status, lpErrno, 0, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* Save Handle */
|
/* Save Handle */
|
||||||
Socket->Handle = (SOCKET)Sock;
|
Socket->Handle = (SOCKET)Sock;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue