Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
1.3 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1992.
//
// File: lock.hxx
//
// Contents: Function definitions for remote exclusion functions
//
// History: 09-Mar-92 PhilipLa Created.
//
//--------------------------------------------------------------------------
#ifndef __LOCK_HXX__
#define __LOCK_HXX__
#define NOLOCK 0x0
SCODE GetAccess(ILockBytes *plst, DFLAGS df, ULONG *poReturn);
void ReleaseAccess(ILockBytes *plst, DFLAGS df, ULONG offset);
SCODE GetOpen(ILockBytes *plst, DFLAGS df, BOOL fCheck, ULONG *puReturn);
void ReleaseOpen(ILockBytes *plst, DFLAGS df, ULONG offset);
// For 32-bit builds we also provide a function that will repeatedly
// attempt to get access locks for gracefully handling contention
// Since waiting is virtually impossible in the 16-bit world, it doesn't
// attempt it
#if defined(FLAT)
SCODE WaitForAccess(ILockBytes *plst, DFLAGS df, ULONG *poReturn);
#else
#define WaitForAccess(plst, df, poReturn) GetAccess(plst, df, poReturn)
#endif
#define IsInRangeLocks(iBegin, cbBuffer) \
((iBegin + cbBuffer > OLOCKREGIONBEGIN) && \
(iBegin <= OLOCKREGIONEND) )
#endif // #ifndef __LOCK_HXX__