FSDMGR_AcquireFileLock (Compact 2013)
3/26/2014
Helper function provided by File System Driver manager (FSDMGR) to simplify the implementation of the MyFSD_LockFileEx function in a file system driver (FSD).
Syntax
BOOL FSDMGR_AcquireFileLock(
PACQUIREFILELOCKSTATE pAcquireFileLockState
PRELEASEFILELOCKSTATE pReleaseFileLockState
DWORD dwHandle,
DWORD dwFlags,
DWORD dwReserved,
DWORD nNumberOfBytesToLockLow,
DWORD nNumberOfBytesToLockHigh,
LPOVERLAPPED lpOverlapped
);
Parameters
- pAcquireFileLockState
[in] Pointer to a PACQUIREFILELOCKSTATE function in the calling FSD.
- pReleaseFileLockState
[in] Pointer to a PRELEASEFILELOCKSTATE function in the calling FSD.
- dwHandle
[in] Pointer to the value that an FSD passes to the FSDMGR_CreateFileHandle function when creating the file handle.
dwFlags
[in] Flag value. The following table shows possible values.Value
Description
LOCKFILE_EXCLUSIVE_LOCK
This function requests an exclusive lock. If this flag is not specified, the function requests a shared lock.
LOCKFILE_FAIL_IMMEDIATELY
This function returns immediately if it is unable to acquire the requested lock. If this flag is not specified, the function waits.
- dwReserved
Reserved. Set to zero.
- nNumberOfBytesToLockLow
[in] Low-order 32 bits of the length of the byte range to lock.
- nNumberOfBytesToLockHigh
[in] High-order 32 bits of the length of the byte range to lock.
- lpOverlapped
Pointer to an OVERLAPPED structure that is used with the lock request. This structure contains the file offset of the beginning of the unlock range.
Return Value
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
Remarks
The FSD can simply pass all parameters received by MyFSD_LockFileEx to this helper function, along with two helper function pointers, PACQUIREFILELOCKSTATE and PRELEASEFILELOCKSTATE, implemented by the FSD.
This function is a Lock Manager function provided by FSDMGR to assist FSDs with implementing the MyFSD_LockFileEx and the MyFSD_UnLockFileEx functions.
Requirements
Header |
lockmgr.h |
Library |
Fsdmgr.lib |
See Also
Reference
FSDMGR Functions
FSD Functions
FSDMGR_CreateFileHandle
MyFSD_CreateFileW
MyFSD_FindFirstFileW