Share via


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

  • 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