Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

110 lines
1.7 KiB

HKEY
OpenRegKeyWorkerA (
IN HKEY ParentKey,
IN PCSTR KeyToOpen OPTIONAL
DEBUG_TRACKING_PARAMS
);
HKEY
OpenRegKeyWorkerW (
IN HKEY ParentKey,
IN PCWSTR KeyToOpen
DEBUG_TRACKING_PARAMS
);
LONG
CloseRegKeyWorker (
IN HKEY Key
);
#ifdef DEBUG
VOID
RegTrackTerminate (
VOID
);
VOID
AddKeyReferenceA (
HKEY Key,
PCSTR SubKey,
PCSTR File,
DWORD Line
);
VOID
AddKeyReferenceW (
HKEY Key,
PCWSTR SubKey,
PCSTR File,
DWORD Line
);
#define TRACK_KEYA(handle,keystr) AddKeyReferenceA(handle,keystr,__FILE__,__LINE__)
#define TRACK_KEYW(handle,keystr) AddKeyReferenceW(handle,keystr,__FILE__,__LINE__)
#else
#define TRACK_KEYA(handle,keystr)
#define TRACK_KEYW(handle,keystr)
#endif
//
// Cache apis
//
VOID
RegRecordParentInCacheA (
IN PCSTR KeyString,
IN PCSTR StringEnd
);
HKEY
RegGetKeyFromCacheA (
IN PCSTR KeyString,
IN PCSTR End, OPTIONAL
IN REGSAM Sam,
IN BOOL IncRefCount
);
VOID
RegAddKeyToCacheA (
IN PCSTR KeyString,
IN HKEY Key,
IN REGSAM Sam
);
VOID
RegRecordParentInCacheW (
IN PCWSTR KeyString,
IN PCWSTR StringEnd
);
HKEY
RegGetKeyFromCacheW (
IN PCWSTR KeyString,
IN PCWSTR End, OPTIONAL
IN REGSAM Sam,
IN BOOL IncRefCount
);
VOID
RegAddKeyToCacheW (
IN PCWSTR KeyString,
IN HKEY Key,
IN REGSAM Sam
);
BOOL
RegDecrementRefCount (
IN HKEY Key
);
VOID
RegIncrementRefCount (
IN HKEY Key
);
extern REGSAM g_OpenSam;