#include <k32.h>
#include <debug.h>
Go to the source code of this file.
|
| BOOL WINAPI | LockFile (IN HANDLE hFile, IN DWORD dwFileOffsetLow, IN DWORD dwFileOffsetHigh, IN DWORD nNumberOfBytesToLockLow, IN DWORD nNumberOfBytesToLockHigh) |
| |
| BOOL WINAPI | LockFileEx (IN HANDLE hFile, IN DWORD dwFlags, IN DWORD dwReserved, IN DWORD nNumberOfBytesToLockLow, IN DWORD nNumberOfBytesToLockHigh, IN LPOVERLAPPED lpOverlapped) |
| |
| BOOL WINAPI | UnlockFile (IN HANDLE hFile, IN DWORD dwFileOffsetLow, IN DWORD dwFileOffsetHigh, IN DWORD nNumberOfBytesToUnlockLow, IN DWORD nNumberOfBytesToUnlockHigh) |
| |
| BOOL WINAPI | UnlockFileEx (IN HANDLE hFile, IN DWORD dwReserved, IN DWORD nNumberOfBytesToUnLockLow, IN DWORD nNumberOfBytesToUnLockHigh, IN LPOVERLAPPED lpOverlapped) |
| |
◆ NDEBUG
◆ LockFile()
Definition at line 25 of file lock.c.
30{
34
35
37 {
38
41 }
42
43
44 BytesToLock.
u.LowPart = nNumberOfBytesToLockLow;
45 BytesToLock.
u.HighPart = nNumberOfBytesToLockHigh;
46 Offset.u.LowPart = dwFileOffsetLow;
47 Offset.u.HighPart = dwFileOffsetHigh;
54 &BytesToLock,
55 0,
59 {
60
63 }
64
65
67 {
68
71 }
72
73
75}
#define STATUS_INVALID_HANDLE
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI NtLockFile(IN HANDLE FileHandle, IN HANDLE EventHandle OPTIONAL, IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, IN PVOID ApcContext OPTIONAL, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER ByteOffset, IN PLARGE_INTEGER Length, IN ULONG Key, IN BOOLEAN FailImmediately, IN BOOLEAN ExclusiveLock)
NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(IN HANDLE hObject, IN BOOLEAN bAlertable, IN PLARGE_INTEGER Timeout)
_In_ ULONG _In_ ULONG Offset
static OUT PIO_STATUS_BLOCK IoStatusBlock
DWORD BaseSetLastNTError(IN NTSTATUS Status)
#define IsConsoleHandle(h)
struct _LARGE_INTEGER::@2479 u
Referenced by BestFit_Write(), and DosLockFile().
◆ LockFileEx()
Definition at line 82 of file lock.c.
88{
91
92
94 {
95
98 }
99
100
102 {
103
106 }
107
108
110
111
114 BytesToLock.
u.LowPart = nNumberOfBytesToLockLow;
115 BytesToLock.
u.HighPart = nNumberOfBytesToLockHigh;
122 &BytesToLock,
123 0,
127 {
128
130 }
131
132
135}
#define ERROR_INVALID_PARAMETER
#define LOCKFILE_FAIL_IMMEDIATELY
#define LOCKFILE_EXCLUSIVE_LOCK
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Referenced by FileLockBytesImpl_LockRegion(), locking_nolock(), and test_locking().
◆ UnlockFile()
Definition at line 142 of file lock.c.
147{
151
152
153 Overlapped.
Offset = dwFileOffsetLow;
156 0,
157 nNumberOfBytesToUnlockLow,
158 nNumberOfBytesToUnlockHigh,
159 &Overlapped);
161 {
162
165
166
168
169
172 }
173
174
176}
BOOL WINAPI UnlockFileEx(IN HANDLE hFile, IN DWORD dwReserved, IN DWORD nNumberOfBytesToUnLockLow, IN DWORD nNumberOfBytesToUnLockHigh, IN LPOVERLAPPED lpOverlapped)
DWORD WINAPI GetLastError(void)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Referenced by BestFit_Write(), and DosUnlockFile().
◆ UnlockFileEx()
Definition at line 183 of file lock.c.
188{
191
192
194 {
195
198 }
199
200
202 {
203
206 }
207
208
209 BytesToUnLock.
u.LowPart = nNumberOfBytesToUnLockLow;
210 BytesToUnLock.
u.HighPart = nNumberOfBytesToUnLockHigh;
215 &StartAddress,
216 &BytesToUnLock,
217 0);
219 {
220
223 }
224
225
227}
NTSTATUS NTAPI NtUnlockFile(IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER ByteOffset, IN PLARGE_INTEGER Length, IN ULONG Key OPTIONAL)
Referenced by FileLockBytesImpl_UnlockRegion(), locking_nolock(), test_locking(), and UnlockFile().