; 
; Exports of file UREG.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY UREG.dll
EXPORTS
; public: __cdecl REGISTRY::REGISTRY(void) __ptr64
??0REGISTRY@@QEAA@XZ
; public: __cdecl REGISTRY_KEY_INFO::REGISTRY_KEY_INFO(void) __ptr64
??0REGISTRY_KEY_INFO@@QEAA@XZ
; public: __cdecl REGISTRY_VALUE_ENTRY::REGISTRY_VALUE_ENTRY(void) __ptr64
??0REGISTRY_VALUE_ENTRY@@QEAA@XZ
; public: virtual __cdecl REGISTRY::~REGISTRY(void) __ptr64
??1REGISTRY@@UEAA@XZ
; public: unsigned char __cdecl REGISTRY::AddValueEntry(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class REGISTRY_VALUE_ENTRY const * __ptr64,unsigned char,unsigned long * __ptr64) __ptr64
?AddValueEntry@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVREGISTRY_VALUE_ENTRY@@EPEAK@Z
; public: unsigned char __cdecl REGISTRY::CreateKey(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64,unsigned char) __ptr64
?CreateKey@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@1PEAKE@Z
; public: unsigned char __cdecl REGISTRY::DeleteKey(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?DeleteKey@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::DeleteValueEntry(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?DeleteValueEntry@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::DoesKeyExist(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?DoesKeyExist@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAK@Z
; public: unsigned char __cdecl REGISTRY::DoesValueExist(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?DoesValueExist@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@11PEAK@Z
; public: unsigned char __cdecl REGISTRY::EnableRootNotification(enum _PREDEFINED_KEY,void * __ptr64,unsigned long,unsigned char) __ptr64
?EnableRootNotification@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAXKE@Z
; public: unsigned char __cdecl REGISTRY::Initialize(class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?Initialize@REGISTRY@@QEAAEPEBVWSTRING@@PEAK@Z
; public: unsigned char __cdecl REGISTRY_KEY_INFO::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long,class WSTRING const * __ptr64,struct _SECURITY_ATTRIBUTES * __ptr64) __ptr64
?Initialize@REGISTRY_KEY_INFO@@QEAAEPEBVWSTRING@@0K0PEAU_SECURITY_ATTRIBUTES@@@Z
; public: unsigned char __cdecl REGISTRY_VALUE_ENTRY::Initialize(class WSTRING const * __ptr64,unsigned long,enum _REG_TYPE,unsigned char const * __ptr64,unsigned long) __ptr64
?Initialize@REGISTRY_VALUE_ENTRY@@QEAAEPEBVWSTRING@@KW4_REG_TYPE@@PEBEK@Z
; public: unsigned char __cdecl REGISTRY::IsAccessAllowed(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
?IsAccessAllowed@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@KPEAK@Z
; public: unsigned char __cdecl REGISTRY::LoadHive(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?LoadHive@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::QueryKeyInfo(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
?QueryKeyInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVREGISTRY_KEY_INFO@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::QueryKeySecurity(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO const * __ptr64,unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
?QueryKeySecurity@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVREGISTRY_KEY_INFO@@KPEAPEAXPEAK@Z
; public: unsigned char __cdecl REGISTRY::QuerySubKeysInfo(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class ARRAY * __ptr64,unsigned long * __ptr64) __ptr64
?QuerySubKeysInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVARRAY@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::QueryValues(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class ARRAY * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValues@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVARRAY@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::RestoreKeyFromFile(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned char,unsigned long * __ptr64) __ptr64
?RestoreKeyFromFile@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@EPEAK@Z
; public: unsigned char __cdecl REGISTRY::SaveKeyToFile(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
?SaveKeyToFile@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::SetKeySecurity(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned char) __ptr64
?SetKeySecurity@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@KPEAXPEAKE@Z
; public: unsigned char __cdecl REGISTRY::UnLoadHive(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
?UnLoadHive@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEAK@Z
; public: unsigned char __cdecl REGISTRY::UpdateKeyInfo(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
?UpdateKeyInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEAK@Z
