[DLLS] Fix 64 bit issues
[reactos.git] / dll / win32 / msafd / misc / dllmain.c
index f6e04ae..5ec1bc1 100644 (file)
@@ -75,17 +75,17 @@ WSPSocket(int AddressFamily,
     if (lpProtocolInfo && lpProtocolInfo->dwServiceFlags3 != 0 && lpProtocolInfo->dwServiceFlags4 != 0)
     {
         /* Duplpicating socket from different process */
-        if ((HANDLE)lpProtocolInfo->dwServiceFlags3 == INVALID_HANDLE_VALUE)
+        if (UlongToPtr(lpProtocolInfo->dwServiceFlags3) == INVALID_HANDLE_VALUE)
         {
             Status = WSAEINVAL;
             goto error;
         }
-        if ((HANDLE)lpProtocolInfo->dwServiceFlags4 == INVALID_HANDLE_VALUE)
+        if (UlongToPtr(lpProtocolInfo->dwServiceFlags4) == INVALID_HANDLE_VALUE)
         {
             Status = WSAEINVAL;
             goto error;
         }
-        SharedData = MapViewOfFile((HANDLE)lpProtocolInfo->dwServiceFlags3,
+        SharedData = MapViewOfFile(UlongToPtr(lpProtocolInfo->dwServiceFlags3),
                                    FILE_MAP_ALL_ACCESS,
                                    0,
                                    0,
@@ -183,8 +183,8 @@ WSPSocket(int AddressFamily,
     if (SharedData)
     {
         Socket->SharedData = SharedData;
-        Socket->SharedDataHandle = (HANDLE)lpProtocolInfo->dwServiceFlags3;
-        Sock = (HANDLE)lpProtocolInfo->dwServiceFlags4;
+        Socket->SharedDataHandle = UlongToHandle(lpProtocolInfo->dwServiceFlags3);
+        Sock = UlongToHandle(lpProtocolInfo->dwServiceFlags4);
         Socket->Handle = (SOCKET)lpProtocolInfo->dwServiceFlags4;
     }
     else
@@ -422,7 +422,7 @@ error:
     if( SharedData )
     {
         UnmapViewOfFile(SharedData);
-        NtClose((HANDLE)lpProtocolInfo->dwServiceFlags3);
+        NtClose(UlongToHandle(lpProtocolInfo->dwServiceFlags3));
     }
     else
     {
@@ -523,8 +523,8 @@ WSPDuplicateSocket(
     lpProtocolInfo->iAddressFamily = Socket->SharedData->AddressFamily;
     lpProtocolInfo->iProtocol = Socket->SharedData->Protocol;
     lpProtocolInfo->iSocketType = Socket->SharedData->SocketType;
-    lpProtocolInfo->dwServiceFlags3 = (DWORD)hDuplicatedSharedData;
-    lpProtocolInfo->dwServiceFlags4 = (DWORD)hDuplicatedHandle;
+    lpProtocolInfo->dwServiceFlags3 = HandleToUlong(hDuplicatedSharedData);
+    lpProtocolInfo->dwServiceFlags4 = HandleToUlong(hDuplicatedHandle);
 
     if( lpErrno )
         *lpErrno = NO_ERROR;
@@ -903,7 +903,7 @@ WSPBind(SOCKET Handle,
 
     /* Set up Address in TDI Format */
     BindData->Address.TAAddressCount = 1;
-    BindData->Address.Address[0].AddressLength = SocketAddressLength - sizeof(SocketAddress->sa_family);
+    BindData->Address.Address[0].AddressLength = (USHORT)(SocketAddressLength - sizeof(SocketAddress->sa_family));
     BindData->Address.Address[0].AddressType = SocketAddress->sa_family;
     RtlCopyMemory (BindData->Address.Address[0].Address,
                    SocketAddress->sa_data,
@@ -1427,14 +1427,16 @@ GetCurrentTimeInSeconds(VOID)
     return (DWORD)((Time.ll - u1970.ll) / 10000000ULL);
 }
 
+_Must_inspect_result_
 SOCKET
 WSPAPI
-WSPAccept(SOCKET Handle,
-          struct sockaddr *SocketAddress,
-          int *SocketAddressLength,
-          LPCONDITIONPROC lpfnCondition,
-          DWORD dwCallbackData,
-          LPINT lpErrno)
+WSPAccept(
+    _In_ SOCKET Handle,
+    _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR *SocketAddress,
+    _Inout_opt_ LPINT SocketAddressLength,
+    _In_opt_ LPCONDITIONPROC lpfnCondition,
+    _In_opt_ DWORD_PTR dwCallbackData,
+    _Out_ LPINT lpErrno)
 {
     IO_STATUS_BLOCK             IOSB;
     PAFD_RECEIVED_ACCEPT_DATA   ListenReceiveData;
@@ -2885,14 +2887,15 @@ SendToHelper:
  * RETURNS:
  *     Status of operation
  */
-INT
+_Must_inspect_result_
+int
 WSPAPI
-WSPStartup(IN  WORD wVersionRequested,
-           OUT LPWSPDATA lpWSPData,
-           IN  LPWSAPROTOCOL_INFOW lpProtocolInfo,
-           IN  WSPUPCALLTABLE UpcallTable,
-           OUT LPWSPPROC_TABLE lpProcTable)
-
+WSPStartup(
+    _In_ WORD wVersionRequested,
+    _In_ LPWSPDATA lpWSPData,
+    _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
+    _In_ WSPUPCALLTABLE UpcallTable,
+    _Out_ LPWSPPROC_TABLE lpProcTable)
 {
     NTSTATUS Status;
 
@@ -2959,7 +2962,7 @@ WSPAddressToString(IN LPSOCKADDR lpsaAddress,
                    IN OUT LPDWORD lpdwAddressStringLength,
                    OUT LPINT lpErrno)
 {
-    DWORD size;
+    SIZE_T size;
     WCHAR buffer[54]; /* 32 digits + 7':' + '[' + '%" + 5 digits + ']:' + 5 digits + '\0' */
     WCHAR *p;