LockFileEx: forward overlapped->hEvent to NtLockFile
LockFile: zero overlapped->hEvent
Modified: trunk/reactos/lib/kernel32/file/lock.c
_____
Modified: trunk/reactos/lib/kernel32/file/lock.c
--- trunk/reactos/lib/kernel32/file/lock.c 2005-03-09 08:12:30 UTC
(rev 13899)
+++ trunk/reactos/lib/kernel32/file/lock.c 2005-03-09 22:20:41 UTC
(rev 13900)
@@ -39,6 +39,7 @@
Overlapped.Offset = dwFileOffsetLow;
Overlapped.OffsetHigh = dwFileOffsetHigh;
+ Overlapped.hEvent = NULL;
dwReserved = 0;
return LockFileEx(hFile,
LOCKFILE_FAIL_IMMEDIATELY|LOCKFILE_EXCLUSIVE_LOCK,dwReserved,nNumberOfBy
tesToLockLow, nNumberOfBytesToLockHigh, &Overlapped ) ;
@@ -57,7 +58,7 @@
DWORD dwReserved,
DWORD nNumberOfBytesToLockLow,
DWORD nNumberOfBytesToLockHigh,
- LPOVERLAPPED lpOverlapped
+ LPOVERLAPPED lpOverlapped /* required! */
)
{
LARGE_INTEGER BytesToLock;
@@ -66,7 +67,7 @@
NTSTATUS errCode;
LARGE_INTEGER Offset;
- if(dwReserved != 0)
+ if(dwReserved != 0 || lpOverlapped==NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
@@ -91,9 +92,9 @@
BytesToLock.u.HighPart = nNumberOfBytesToLockHigh;
errCode = NtLockFile(hFile,
+ lpOverlapped->hEvent,
NULL,
NULL,
- NULL,
(PIO_STATUS_BLOCK)lpOverlapped,
&Offset,
&BytesToLock,
@@ -124,13 +125,13 @@
DWORD nNumberOfBytesToUnlockHigh
)
{
- DWORD dwReserved;
OVERLAPPED Overlapped;
+ DWORD dwReserved;
Overlapped.Offset = dwFileOffsetLow;
Overlapped.OffsetHigh = dwFileOffsetHigh;
- dwReserved = 0;
- return UnlockFileEx(hFile, dwReserved,
nNumberOfBytesToUnlockLow, nNumberOfBytesToUnlockHigh, &Overlapped);
-
+ dwReserved = 0;
+
+ return UnlockFileEx(hFile, dwReserved, nNumberOfBytesToUnlockLow,
nNumberOfBytesToUnlockHigh, &Overlapped);
}
@@ -144,23 +145,18 @@
DWORD dwReserved,
DWORD nNumberOfBytesToUnLockLow,
DWORD nNumberOfBytesToUnLockHigh,
- LPOVERLAPPED lpOverlapped
+ LPOVERLAPPED lpOverlapped /* required! */
)
{
LARGE_INTEGER BytesToUnLock;
LARGE_INTEGER StartAddress;
NTSTATUS errCode;
- if(dwReserved != 0)
+ if(dwReserved != 0 || lpOverlapped == NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
- if ( lpOverlapped == NULL )
- {
- SetLastError(ERROR_INVALID_PARAMETER);
- return FALSE;
- }
BytesToUnLock.u.LowPart = nNumberOfBytesToUnLockLow;
BytesToUnLock.u.HighPart = nNumberOfBytesToUnLockHigh;
Show replies by date