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.
 
 
 
 
 
 

45 lines
1.3 KiB

#ifndef __REMLOCK_H__
#define __REMLOCK_H__
// @doc
/**********************************************************************
*
* @module RemLock.h |
*
* Definitions for managing GCK_REMOVE_LOCKs
*
* History
* ----------------------------------------------------------
* Mitchell S. Dernis Original
*
* (c) 1986-1998 Microsoft Corporation. All right reserved.
*
* @topic RemLock |
* The structure and four functions greatly
* simplify keep track of outstanding IO.
* @xref Remlock.cpp
*
**********************************************************************/
typedef struct tagGCK_REMOVE_LOCK
{
LONG lRemoveLock;
KEVENT RemoveLockEvent;
PCHAR pcInstanceID;
} GCK_REMOVE_LOCK, *PGCK_REMOVE_LOCK;
#if (DBG==1)
#define GCK_InitRemoveLock(__x__, __y__) GCK_InitRemoveLockChecked(__x__,__y__)
void GCK_InitRemoveLockChecked(PGCK_REMOVE_LOCK pRemoveLock, PCHAR pcInstanceID);
#else
#define GCK_InitRemoveLock(__x__, __y__) GCK_InitRemoveLockFree(__x__)
void GCK_InitRemoveLockFree(PGCK_REMOVE_LOCK pRemoveLock);
#endif
void GCK_IncRemoveLock(PGCK_REMOVE_LOCK pRemoveLock);
void GCK_DecRemoveLock(PGCK_REMOVE_LOCK pRemoveLock);
NTSTATUS GCK_DecRemoveLockAndWait(PGCK_REMOVE_LOCK pRemoveLock, PLARGE_INTEGER plgiTimeOut);
PVOID GCK_GetSystemAddressForMdlSafe(PMDL MdlAddress);
#endif //__REMLOCK_H__