; 
; Exports of file NETUI1.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY NETUI1.dll
EXPORTS
; public: __cdecl ADMIN_AUTHORITY::ADMIN_AUTHORITY(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
??0ADMIN_AUTHORITY@@QEAA@PEBGKKKKH@Z
; public: __cdecl ALIAS_ENUM::ALIAS_ENUM(class SAM_DOMAIN & __ptr64,unsigned int) __ptr64
??0ALIAS_ENUM@@QEAA@AEAVSAM_DOMAIN@@I@Z
; public: __cdecl ALIAS_ENUM_ITER::ALIAS_ENUM_ITER(class ALIAS_ENUM & __ptr64) __ptr64
??0ALIAS_ENUM_ITER@@QEAA@AEAVALIAS_ENUM@@@Z
; public: __cdecl ALIAS_ENUM_OBJ::ALIAS_ENUM_OBJ(void) __ptr64
??0ALIAS_ENUM_OBJ@@QEAA@XZ
; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
??0ALIAS_STR@@QEAA@PEBG@Z
; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int) __ptr64
??0ALLOC_STR@@QEAA@PEAGI@Z
; public: __cdecl API_SESSION::API_SESSION(unsigned short const * __ptr64,int) __ptr64
??0API_SESSION@@QEAA@PEBGH@Z
; protected: __cdecl BASE::BASE(void) __ptr64
??0BASE@@IEAA@XZ
; public: __cdecl BROWSE_DOMAIN_ENUM::BROWSE_DOMAIN_ENUM(unsigned long,unsigned long * __ptr64) __ptr64
??0BROWSE_DOMAIN_ENUM@@QEAA@KPEAK@Z
; public: __cdecl BROWSE_DOMAIN_INFO::BROWSE_DOMAIN_INFO(unsigned short const * __ptr64,unsigned long) __ptr64
??0BROWSE_DOMAIN_INFO@@QEAA@PEBGK@Z
; public: __cdecl CHARDEVQ1_ENUM::CHARDEVQ1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0CHARDEVQ1_ENUM@@QEAA@PEBG0@Z
; public: __cdecl CHARDEVQ1_ENUM_ITER::CHARDEVQ1_ENUM_ITER(class CHARDEVQ1_ENUM & __ptr64) __ptr64
??0CHARDEVQ1_ENUM_ITER@@QEAA@AEAVCHARDEVQ1_ENUM@@@Z
; public: __cdecl CHARDEVQ1_ENUM_OBJ::CHARDEVQ1_ENUM_OBJ(void) __ptr64
??0CHARDEVQ1_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl CHARDEVQ_ENUM::CHARDEVQ_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
??0CHARDEVQ_ENUM@@IEAA@PEBG0I@Z
; protected: __cdecl COMPUTER::COMPUTER(unsigned short const * __ptr64) __ptr64
??0COMPUTER@@IEAA@PEBG@Z
; public: __cdecl CONN0_ENUM::CONN0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0CONN0_ENUM@@QEAA@PEBG0@Z
; public: __cdecl CONN0_ENUM_ITER::CONN0_ENUM_ITER(class CONN0_ENUM & __ptr64) __ptr64
??0CONN0_ENUM_ITER@@QEAA@AEAVCONN0_ENUM@@@Z
; public: __cdecl CONN0_ENUM_OBJ::CONN0_ENUM_OBJ(void) __ptr64
??0CONN0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl CONN1_ENUM::CONN1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0CONN1_ENUM@@QEAA@PEBG0@Z
; public: __cdecl CONN1_ENUM_ITER::CONN1_ENUM_ITER(class CONN1_ENUM & __ptr64) __ptr64
??0CONN1_ENUM_ITER@@QEAA@AEAVCONN1_ENUM@@@Z
; public: __cdecl CONN1_ENUM_OBJ::CONN1_ENUM_OBJ(void) __ptr64
??0CONN1_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl CONN_ENUM::CONN_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
??0CONN_ENUM@@IEAA@PEBG0I@Z
; public: __cdecl CONTEXT_ENUM::CONTEXT_ENUM(unsigned long) __ptr64
??0CONTEXT_ENUM@@QEAA@K@Z
; public: __cdecl CONTEXT_ENUM_ITER::CONTEXT_ENUM_ITER(class CONTEXT_ENUM & __ptr64) __ptr64
??0CONTEXT_ENUM_ITER@@QEAA@AEAVCONTEXT_ENUM@@@Z
; public: __cdecl CONTEXT_ENUM_OBJ::CONTEXT_ENUM_OBJ(void) __ptr64
??0CONTEXT_ENUM_OBJ@@QEAA@XZ
; public: __cdecl DEVICE2::DEVICE2(unsigned short const * __ptr64) __ptr64
??0DEVICE2@@QEAA@PEBG@Z
; public: __cdecl DEVICE::DEVICE(unsigned short const * __ptr64) __ptr64
??0DEVICE@@QEAA@PEBG@Z
; public: __cdecl DOMAIN0_ENUM::DOMAIN0_ENUM(unsigned short const * __ptr64) __ptr64
??0DOMAIN0_ENUM@@QEAA@PEBG@Z
; public: __cdecl DOMAIN0_ENUM_ITER::DOMAIN0_ENUM_ITER(class DOMAIN0_ENUM & __ptr64) __ptr64
??0DOMAIN0_ENUM_ITER@@QEAA@AEAVDOMAIN0_ENUM@@@Z
; public: __cdecl DOMAIN0_ENUM_OBJ::DOMAIN0_ENUM_OBJ(void) __ptr64
??0DOMAIN0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl DOMAIN::DOMAIN(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
??0DOMAIN@@QEAA@PEBG0H@Z
; public: __cdecl DOMAIN::DOMAIN(unsigned short const * __ptr64,int) __ptr64
??0DOMAIN@@QEAA@PEBGH@Z
; protected: __cdecl DOMAIN_ENUM::DOMAIN_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
??0DOMAIN_ENUM@@IEAA@PEBGI@Z
; public: __cdecl DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
??0DOMAIN_WITH_DC_CACHE@@QEAA@PEBG0H@Z
; public: __cdecl DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const * __ptr64,int) __ptr64
??0DOMAIN_WITH_DC_CACHE@@QEAA@PEBGH@Z
; public: __cdecl ENUM_CALLER::ENUM_CALLER(void) __ptr64
??0ENUM_CALLER@@QEAA@XZ
; public: __cdecl ENUM_CALLER_LM_OBJ::ENUM_CALLER_LM_OBJ(class LOCATION const & __ptr64) __ptr64
??0ENUM_CALLER_LM_OBJ@@QEAA@AEBVLOCATION@@@Z
; protected: __cdecl ENUM_OBJ_BASE::ENUM_OBJ_BASE(void) __ptr64
??0ENUM_OBJ_BASE@@IEAA@XZ
; public: __cdecl FILE2_ENUM::FILE2_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0FILE2_ENUM@@QEAA@PEBG00@Z
; public: __cdecl FILE2_ENUM_ITER::FILE2_ENUM_ITER(class FILE2_ENUM & __ptr64) __ptr64
??0FILE2_ENUM_ITER@@QEAA@AEAVFILE2_ENUM@@@Z
; public: __cdecl FILE2_ENUM_OBJ::FILE2_ENUM_OBJ(void) __ptr64
??0FILE2_ENUM_OBJ@@QEAA@XZ
; public: __cdecl FILE3_ENUM::FILE3_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0FILE3_ENUM@@QEAA@PEBG00@Z
; public: __cdecl FILE3_ENUM_ITER::FILE3_ENUM_ITER(class FILE3_ENUM & __ptr64) __ptr64
??0FILE3_ENUM_ITER@@QEAA@AEAVFILE3_ENUM@@@Z
; public: __cdecl FILE3_ENUM_OBJ::FILE3_ENUM_OBJ(void) __ptr64
??0FILE3_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl FILE_ENUM::FILE_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
??0FILE_ENUM@@IEAA@PEBG00I@Z
; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
??0GROUP0_ENUM@@QEAA@AEBVLOCATION@@PEBG@Z
; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0GROUP0_ENUM@@QEAA@PEBG0@Z
; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(enum LOCATION_TYPE,unsigned short const * __ptr64) __ptr64
??0GROUP0_ENUM@@QEAA@W4LOCATION_TYPE@@PEBG@Z
; public: __cdecl GROUP0_ENUM_ITER::GROUP0_ENUM_ITER(class GROUP0_ENUM & __ptr64) __ptr64
??0GROUP0_ENUM_ITER@@QEAA@AEAVGROUP0_ENUM@@@Z
; public: __cdecl GROUP0_ENUM_OBJ::GROUP0_ENUM_OBJ(void) __ptr64
??0GROUP0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(class LOCATION const & __ptr64) __ptr64
??0GROUP1_ENUM@@QEAA@AEBVLOCATION@@@Z
; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(unsigned short const * __ptr64) __ptr64
??0GROUP1_ENUM@@QEAA@PEBG@Z
; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(enum LOCATION_TYPE) __ptr64
??0GROUP1_ENUM@@QEAA@W4LOCATION_TYPE@@@Z
; public: __cdecl GROUP1_ENUM_ITER::GROUP1_ENUM_ITER(class GROUP1_ENUM & __ptr64) __ptr64
??0GROUP1_ENUM_ITER@@QEAA@AEAVGROUP1_ENUM@@@Z
; public: __cdecl GROUP1_ENUM_OBJ::GROUP1_ENUM_OBJ(void) __ptr64
??0GROUP1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0GROUP@@QEAA@PEBG0@Z
; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0GROUP@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0GROUP@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0GROUP_0@@QEAA@PEBG0@Z
; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0GROUP_0@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0GROUP_0@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0GROUP_1@@QEAA@PEBG0@Z
; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0GROUP_1@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0GROUP_1@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; protected: __cdecl GROUP_ENUM::GROUP_ENUM(class LOCATION const & __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
??0GROUP_ENUM@@IEAA@AEBVLOCATION@@IPEBG@Z
; protected: __cdecl GROUP_ENUM::GROUP_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
??0GROUP_ENUM@@IEAA@PEBGI0@Z
; protected: __cdecl GROUP_ENUM::GROUP_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const * __ptr64) __ptr64
??0GROUP_ENUM@@IEAA@W4LOCATION_TYPE@@IPEBG@Z
; public: __cdecl GROUP_MEMB::GROUP_MEMB(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
??0GROUP_MEMB@@QEAA@AEBVLOCATION@@PEBG@Z
; public: __cdecl ITER_DEVICE::ITER_DEVICE(enum LMO_DEVICE,enum LMO_DEV_USAGE) __ptr64
??0ITER_DEVICE@@QEAA@W4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
; public: __cdecl ITER_SL_BROWSE_DOMAIN_INFO::ITER_SL_BROWSE_DOMAIN_INFO(class SLIST & __ptr64) __ptr64
??0ITER_SL_BROWSE_DOMAIN_INFO@@QEAA@AEAVSLIST@@@Z
; public: __cdecl ITER_SL_LM_RESUME_BUFFER::ITER_SL_LM_RESUME_BUFFER(class SLIST & __ptr64) __ptr64
??0ITER_SL_LM_RESUME_BUFFER@@QEAA@AEAVSLIST@@@Z
; public: __cdecl LM_CONFIG::LM_CONFIG(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_CONFIG@@QEAA@PEBG00@Z
; protected: __cdecl LM_ENUM::LM_ENUM(unsigned int) __ptr64
??0LM_ENUM@@IEAA@I@Z
; protected: __cdecl LM_ENUM_ITER::LM_ENUM_ITER(class LM_ENUM & __ptr64) __ptr64
??0LM_ENUM_ITER@@IEAA@AEAVLM_ENUM@@@Z
; protected: __cdecl LM_FILE::LM_FILE(unsigned short const * __ptr64,unsigned long) __ptr64
??0LM_FILE@@IEAA@PEBGK@Z
; public: __cdecl LM_FILE_2::LM_FILE_2(unsigned short const * __ptr64,unsigned long) __ptr64
??0LM_FILE_2@@QEAA@PEBGK@Z
; public: __cdecl LM_FILE_3::LM_FILE_3(unsigned short const * __ptr64,unsigned long) __ptr64
??0LM_FILE_3@@QEAA@PEBGK@Z
; public: __cdecl LM_MESSAGE::LM_MESSAGE(class LOCATION & __ptr64) __ptr64
??0LM_MESSAGE@@QEAA@AEAVLOCATION@@@Z
; public: __cdecl LM_MESSAGE::LM_MESSAGE(unsigned short const * __ptr64) __ptr64
??0LM_MESSAGE@@QEAA@PEBG@Z
; public: __cdecl LM_MESSAGE::LM_MESSAGE(enum LOCATION_TYPE) __ptr64
??0LM_MESSAGE@@QEAA@W4LOCATION_TYPE@@@Z
; public: __cdecl LM_OBJ::LM_OBJ(void) __ptr64
??0LM_OBJ@@QEAA@XZ
; protected: __cdecl LM_OBJ_BASE::LM_OBJ_BASE(int) __ptr64
??0LM_OBJ_BASE@@IEAA@H@Z
; public: __cdecl LM_RESUME_BUFFER::LM_RESUME_BUFFER(class LM_RESUME_ENUM * __ptr64,unsigned int,unsigned char * __ptr64) __ptr64
??0LM_RESUME_BUFFER@@QEAA@PEAVLM_RESUME_ENUM@@IPEAE@Z
; protected: __cdecl LM_RESUME_ENUM::LM_RESUME_ENUM(unsigned int,int) __ptr64
??0LM_RESUME_ENUM@@IEAA@IH@Z
; protected: __cdecl LM_RESUME_ENUM_ITER::LM_RESUME_ENUM_ITER(class LM_RESUME_ENUM & __ptr64) __ptr64
??0LM_RESUME_ENUM_ITER@@IEAA@AEAVLM_RESUME_ENUM@@@Z
; public: __cdecl LM_SERVICE::LM_SERVICE(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_SERVICE@@QEAA@PEBG0@Z
; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_SESSION@@IEAA@PEBG0@Z
; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0LM_SESSION@@IEAA@PEBGAEBVLOCATION@@@Z
; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0LM_SESSION@@IEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_SESSION_0@@QEAA@PEBG0@Z
; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0LM_SESSION_0@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0LM_SESSION_0@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_SESSION_10@@QEAA@PEBG0@Z
; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0LM_SESSION_10@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0LM_SESSION_10@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_SESSION_1@@QEAA@PEBG0@Z
; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0LM_SESSION_1@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0LM_SESSION_1@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LM_SESSION_2@@QEAA@PEBG0@Z
; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0LM_SESSION_2@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0LM_SESSION_2@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl LM_SRVRES::LM_SRVRES(void) __ptr64
??0LM_SRVRES@@QEAA@XZ
; public: __cdecl LOCAL_USER::LOCAL_USER(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0LOCAL_USER@@QEAA@PEBG0@Z
; public: __cdecl LOCAL_USER::LOCAL_USER(enum LOCATION_TYPE) __ptr64
??0LOCAL_USER@@QEAA@W4LOCATION_TYPE@@@Z
; public: __cdecl LOCATION::LOCATION(class LOCATION const & __ptr64) __ptr64
??0LOCATION@@QEAA@AEBV0@@Z
; public: __cdecl LOCATION::LOCATION(unsigned short const * __ptr64,int) __ptr64
??0LOCATION@@QEAA@PEBGH@Z
; public: __cdecl LOCATION::LOCATION(enum LOCATION_TYPE,int) __ptr64
??0LOCATION@@QEAA@W4LOCATION_TYPE@@H@Z
; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(class LOCATION const & __ptr64,unsigned int) __ptr64
??0LOC_LM_ENUM@@IEAA@AEBVLOCATION@@I@Z
; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
??0LOC_LM_ENUM@@IEAA@PEBGI@Z
; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(enum LOCATION_TYPE,unsigned int) __ptr64
??0LOC_LM_ENUM@@IEAA@W4LOCATION_TYPE@@I@Z
; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(class LOCATION const & __ptr64,int) __ptr64
??0LOC_LM_OBJ@@QEAA@AEBVLOCATION@@H@Z
; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(unsigned short const * __ptr64,int) __ptr64
??0LOC_LM_OBJ@@QEAA@PEBGH@Z
; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(enum LOCATION_TYPE,int) __ptr64
??0LOC_LM_OBJ@@QEAA@W4LOCATION_TYPE@@H@Z
; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(class LOCATION const & __ptr64,unsigned int,int) __ptr64
??0LOC_LM_RESUME_ENUM@@IEAA@AEBVLOCATION@@IH@Z
; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(unsigned short const * __ptr64,unsigned int,int) __ptr64
??0LOC_LM_RESUME_ENUM@@IEAA@PEBGIH@Z
; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(enum LOCATION_TYPE,unsigned int,int) __ptr64
??0LOC_LM_RESUME_ENUM@@IEAA@W4LOCATION_TYPE@@IH@Z
; public: __cdecl LSA_ACCOUNT::LSA_ACCOUNT(class LSA_POLICY * __ptr64,void * __ptr64,unsigned long,unsigned short const * __ptr64,void * __ptr64) __ptr64
??0LSA_ACCOUNT@@QEAA@PEAVLSA_POLICY@@PEAXKPEBG1@Z
; public: __cdecl LSA_ACCOUNTS_ENUM::LSA_ACCOUNTS_ENUM(class LSA_POLICY const * __ptr64) __ptr64
??0LSA_ACCOUNTS_ENUM@@QEAA@PEBVLSA_POLICY@@@Z
; public: __cdecl LSA_ACCOUNTS_ENUM_ITER::LSA_ACCOUNTS_ENUM_ITER(class LSA_ACCOUNTS_ENUM & __ptr64) __ptr64
??0LSA_ACCOUNTS_ENUM_ITER@@QEAA@AEAVLSA_ACCOUNTS_ENUM@@@Z
; public: __cdecl LSA_ACCOUNTS_ENUM_OBJ::LSA_ACCOUNTS_ENUM_OBJ(void) __ptr64
??0LSA_ACCOUNTS_ENUM_OBJ@@QEAA@XZ
; public: __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(class OS_PRIVILEGE_SET * __ptr64) __ptr64
??0LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAA@PEAVOS_PRIVILEGE_SET@@@Z
; public: __cdecl LSA_ACCT_DOM_INFO_MEM::LSA_ACCT_DOM_INFO_MEM(int) __ptr64
??0LSA_ACCT_DOM_INFO_MEM@@QEAA@H@Z
; public: __cdecl LSA_AUDIT_EVENT_INFO_MEM::LSA_AUDIT_EVENT_INFO_MEM(int) __ptr64
??0LSA_AUDIT_EVENT_INFO_MEM@@QEAA@H@Z
; public: __cdecl LSA_DOMAIN_INFO::LSA_DOMAIN_INFO(class NLS_STR const & __ptr64,class LSA_DOMAIN_INFO const * __ptr64,class LSA_DOMAIN_INFO const * __ptr64) __ptr64
??0LSA_DOMAIN_INFO@@QEAA@AEBVNLS_STR@@PEBV1@1@Z
; protected: __cdecl LSA_ENUM::LSA_ENUM(class LSA_POLICY const * __ptr64) __ptr64
??0LSA_ENUM@@IEAA@PEBVLSA_POLICY@@@Z
; protected: __cdecl LSA_MEMORY::LSA_MEMORY(int) __ptr64
??0LSA_MEMORY@@IEAA@H@Z
; protected: __cdecl LSA_OBJECT::LSA_OBJECT(void) __ptr64
??0LSA_OBJECT@@IEAA@XZ
; public: __cdecl LSA_POLICY::LSA_POLICY(unsigned short const * __ptr64,unsigned long) __ptr64
??0LSA_POLICY@@QEAA@PEBGK@Z
; public: __cdecl LSA_PRIMARY_DOM_INFO_MEM::LSA_PRIMARY_DOM_INFO_MEM(int) __ptr64
??0LSA_PRIMARY_DOM_INFO_MEM@@QEAA@H@Z
; public: __cdecl LSA_PRIVILEGES_ENUM::LSA_PRIVILEGES_ENUM(class LSA_POLICY const * __ptr64) __ptr64
??0LSA_PRIVILEGES_ENUM@@QEAA@PEBVLSA_POLICY@@@Z
; public: __cdecl LSA_PRIVILEGES_ENUM_ITER::LSA_PRIVILEGES_ENUM_ITER(class LSA_PRIVILEGES_ENUM & __ptr64) __ptr64
??0LSA_PRIVILEGES_ENUM_ITER@@QEAA@AEAVLSA_PRIVILEGES_ENUM@@@Z
; public: __cdecl LSA_PRIVILEGES_ENUM_OBJ::LSA_PRIVILEGES_ENUM_OBJ(void) __ptr64
??0LSA_PRIVILEGES_ENUM_OBJ@@QEAA@XZ
; public: __cdecl LSA_REF_DOMAIN_MEM::LSA_REF_DOMAIN_MEM(int) __ptr64
??0LSA_REF_DOMAIN_MEM@@QEAA@H@Z
; public: __cdecl LSA_SECRET::LSA_SECRET(class NLS_STR const & __ptr64) __ptr64
??0LSA_SECRET@@QEAA@AEBVNLS_STR@@@Z
; public: __cdecl LSA_SERVER_ROLE_INFO_MEM::LSA_SERVER_ROLE_INFO_MEM(int,int) __ptr64
??0LSA_SERVER_ROLE_INFO_MEM@@QEAA@HH@Z
; public: __cdecl LSA_TRANSLATED_NAME_MEM::LSA_TRANSLATED_NAME_MEM(int) __ptr64
??0LSA_TRANSLATED_NAME_MEM@@QEAA@H@Z
; public: __cdecl LSA_TRANSLATED_SID_MEM::LSA_TRANSLATED_SID_MEM(int) __ptr64
??0LSA_TRANSLATED_SID_MEM@@QEAA@H@Z
; public: __cdecl LSA_TRUSTED_DC_LIST::LSA_TRUSTED_DC_LIST(class NLS_STR const & __ptr64,unsigned short const * __ptr64) __ptr64
??0LSA_TRUSTED_DC_LIST@@QEAA@AEBVNLS_STR@@PEBG@Z
; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,struct _LSA_TRUST_INFORMATION const & __ptr64,unsigned long) __ptr64
??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@AEBU_LSA_TRUST_INFORMATION@@K@Z
; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,class NLS_STR const & __ptr64,void * __ptr64 const,unsigned long) __ptr64
??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@AEBVNLS_STR@@QEAXK@Z
; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,void * __ptr64 const,unsigned long) __ptr64
??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@QEAXK@Z
; public: __cdecl LSA_TRUST_INFO_MEM::LSA_TRUST_INFO_MEM(int) __ptr64
??0LSA_TRUST_INFO_MEM@@QEAA@H@Z
; public: __cdecl MEMBERSHIP_LM_OBJ::MEMBERSHIP_LM_OBJ(class LOCATION const & __ptr64,unsigned int) __ptr64
??0MEMBERSHIP_LM_OBJ@@QEAA@AEBVLOCATION@@I@Z
; protected: __cdecl NET_ACCESS::NET_ACCESS(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0NET_ACCESS@@IEAA@PEBG0@Z
; public: __cdecl NET_ACCESS_1::NET_ACCESS_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0NET_ACCESS_1@@QEAA@PEBG0@Z
; public: __cdecl NET_NAME::NET_NAME(unsigned short const * __ptr64,enum NETNAME_TYPE) __ptr64
??0NET_NAME@@QEAA@PEBGW4NETNAME_TYPE@@@Z
; public: __cdecl NEW_LM_OBJ::NEW_LM_OBJ(int) __ptr64
??0NEW_LM_OBJ@@QEAA@H@Z
; protected: __cdecl NT_ACCOUNT_ENUM::NT_ACCOUNT_ENUM(class SAM_DOMAIN const * __ptr64,enum _DOMAIN_DISPLAY_INFORMATION,int) __ptr64
??0NT_ACCOUNT_ENUM@@IEAA@PEBVSAM_DOMAIN@@W4_DOMAIN_DISPLAY_INFORMATION@@H@Z
; public: __cdecl NT_GROUP_ENUM::NT_GROUP_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
??0NT_GROUP_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
; public: __cdecl NT_GROUP_ENUM_ITER::NT_GROUP_ENUM_ITER(class NT_GROUP_ENUM & __ptr64) __ptr64
??0NT_GROUP_ENUM_ITER@@QEAA@AEAVNT_GROUP_ENUM@@@Z
; public: __cdecl NT_GROUP_ENUM_OBJ::NT_GROUP_ENUM_OBJ(void) __ptr64
??0NT_GROUP_ENUM_OBJ@@QEAA@XZ
; public: __cdecl NT_MACHINE_ENUM::NT_MACHINE_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
??0NT_MACHINE_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
; public: __cdecl NT_MACHINE_ENUM_ITER::NT_MACHINE_ENUM_ITER(class NT_MACHINE_ENUM & __ptr64) __ptr64
??0NT_MACHINE_ENUM_ITER@@QEAA@AEAVNT_MACHINE_ENUM@@@Z
; public: __cdecl NT_MACHINE_ENUM_OBJ::NT_MACHINE_ENUM_OBJ(void) __ptr64
??0NT_MACHINE_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl NT_MEMORY::NT_MEMORY(void) __ptr64
??0NT_MEMORY@@IEAA@XZ
; public: __cdecl NT_USER_ENUM::NT_USER_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
??0NT_USER_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
; public: __cdecl NT_USER_ENUM_ITER::NT_USER_ENUM_ITER(class NT_USER_ENUM & __ptr64) __ptr64
??0NT_USER_ENUM_ITER@@QEAA@AEAVNT_USER_ENUM@@@Z
; public: __cdecl NT_USER_ENUM_OBJ::NT_USER_ENUM_OBJ(void) __ptr64
??0NT_USER_ENUM_OBJ@@QEAA@XZ
; public: __cdecl OS_ACE::OS_ACE(void * __ptr64) __ptr64
??0OS_ACE@@QEAA@PEAX@Z
; public: __cdecl OS_ACL::OS_ACL(struct _ACL * __ptr64,int,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
??0OS_ACL@@QEAA@PEAU_ACL@@HPEAVOS_SECURITY_DESCRIPTOR@@@Z
; public: __cdecl OS_ACL_SUBJECT_ITER::OS_ACL_SUBJECT_ITER(class OS_ACL const * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
??0OS_ACL_SUBJECT_ITER@@QEAA@PEBVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
; public: __cdecl OS_DACL_SUBJECT_ITER::OS_DACL_SUBJECT_ITER(class OS_ACL * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
??0OS_DACL_SUBJECT_ITER@@QEAA@PEAVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
; public: __cdecl OS_LUID::OS_LUID(struct _LUID) __ptr64
??0OS_LUID@@QEAA@U_LUID@@@Z
; public: __cdecl OS_LUID::OS_LUID(void) __ptr64
??0OS_LUID@@QEAA@XZ
; public: __cdecl OS_LUID_AND_ATTRIBUTES::OS_LUID_AND_ATTRIBUTES(void) __ptr64
??0OS_LUID_AND_ATTRIBUTES@@QEAA@XZ
; protected: __cdecl OS_OBJECT_WITH_DATA::OS_OBJECT_WITH_DATA(unsigned int) __ptr64
??0OS_OBJECT_WITH_DATA@@IEAA@I@Z
; public: __cdecl OS_PRIVILEGE_SET::OS_PRIVILEGE_SET(struct _PRIVILEGE_SET * __ptr64) __ptr64
??0OS_PRIVILEGE_SET@@QEAA@PEAU_PRIVILEGE_SET@@@Z
; public: __cdecl OS_SACL_SUBJECT_ITER::OS_SACL_SUBJECT_ITER(class OS_ACL * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
??0OS_SACL_SUBJECT_ITER@@QEAA@PEAVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
; public: __cdecl OS_SECURITY_DESCRIPTOR::OS_SECURITY_DESCRIPTOR(void * __ptr64,int) __ptr64
??0OS_SECURITY_DESCRIPTOR@@QEAA@PEAXH@Z
; public: __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::OS_SECURITY_DESCRIPTOR_CONTROL(unsigned short * __ptr64) __ptr64
??0OS_SECURITY_DESCRIPTOR_CONTROL@@QEAA@PEAG@Z
; public: __cdecl OS_SID::OS_SID(void * __ptr64,int,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
??0OS_SID@@QEAA@PEAXHPEAVOS_SECURITY_DESCRIPTOR@@@Z
; public: __cdecl OS_SID::OS_SID(void * __ptr64,unsigned long,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
??0OS_SID@@QEAA@PEAXKPEAVOS_SECURITY_DESCRIPTOR@@@Z
; public: __cdecl SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
??0SAM_ALIAS@@QEAA@AEBVSAM_DOMAIN@@KK@Z
; public: __cdecl SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const & __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
??0SAM_ALIAS@@QEAA@AEBVSAM_DOMAIN@@PEBGK@Z
; public: __cdecl SAM_DOMAIN::SAM_DOMAIN(class SAM_SERVER const & __ptr64,void * __ptr64,unsigned long) __ptr64
??0SAM_DOMAIN@@QEAA@AEBVSAM_SERVER@@PEAXK@Z
; public: __cdecl SAM_GROUP::SAM_GROUP(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
??0SAM_GROUP@@QEAA@AEBVSAM_DOMAIN@@KK@Z
; protected: __cdecl SAM_MEMORY::SAM_MEMORY(int) __ptr64
??0SAM_MEMORY@@IEAA@H@Z
; protected: __cdecl SAM_OBJECT::SAM_OBJECT(void) __ptr64
??0SAM_OBJECT@@IEAA@XZ
; public: __cdecl SAM_PSWD_DOM_INFO_MEM::SAM_PSWD_DOM_INFO_MEM(int) __ptr64
??0SAM_PSWD_DOM_INFO_MEM@@QEAA@H@Z
; public: __cdecl SAM_RID_ENUMERATION_MEM::SAM_RID_ENUMERATION_MEM(int) __ptr64
??0SAM_RID_ENUMERATION_MEM@@QEAA@H@Z
; public: __cdecl SAM_RID_MEM::SAM_RID_MEM(int) __ptr64
??0SAM_RID_MEM@@QEAA@H@Z
; public: __cdecl SAM_SERVER::SAM_SERVER(unsigned short const * __ptr64,unsigned long) __ptr64
??0SAM_SERVER@@QEAA@PEBGK@Z
; public: __cdecl SAM_SID_MEM::SAM_SID_MEM(int) __ptr64
??0SAM_SID_MEM@@QEAA@H@Z
; public: __cdecl SAM_SID_NAME_USE_MEM::SAM_SID_NAME_USE_MEM(int) __ptr64
??0SAM_SID_NAME_USE_MEM@@QEAA@H@Z
; public: __cdecl SAM_USER::SAM_USER(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
??0SAM_USER@@QEAA@AEBVSAM_DOMAIN@@KK@Z
; public: __cdecl SAM_USER_ENUM::SAM_USER_ENUM(class SAM_DOMAIN const * __ptr64,unsigned long,int) __ptr64
??0SAM_USER_ENUM@@QEAA@PEBVSAM_DOMAIN@@KH@Z
; public: __cdecl SAM_USER_ENUM_ITER::SAM_USER_ENUM_ITER(class SAM_USER_ENUM & __ptr64) __ptr64
??0SAM_USER_ENUM_ITER@@QEAA@AEAVSAM_USER_ENUM@@@Z
; public: __cdecl SAM_USER_ENUM_OBJ::SAM_USER_ENUM_OBJ(void) __ptr64
??0SAM_USER_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SC_MANAGER::SC_MANAGER(struct SC_HANDLE__ * __ptr64) __ptr64
??0SC_MANAGER@@QEAA@PEAUSC_HANDLE__@@@Z
; public: __cdecl SC_MANAGER::SC_MANAGER(unsigned short const * __ptr64,unsigned int,enum SERVICE_DATABASE) __ptr64
??0SC_MANAGER@@QEAA@PEBGIW4SERVICE_DATABASE@@@Z
; public: __cdecl SC_SERVICE::SC_SERVICE(class SC_MANAGER const & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
??0SC_SERVICE@@QEAA@AEBVSC_MANAGER@@PEBG1III11111I@Z
; public: __cdecl SC_SERVICE::SC_SERVICE(class SC_MANAGER const & __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
??0SC_SERVICE@@QEAA@AEBVSC_MANAGER@@PEBGI@Z
; public: __cdecl SERVER1_ENUM::SERVER1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
??0SERVER1_ENUM@@QEAA@PEBG0K@Z
; public: __cdecl SERVER1_ENUM_ITER::SERVER1_ENUM_ITER(class SERVER1_ENUM & __ptr64) __ptr64
??0SERVER1_ENUM_ITER@@QEAA@AEAVSERVER1_ENUM@@@Z
; public: __cdecl SERVER1_ENUM_OBJ::SERVER1_ENUM_OBJ(void) __ptr64
??0SERVER1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SERVER_0::SERVER_0(unsigned short const * __ptr64) __ptr64
??0SERVER_0@@QEAA@PEBG@Z
; public: __cdecl SERVER_1::SERVER_1(unsigned short const * __ptr64) __ptr64
??0SERVER_1@@QEAA@PEBG@Z
; public: __cdecl SERVER_2::SERVER_2(unsigned short const * __ptr64) __ptr64
??0SERVER_2@@QEAA@PEBG@Z
; protected: __cdecl SERVER_ENUM::SERVER_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned long) __ptr64
??0SERVER_ENUM@@IEAA@PEBGI0K@Z
; public: __cdecl SERVICE_CONTROL::SERVICE_CONTROL(void) __ptr64
??0SERVICE_CONTROL@@QEAA@XZ
; public: __cdecl SERVICE_ENUM::SERVICE_ENUM(unsigned short const * __ptr64,int,unsigned int,unsigned short const * __ptr64) __ptr64
??0SERVICE_ENUM@@QEAA@PEBGHI0@Z
; public: __cdecl SERVICE_ENUM_ITER::SERVICE_ENUM_ITER(class SERVICE_ENUM & __ptr64) __ptr64
??0SERVICE_ENUM_ITER@@QEAA@AEAVSERVICE_ENUM@@@Z
; public: __cdecl SERVICE_ENUM_OBJ::SERVICE_ENUM_OBJ(void) __ptr64
??0SERVICE_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SESSION0_ENUM::SESSION0_ENUM(unsigned short const * __ptr64) __ptr64
??0SESSION0_ENUM@@QEAA@PEBG@Z
; public: __cdecl SESSION0_ENUM_ITER::SESSION0_ENUM_ITER(class SESSION0_ENUM & __ptr64) __ptr64
??0SESSION0_ENUM_ITER@@QEAA@AEAVSESSION0_ENUM@@@Z
; public: __cdecl SESSION0_ENUM_OBJ::SESSION0_ENUM_OBJ(void) __ptr64
??0SESSION0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SESSION1_ENUM::SESSION1_ENUM(unsigned short const * __ptr64) __ptr64
??0SESSION1_ENUM@@QEAA@PEBG@Z
; public: __cdecl SESSION1_ENUM_ITER::SESSION1_ENUM_ITER(class SESSION1_ENUM & __ptr64) __ptr64
??0SESSION1_ENUM_ITER@@QEAA@AEAVSESSION1_ENUM@@@Z
; public: __cdecl SESSION1_ENUM_OBJ::SESSION1_ENUM_OBJ(void) __ptr64
??0SESSION1_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl SESSION_ENUM::SESSION_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
??0SESSION_ENUM@@IEAA@PEBGI@Z
; public: __cdecl SHARE1_ENUM::SHARE1_ENUM(unsigned short const * __ptr64,int) __ptr64
??0SHARE1_ENUM@@QEAA@PEBGH@Z
; public: __cdecl SHARE1_ENUM_ITER::SHARE1_ENUM_ITER(class SHARE1_ENUM & __ptr64) __ptr64
??0SHARE1_ENUM_ITER@@QEAA@AEAVSHARE1_ENUM@@@Z
; public: __cdecl SHARE1_ENUM_OBJ::SHARE1_ENUM_OBJ(void) __ptr64
??0SHARE1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SHARE2_ENUM::SHARE2_ENUM(unsigned short const * __ptr64,int) __ptr64
??0SHARE2_ENUM@@QEAA@PEBGH@Z
; public: __cdecl SHARE2_ENUM_ITER::SHARE2_ENUM_ITER(class SHARE2_ENUM & __ptr64) __ptr64
??0SHARE2_ENUM_ITER@@QEAA@AEAVSHARE2_ENUM@@@Z
; public: __cdecl SHARE2_ENUM_OBJ::SHARE2_ENUM_OBJ(void) __ptr64
??0SHARE2_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SHARE::SHARE(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
??0SHARE@@QEAA@PEBG0H@Z
; public: __cdecl SHARE_1::SHARE_1(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
??0SHARE_1@@QEAA@PEBG0H@Z
; public: __cdecl SHARE_2::SHARE_2(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
??0SHARE_2@@QEAA@PEBG0H@Z
; protected: __cdecl SHARE_ENUM::SHARE_ENUM(unsigned short const * __ptr64,unsigned int,int) __ptr64
??0SHARE_ENUM@@IEAA@PEBGIH@Z
; public: __cdecl SLIST_OF_ADMIN_AUTHORITY::SLIST_OF_ADMIN_AUTHORITY(int) __ptr64
??0SLIST_OF_ADMIN_AUTHORITY@@QEAA@H@Z
; public: __cdecl SLIST_OF_API_SESSION::SLIST_OF_API_SESSION(int) __ptr64
??0SLIST_OF_API_SESSION@@QEAA@H@Z
; public: __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::SLIST_OF_BROWSE_DOMAIN_INFO(int) __ptr64
??0SLIST_OF_BROWSE_DOMAIN_INFO@@QEAA@H@Z
; public: __cdecl SLIST_OF_LM_RESUME_BUFFER::SLIST_OF_LM_RESUME_BUFFER(int) __ptr64
??0SLIST_OF_LM_RESUME_BUFFER@@QEAA@H@Z
; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(class LOCATION & __ptr64) __ptr64
??0TIME_OF_DAY@@QEAA@AEAVLOCATION@@@Z
; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(unsigned short const * __ptr64) __ptr64
??0TIME_OF_DAY@@QEAA@PEBG@Z
; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(enum LOCATION_TYPE) __ptr64
??0TIME_OF_DAY@@QEAA@W4LOCATION_TYPE@@@Z
; public: __cdecl TRIPLE_SERVER_ENUM::TRIPLE_SERVER_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,int,int,int,int) __ptr64
??0TRIPLE_SERVER_ENUM@@QEAA@PEBG0HHHH@Z
; public: __cdecl TRIPLE_SERVER_ENUM_ITER::TRIPLE_SERVER_ENUM_ITER(class TRIPLE_SERVER_ENUM & __ptr64) __ptr64
??0TRIPLE_SERVER_ENUM_ITER@@QEAA@AEAVTRIPLE_SERVER_ENUM@@@Z
; public: __cdecl TRIPLE_SERVER_ENUM_OBJ::TRIPLE_SERVER_ENUM_OBJ(void) __ptr64
??0TRIPLE_SERVER_ENUM_OBJ@@QEAA@XZ
; public: __cdecl TRUSTED_DOMAIN_ENUM::TRUSTED_DOMAIN_ENUM(class LSA_POLICY const * __ptr64,int) __ptr64
??0TRUSTED_DOMAIN_ENUM@@QEAA@PEBVLSA_POLICY@@H@Z
; public: __cdecl TRUSTED_DOMAIN_ENUM_ITER::TRUSTED_DOMAIN_ENUM_ITER(class TRUSTED_DOMAIN_ENUM & __ptr64) __ptr64
??0TRUSTED_DOMAIN_ENUM_ITER@@QEAA@AEAVTRUSTED_DOMAIN_ENUM@@@Z
; public: __cdecl TRUSTED_DOMAIN_ENUM_OBJ::TRUSTED_DOMAIN_ENUM_OBJ(void) __ptr64
??0TRUSTED_DOMAIN_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USE1_ENUM::USE1_ENUM(unsigned short const * __ptr64) __ptr64
??0USE1_ENUM@@QEAA@PEBG@Z
; public: __cdecl USE1_ENUM_ITER::USE1_ENUM_ITER(class USE1_ENUM & __ptr64) __ptr64
??0USE1_ENUM_ITER@@QEAA@AEAVUSE1_ENUM@@@Z
; public: __cdecl USE1_ENUM_OBJ::USE1_ENUM_OBJ(void) __ptr64
??0USE1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER0_ENUM::USER0_ENUM(class LOCATION const & __ptr64,unsigned short const * __ptr64,int) __ptr64
??0USER0_ENUM@@QEAA@AEBVLOCATION@@PEBGH@Z
; public: __cdecl USER0_ENUM::USER0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
??0USER0_ENUM@@QEAA@PEBG0H@Z
; public: __cdecl USER0_ENUM::USER0_ENUM(enum LOCATION_TYPE,unsigned short const * __ptr64,int) __ptr64
??0USER0_ENUM@@QEAA@W4LOCATION_TYPE@@PEBGH@Z
; public: __cdecl USER0_ENUM_ITER::USER0_ENUM_ITER(class USER0_ENUM & __ptr64) __ptr64
??0USER0_ENUM_ITER@@QEAA@AEAVUSER0_ENUM@@@Z
; public: __cdecl USER0_ENUM_OBJ::USER0_ENUM_OBJ(void) __ptr64
??0USER0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER10_ENUM::USER10_ENUM(class LOCATION const & __ptr64,int) __ptr64
??0USER10_ENUM@@QEAA@AEBVLOCATION@@H@Z
; public: __cdecl USER10_ENUM::USER10_ENUM(unsigned short const * __ptr64,int) __ptr64
??0USER10_ENUM@@QEAA@PEBGH@Z
; public: __cdecl USER10_ENUM::USER10_ENUM(enum LOCATION_TYPE,int) __ptr64
??0USER10_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
; public: __cdecl USER10_ENUM_ITER::USER10_ENUM_ITER(class USER10_ENUM & __ptr64) __ptr64
??0USER10_ENUM_ITER@@QEAA@AEAVUSER10_ENUM@@@Z
; public: __cdecl USER10_ENUM_OBJ::USER10_ENUM_OBJ(void) __ptr64
??0USER10_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER1_ENUM::USER1_ENUM(class LOCATION const & __ptr64,int) __ptr64
??0USER1_ENUM@@QEAA@AEBVLOCATION@@H@Z
; public: __cdecl USER1_ENUM::USER1_ENUM(unsigned short const * __ptr64,int) __ptr64
??0USER1_ENUM@@QEAA@PEBGH@Z
; public: __cdecl USER1_ENUM::USER1_ENUM(enum LOCATION_TYPE,int) __ptr64
??0USER1_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
; public: __cdecl USER1_ENUM_ITER::USER1_ENUM_ITER(class USER1_ENUM & __ptr64) __ptr64
??0USER1_ENUM_ITER@@QEAA@AEAVUSER1_ENUM@@@Z
; public: __cdecl USER1_ENUM_OBJ::USER1_ENUM_OBJ(void) __ptr64
??0USER1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER2_ENUM::USER2_ENUM(class LOCATION const & __ptr64,int) __ptr64
??0USER2_ENUM@@QEAA@AEBVLOCATION@@H@Z
; public: __cdecl USER2_ENUM::USER2_ENUM(unsigned short const * __ptr64,int) __ptr64
??0USER2_ENUM@@QEAA@PEBGH@Z
; public: __cdecl USER2_ENUM::USER2_ENUM(enum LOCATION_TYPE,int) __ptr64
??0USER2_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
; public: __cdecl USER2_ENUM_ITER::USER2_ENUM_ITER(class USER2_ENUM & __ptr64) __ptr64
??0USER2_ENUM_ITER@@QEAA@AEAVUSER2_ENUM@@@Z
; public: __cdecl USER2_ENUM_OBJ::USER2_ENUM_OBJ(void) __ptr64
??0USER2_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER::USER(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0USER@@QEAA@PEBG0@Z
; public: __cdecl USER::USER(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0USER@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl USER::USER(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0USER@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0USER_11@@QEAA@PEBG0@Z
; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0USER_11@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0USER_11@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0USER_2@@QEAA@PEBG0@Z
; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0USER_2@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0USER_2@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0USER_3@@QEAA@PEBG0@Z
; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
??0USER_3@@QEAA@PEBGAEBVLOCATION@@@Z
; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
??0USER_3@@QEAA@PEBGW4LOCATION_TYPE@@@Z
; protected: __cdecl USER_ENUM::USER_ENUM(class LOCATION const & __ptr64,unsigned int,unsigned short const * __ptr64,int) __ptr64
??0USER_ENUM@@IEAA@AEBVLOCATION@@IPEBGH@Z
; protected: __cdecl USER_ENUM::USER_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64,int) __ptr64
??0USER_ENUM@@IEAA@PEBGI0H@Z
; protected: __cdecl USER_ENUM::USER_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const * __ptr64,int) __ptr64
??0USER_ENUM@@IEAA@W4LOCATION_TYPE@@IPEBGH@Z
; public: __cdecl USER_MEMB::USER_MEMB(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
??0USER_MEMB@@QEAA@AEBVLOCATION@@PEBG@Z
; public: __cdecl USER_MODALS::USER_MODALS(unsigned short const * __ptr64) __ptr64
??0USER_MODALS@@QEAA@PEBG@Z
; public: __cdecl USER_MODALS_3::USER_MODALS_3(unsigned short const * __ptr64) __ptr64
??0USER_MODALS_3@@QEAA@PEBG@Z
; protected: __cdecl USE_ENUM::USE_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
??0USE_ENUM@@IEAA@PEBGI@Z
; public: __cdecl WKSTA_10::WKSTA_10(unsigned short const * __ptr64) __ptr64
??0WKSTA_10@@QEAA@PEBG@Z
; public: __cdecl WKSTA_1::WKSTA_1(unsigned short const * __ptr64) __ptr64
??0WKSTA_1@@QEAA@PEBG@Z
; public: __cdecl WKSTA_USER_1::WKSTA_USER_1(void) __ptr64
??0WKSTA_USER_1@@QEAA@XZ
; public: __cdecl ADMIN_AUTHORITY::~ADMIN_AUTHORITY(void) __ptr64
??1ADMIN_AUTHORITY@@QEAA@XZ
; public: __cdecl ALIAS_ENUM::~ALIAS_ENUM(void) __ptr64
??1ALIAS_ENUM@@QEAA@XZ
; public: __cdecl ALIAS_ENUM_OBJ::~ALIAS_ENUM_OBJ(void) __ptr64
??1ALIAS_ENUM_OBJ@@QEAA@XZ
; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
??1ALIAS_STR@@QEAA@XZ
; public: __cdecl ALLOC_STR::~ALLOC_STR(void) __ptr64
??1ALLOC_STR@@QEAA@XZ
; public: __cdecl API_SESSION::~API_SESSION(void) __ptr64
??1API_SESSION@@QEAA@XZ
; public: __cdecl BROWSE_DOMAIN_ENUM::~BROWSE_DOMAIN_ENUM(void) __ptr64
??1BROWSE_DOMAIN_ENUM@@QEAA@XZ
; public: __cdecl BROWSE_DOMAIN_INFO::~BROWSE_DOMAIN_INFO(void) __ptr64
??1BROWSE_DOMAIN_INFO@@QEAA@XZ
; public: __cdecl CHARDEVQ1_ENUM_OBJ::~CHARDEVQ1_ENUM_OBJ(void) __ptr64
??1CHARDEVQ1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl CHARDEVQ_ENUM::~CHARDEVQ_ENUM(void) __ptr64
??1CHARDEVQ_ENUM@@QEAA@XZ
; protected: __cdecl COMPUTER::~COMPUTER(void) __ptr64
??1COMPUTER@@IEAA@XZ
; public: __cdecl CONN0_ENUM_OBJ::~CONN0_ENUM_OBJ(void) __ptr64
??1CONN0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl CONN1_ENUM_OBJ::~CONN1_ENUM_OBJ(void) __ptr64
??1CONN1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl CONN_ENUM::~CONN_ENUM(void) __ptr64
??1CONN_ENUM@@QEAA@XZ
; public: __cdecl CONTEXT_ENUM_OBJ::~CONTEXT_ENUM_OBJ(void) __ptr64
??1CONTEXT_ENUM_OBJ@@QEAA@XZ
; public: __cdecl DEVICE::~DEVICE(void) __ptr64
??1DEVICE@@QEAA@XZ
; public: __cdecl DOMAIN0_ENUM::~DOMAIN0_ENUM(void) __ptr64
??1DOMAIN0_ENUM@@QEAA@XZ
; public: __cdecl DOMAIN0_ENUM_ITER::~DOMAIN0_ENUM_ITER(void) __ptr64
??1DOMAIN0_ENUM_ITER@@QEAA@XZ
; public: __cdecl DOMAIN0_ENUM_OBJ::~DOMAIN0_ENUM_OBJ(void) __ptr64
??1DOMAIN0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl DOMAIN::~DOMAIN(void) __ptr64
??1DOMAIN@@QEAA@XZ
; public: __cdecl DOMAIN_ENUM::~DOMAIN_ENUM(void) __ptr64
??1DOMAIN_ENUM@@QEAA@XZ
; public: __cdecl DOMAIN_WITH_DC_CACHE::~DOMAIN_WITH_DC_CACHE(void) __ptr64
??1DOMAIN_WITH_DC_CACHE@@QEAA@XZ
; public: __cdecl ENUM_CALLER_LM_OBJ::~ENUM_CALLER_LM_OBJ(void) __ptr64
??1ENUM_CALLER_LM_OBJ@@QEAA@XZ
; protected: __cdecl ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void) __ptr64
??1ENUM_OBJ_BASE@@IEAA@XZ
; public: __cdecl FILE2_ENUM_OBJ::~FILE2_ENUM_OBJ(void) __ptr64
??1FILE2_ENUM_OBJ@@QEAA@XZ
; public: __cdecl FILE3_ENUM::~FILE3_ENUM(void) __ptr64
??1FILE3_ENUM@@QEAA@XZ
; public: __cdecl FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void) __ptr64
??1FILE3_ENUM_ITER@@QEAA@XZ
; public: __cdecl FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void) __ptr64
??1FILE3_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl FILE_ENUM::~FILE_ENUM(void) __ptr64
??1FILE_ENUM@@IEAA@XZ
; public: __cdecl GROUP0_ENUM::~GROUP0_ENUM(void) __ptr64
??1GROUP0_ENUM@@QEAA@XZ
; public: __cdecl GROUP0_ENUM_ITER::~GROUP0_ENUM_ITER(void) __ptr64
??1GROUP0_ENUM_ITER@@QEAA@XZ
; public: __cdecl GROUP0_ENUM_OBJ::~GROUP0_ENUM_OBJ(void) __ptr64
??1GROUP0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl GROUP1_ENUM_OBJ::~GROUP1_ENUM_OBJ(void) __ptr64
??1GROUP1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl GROUP::~GROUP(void) __ptr64
??1GROUP@@QEAA@XZ
; public: __cdecl GROUP_0::~GROUP_0(void) __ptr64
??1GROUP_0@@QEAA@XZ
; public: __cdecl GROUP_1::~GROUP_1(void) __ptr64
??1GROUP_1@@QEAA@XZ
; public: __cdecl GROUP_ENUM::~GROUP_ENUM(void) __ptr64
??1GROUP_ENUM@@QEAA@XZ
; public: __cdecl GROUP_MEMB::~GROUP_MEMB(void) __ptr64
??1GROUP_MEMB@@QEAA@XZ
; public: __cdecl ITER_DEVICE::~ITER_DEVICE(void) __ptr64
??1ITER_DEVICE@@QEAA@XZ
; public: __cdecl ITER_SL_BROWSE_DOMAIN_INFO::~ITER_SL_BROWSE_DOMAIN_INFO(void) __ptr64
??1ITER_SL_BROWSE_DOMAIN_INFO@@QEAA@XZ
; public: __cdecl ITER_SL_LM_RESUME_BUFFER::~ITER_SL_LM_RESUME_BUFFER(void) __ptr64
??1ITER_SL_LM_RESUME_BUFFER@@QEAA@XZ
; public: __cdecl LM_CONFIG::~LM_CONFIG(void) __ptr64
??1LM_CONFIG@@QEAA@XZ
; public: __cdecl LM_ENUM::~LM_ENUM(void) __ptr64
??1LM_ENUM@@QEAA@XZ
; protected: __cdecl LM_ENUM_ITER::~LM_ENUM_ITER(void) __ptr64
??1LM_ENUM_ITER@@IEAA@XZ
; protected: __cdecl LM_FILE::~LM_FILE(void) __ptr64
??1LM_FILE@@IEAA@XZ
; public: __cdecl LM_FILE_2::~LM_FILE_2(void) __ptr64
??1LM_FILE_2@@QEAA@XZ
; public: __cdecl LM_RESUME_BUFFER::~LM_RESUME_BUFFER(void) __ptr64
??1LM_RESUME_BUFFER@@QEAA@XZ
; public: __cdecl LM_RESUME_ENUM::~LM_RESUME_ENUM(void) __ptr64
??1LM_RESUME_ENUM@@QEAA@XZ
; protected: __cdecl LM_RESUME_ENUM_ITER::~LM_RESUME_ENUM_ITER(void) __ptr64
??1LM_RESUME_ENUM_ITER@@IEAA@XZ
; public: __cdecl LM_SERVICE::~LM_SERVICE(void) __ptr64
??1LM_SERVICE@@QEAA@XZ
; public: __cdecl LM_SESSION::~LM_SESSION(void) __ptr64
??1LM_SESSION@@QEAA@XZ
; public: __cdecl LM_SESSION_0::~LM_SESSION_0(void) __ptr64
??1LM_SESSION_0@@QEAA@XZ
; public: __cdecl LM_SESSION_10::~LM_SESSION_10(void) __ptr64
??1LM_SESSION_10@@QEAA@XZ
; public: __cdecl LM_SESSION_1::~LM_SESSION_1(void) __ptr64
??1LM_SESSION_1@@QEAA@XZ
; public: __cdecl LM_SRVRES::~LM_SRVRES(void) __ptr64
??1LM_SRVRES@@QEAA@XZ
; public: __cdecl LOCAL_USER::~LOCAL_USER(void) __ptr64
??1LOCAL_USER@@QEAA@XZ
; public: __cdecl LOCATION::~LOCATION(void) __ptr64
??1LOCATION@@QEAA@XZ
; public: __cdecl LOC_LM_ENUM::~LOC_LM_ENUM(void) __ptr64
??1LOC_LM_ENUM@@QEAA@XZ
; public: __cdecl LOC_LM_OBJ::~LOC_LM_OBJ(void) __ptr64
??1LOC_LM_OBJ@@QEAA@XZ
; public: __cdecl LOC_LM_RESUME_ENUM::~LOC_LM_RESUME_ENUM(void) __ptr64
??1LOC_LM_RESUME_ENUM@@QEAA@XZ
; public: __cdecl LSA_ACCOUNT::~LSA_ACCOUNT(void) __ptr64
??1LSA_ACCOUNT@@QEAA@XZ
; public: __cdecl LSA_ACCOUNTS_ENUM_OBJ::~LSA_ACCOUNTS_ENUM_OBJ(void) __ptr64
??1LSA_ACCOUNTS_ENUM_OBJ@@QEAA@XZ
; public: __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::~LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(void) __ptr64
??1LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAA@XZ
; public: __cdecl LSA_ACCT_DOM_INFO_MEM::~LSA_ACCT_DOM_INFO_MEM(void) __ptr64
??1LSA_ACCT_DOM_INFO_MEM@@QEAA@XZ
; public: __cdecl LSA_AUDIT_EVENT_INFO_MEM::~LSA_AUDIT_EVENT_INFO_MEM(void) __ptr64
??1LSA_AUDIT_EVENT_INFO_MEM@@QEAA@XZ
; public: __cdecl LSA_DOMAIN_INFO::~LSA_DOMAIN_INFO(void) __ptr64
??1LSA_DOMAIN_INFO@@QEAA@XZ
; public: __cdecl LSA_ENUM::~LSA_ENUM(void) __ptr64
??1LSA_ENUM@@QEAA@XZ
; protected: __cdecl LSA_MEMORY::~LSA_MEMORY(void) __ptr64
??1LSA_MEMORY@@IEAA@XZ
; protected: __cdecl LSA_OBJECT::~LSA_OBJECT(void) __ptr64
??1LSA_OBJECT@@IEAA@XZ
; public: __cdecl LSA_POLICY::~LSA_POLICY(void) __ptr64
??1LSA_POLICY@@QEAA@XZ
; public: __cdecl LSA_PRIMARY_DOM_INFO_MEM::~LSA_PRIMARY_DOM_INFO_MEM(void) __ptr64
??1LSA_PRIMARY_DOM_INFO_MEM@@QEAA@XZ
; public: __cdecl LSA_PRIVILEGES_ENUM_OBJ::~LSA_PRIVILEGES_ENUM_OBJ(void) __ptr64
??1LSA_PRIVILEGES_ENUM_OBJ@@QEAA@XZ
; public: __cdecl LSA_REF_DOMAIN_MEM::~LSA_REF_DOMAIN_MEM(void) __ptr64
??1LSA_REF_DOMAIN_MEM@@QEAA@XZ
; public: __cdecl LSA_SECRET::~LSA_SECRET(void) __ptr64
??1LSA_SECRET@@QEAA@XZ
; public: __cdecl LSA_SERVER_ROLE_INFO_MEM::~LSA_SERVER_ROLE_INFO_MEM(void) __ptr64
??1LSA_SERVER_ROLE_INFO_MEM@@QEAA@XZ
; public: __cdecl LSA_TRANSLATED_NAME_MEM::~LSA_TRANSLATED_NAME_MEM(void) __ptr64
??1LSA_TRANSLATED_NAME_MEM@@QEAA@XZ
; public: __cdecl LSA_TRANSLATED_SID_MEM::~LSA_TRANSLATED_SID_MEM(void) __ptr64
??1LSA_TRANSLATED_SID_MEM@@QEAA@XZ
; public: __cdecl LSA_TRUSTED_DC_LIST::~LSA_TRUSTED_DC_LIST(void) __ptr64
??1LSA_TRUSTED_DC_LIST@@QEAA@XZ
; public: __cdecl LSA_TRUSTED_DOMAIN::~LSA_TRUSTED_DOMAIN(void) __ptr64
??1LSA_TRUSTED_DOMAIN@@QEAA@XZ
; public: __cdecl LSA_TRUST_INFO_MEM::~LSA_TRUST_INFO_MEM(void) __ptr64
??1LSA_TRUST_INFO_MEM@@QEAA@XZ
; public: __cdecl MEMBERSHIP_LM_OBJ::~MEMBERSHIP_LM_OBJ(void) __ptr64
??1MEMBERSHIP_LM_OBJ@@QEAA@XZ
; protected: __cdecl NET_ACCESS::~NET_ACCESS(void) __ptr64
??1NET_ACCESS@@IEAA@XZ
; public: __cdecl NET_ACCESS_1::~NET_ACCESS_1(void) __ptr64
??1NET_ACCESS_1@@QEAA@XZ
; public: __cdecl NET_NAME::~NET_NAME(void) __ptr64
??1NET_NAME@@QEAA@XZ
; public: __cdecl NEW_LM_OBJ::~NEW_LM_OBJ(void) __ptr64
??1NEW_LM_OBJ@@QEAA@XZ
; protected: __cdecl NT_ACCOUNT_ENUM::~NT_ACCOUNT_ENUM(void) __ptr64
??1NT_ACCOUNT_ENUM@@IEAA@XZ
; public: __cdecl NT_GROUP_ENUM::~NT_GROUP_ENUM(void) __ptr64
??1NT_GROUP_ENUM@@QEAA@XZ
; public: __cdecl NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void) __ptr64
??1NT_GROUP_ENUM_OBJ@@QEAA@XZ
; public: __cdecl NT_MACHINE_ENUM::~NT_MACHINE_ENUM(void) __ptr64
??1NT_MACHINE_ENUM@@QEAA@XZ
; public: __cdecl NT_MACHINE_ENUM_ITER::~NT_MACHINE_ENUM_ITER(void) __ptr64
??1NT_MACHINE_ENUM_ITER@@QEAA@XZ
; public: __cdecl NT_MACHINE_ENUM_OBJ::~NT_MACHINE_ENUM_OBJ(void) __ptr64
??1NT_MACHINE_ENUM_OBJ@@QEAA@XZ
; protected: __cdecl NT_MEMORY::~NT_MEMORY(void) __ptr64
??1NT_MEMORY@@IEAA@XZ
; public: __cdecl NT_USER_ENUM::~NT_USER_ENUM(void) __ptr64
??1NT_USER_ENUM@@QEAA@XZ
; public: __cdecl NT_USER_ENUM_OBJ::~NT_USER_ENUM_OBJ(void) __ptr64
??1NT_USER_ENUM_OBJ@@QEAA@XZ
; public: __cdecl OS_ACE::~OS_ACE(void) __ptr64
??1OS_ACE@@QEAA@XZ
; public: __cdecl OS_ACL::~OS_ACL(void) __ptr64
??1OS_ACL@@QEAA@XZ
; public: __cdecl OS_ACL_SUBJECT_ITER::~OS_ACL_SUBJECT_ITER(void) __ptr64
??1OS_ACL_SUBJECT_ITER@@QEAA@XZ
; public: __cdecl OS_DACL_SUBJECT_ITER::~OS_DACL_SUBJECT_ITER(void) __ptr64
??1OS_DACL_SUBJECT_ITER@@QEAA@XZ
; protected: __cdecl OS_OBJECT_WITH_DATA::~OS_OBJECT_WITH_DATA(void) __ptr64
??1OS_OBJECT_WITH_DATA@@IEAA@XZ
; public: __cdecl OS_PRIVILEGE_SET::~OS_PRIVILEGE_SET(void) __ptr64
??1OS_PRIVILEGE_SET@@QEAA@XZ
; public: __cdecl OS_SACL_SUBJECT_ITER::~OS_SACL_SUBJECT_ITER(void) __ptr64
??1OS_SACL_SUBJECT_ITER@@QEAA@XZ
; public: __cdecl OS_SECURITY_DESCRIPTOR::~OS_SECURITY_DESCRIPTOR(void) __ptr64
??1OS_SECURITY_DESCRIPTOR@@QEAA@XZ
; public: __cdecl OS_SID::~OS_SID(void) __ptr64
??1OS_SID@@QEAA@XZ
; public: __cdecl REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void) __ptr64
??1REG_VALUE_INFO_STRUCT@@QEAA@XZ
; public: __cdecl SAM_ALIAS::~SAM_ALIAS(void) __ptr64
??1SAM_ALIAS@@QEAA@XZ
; public: __cdecl SAM_DOMAIN::~SAM_DOMAIN(void) __ptr64
??1SAM_DOMAIN@@QEAA@XZ
; public: __cdecl SAM_GROUP::~SAM_GROUP(void) __ptr64
??1SAM_GROUP@@QEAA@XZ
; public: __cdecl SAM_MEMORY::~SAM_MEMORY(void) __ptr64
??1SAM_MEMORY@@QEAA@XZ
; protected: __cdecl SAM_OBJECT::~SAM_OBJECT(void) __ptr64
??1SAM_OBJECT@@IEAA@XZ
; public: __cdecl SAM_PSWD_DOM_INFO_MEM::~SAM_PSWD_DOM_INFO_MEM(void) __ptr64
??1SAM_PSWD_DOM_INFO_MEM@@QEAA@XZ
; public: __cdecl SAM_RID_ENUMERATION_MEM::~SAM_RID_ENUMERATION_MEM(void) __ptr64
??1SAM_RID_ENUMERATION_MEM@@QEAA@XZ
; public: __cdecl SAM_RID_MEM::~SAM_RID_MEM(void) __ptr64
??1SAM_RID_MEM@@QEAA@XZ
; public: __cdecl SAM_SERVER::~SAM_SERVER(void) __ptr64
??1SAM_SERVER@@QEAA@XZ
; public: __cdecl SAM_SID_MEM::~SAM_SID_MEM(void) __ptr64
??1SAM_SID_MEM@@QEAA@XZ
; public: __cdecl SAM_SID_NAME_USE_MEM::~SAM_SID_NAME_USE_MEM(void) __ptr64
??1SAM_SID_NAME_USE_MEM@@QEAA@XZ
; public: __cdecl SAM_USER::~SAM_USER(void) __ptr64
??1SAM_USER@@QEAA@XZ
; public: __cdecl SAM_USER_ENUM::~SAM_USER_ENUM(void) __ptr64
??1SAM_USER_ENUM@@QEAA@XZ
; public: __cdecl SAM_USER_ENUM_ITER::~SAM_USER_ENUM_ITER(void) __ptr64
??1SAM_USER_ENUM_ITER@@QEAA@XZ
; public: __cdecl SAM_USER_ENUM_OBJ::~SAM_USER_ENUM_OBJ(void) __ptr64
??1SAM_USER_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SC_MANAGER::~SC_MANAGER(void) __ptr64
??1SC_MANAGER@@QEAA@XZ
; public: __cdecl SC_SERVICE::~SC_SERVICE(void) __ptr64
??1SC_SERVICE@@QEAA@XZ
; public: __cdecl SERVER1_ENUM::~SERVER1_ENUM(void) __ptr64
??1SERVER1_ENUM@@QEAA@XZ
; public: __cdecl SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void) __ptr64
??1SERVER1_ENUM_ITER@@QEAA@XZ
; public: __cdecl SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void) __ptr64
??1SERVER1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SERVER_0::~SERVER_0(void) __ptr64
??1SERVER_0@@QEAA@XZ
; public: __cdecl SERVER_1::~SERVER_1(void) __ptr64
??1SERVER_1@@QEAA@XZ
; public: __cdecl SERVER_2::~SERVER_2(void) __ptr64
??1SERVER_2@@QEAA@XZ
; public: __cdecl SERVER_ENUM::~SERVER_ENUM(void) __ptr64
??1SERVER_ENUM@@QEAA@XZ
; public: __cdecl SERVICE_CONTROL::~SERVICE_CONTROL(void) __ptr64
??1SERVICE_CONTROL@@QEAA@XZ
; public: __cdecl SERVICE_ENUM::~SERVICE_ENUM(void) __ptr64
??1SERVICE_ENUM@@QEAA@XZ
; public: __cdecl SERVICE_ENUM_OBJ::~SERVICE_ENUM_OBJ(void) __ptr64
??1SERVICE_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SESSION0_ENUM::~SESSION0_ENUM(void) __ptr64
??1SESSION0_ENUM@@QEAA@XZ
; public: __cdecl SESSION0_ENUM_ITER::~SESSION0_ENUM_ITER(void) __ptr64
??1SESSION0_ENUM_ITER@@QEAA@XZ
; public: __cdecl SESSION0_ENUM_OBJ::~SESSION0_ENUM_OBJ(void) __ptr64
??1SESSION0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SESSION1_ENUM_OBJ::~SESSION1_ENUM_OBJ(void) __ptr64
??1SESSION1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SESSION_ENUM::~SESSION_ENUM(void) __ptr64
??1SESSION_ENUM@@QEAA@XZ
; public: __cdecl SHARE1_ENUM_OBJ::~SHARE1_ENUM_OBJ(void) __ptr64
??1SHARE1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SHARE2_ENUM_OBJ::~SHARE2_ENUM_OBJ(void) __ptr64
??1SHARE2_ENUM_OBJ@@QEAA@XZ
; public: __cdecl SHARE::~SHARE(void) __ptr64
??1SHARE@@QEAA@XZ
; public: __cdecl SHARE_1::~SHARE_1(void) __ptr64
??1SHARE_1@@QEAA@XZ
; public: __cdecl SHARE_2::~SHARE_2(void) __ptr64
??1SHARE_2@@QEAA@XZ
; public: __cdecl SHARE_ENUM::~SHARE_ENUM(void) __ptr64
??1SHARE_ENUM@@QEAA@XZ
; public: __cdecl SLIST_OF_ADMIN_AUTHORITY::~SLIST_OF_ADMIN_AUTHORITY(void) __ptr64
??1SLIST_OF_ADMIN_AUTHORITY@@QEAA@XZ
; public: __cdecl SLIST_OF_API_SESSION::~SLIST_OF_API_SESSION(void) __ptr64
??1SLIST_OF_API_SESSION@@QEAA@XZ
; public: __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::~SLIST_OF_BROWSE_DOMAIN_INFO(void) __ptr64
??1SLIST_OF_BROWSE_DOMAIN_INFO@@QEAA@XZ
; public: __cdecl SLIST_OF_LM_RESUME_BUFFER::~SLIST_OF_LM_RESUME_BUFFER(void) __ptr64
??1SLIST_OF_LM_RESUME_BUFFER@@QEAA@XZ
; public: __cdecl TIME_OF_DAY::~TIME_OF_DAY(void) __ptr64
??1TIME_OF_DAY@@QEAA@XZ
; public: __cdecl TRIPLE_SERVER_ENUM::~TRIPLE_SERVER_ENUM(void) __ptr64
??1TRIPLE_SERVER_ENUM@@QEAA@XZ
; public: __cdecl TRIPLE_SERVER_ENUM_OBJ::~TRIPLE_SERVER_ENUM_OBJ(void) __ptr64
??1TRIPLE_SERVER_ENUM_OBJ@@QEAA@XZ
; public: __cdecl TRUSTED_DOMAIN_ENUM::~TRUSTED_DOMAIN_ENUM(void) __ptr64
??1TRUSTED_DOMAIN_ENUM@@QEAA@XZ
; public: __cdecl TRUSTED_DOMAIN_ENUM_OBJ::~TRUSTED_DOMAIN_ENUM_OBJ(void) __ptr64
??1TRUSTED_DOMAIN_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USE1_ENUM_OBJ::~USE1_ENUM_OBJ(void) __ptr64
??1USE1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER0_ENUM::~USER0_ENUM(void) __ptr64
??1USER0_ENUM@@QEAA@XZ
; public: __cdecl USER0_ENUM_ITER::~USER0_ENUM_ITER(void) __ptr64
??1USER0_ENUM_ITER@@QEAA@XZ
; public: __cdecl USER0_ENUM_OBJ::~USER0_ENUM_OBJ(void) __ptr64
??1USER0_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER10_ENUM_OBJ::~USER10_ENUM_OBJ(void) __ptr64
??1USER10_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER1_ENUM_OBJ::~USER1_ENUM_OBJ(void) __ptr64
??1USER1_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER2_ENUM_OBJ::~USER2_ENUM_OBJ(void) __ptr64
??1USER2_ENUM_OBJ@@QEAA@XZ
; public: __cdecl USER::~USER(void) __ptr64
??1USER@@QEAA@XZ
; public: __cdecl USER_11::~USER_11(void) __ptr64
??1USER_11@@QEAA@XZ
; public: virtual __cdecl USER_2::~USER_2(void) __ptr64
??1USER_2@@UEAA@XZ
; public: virtual __cdecl USER_3::~USER_3(void) __ptr64
??1USER_3@@UEAA@XZ
; public: __cdecl USER_ENUM::~USER_ENUM(void) __ptr64
??1USER_ENUM@@QEAA@XZ
; public: __cdecl USER_MEMB::~USER_MEMB(void) __ptr64
??1USER_MEMB@@QEAA@XZ
; public: __cdecl USE_ENUM::~USE_ENUM(void) __ptr64
??1USE_ENUM@@QEAA@XZ
; public: __cdecl WKSTA_10::~WKSTA_10(void) __ptr64
??1WKSTA_10@@QEAA@XZ
; public: __cdecl WKSTA_1::~WKSTA_1(void) __ptr64
??1WKSTA_1@@QEAA@XZ
; public: __cdecl WKSTA_USER_1::~WKSTA_USER_1(void) __ptr64
??1WKSTA_USER_1@@QEAA@XZ
; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(class ALLOC_STR const & __ptr64) __ptr64
??4ALLOC_STR@@QEAAAEAV0@AEBV0@@Z
; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(unsigned short const * __ptr64) __ptr64
??4ALLOC_STR@@QEAAAEAV0@PEBG@Z
; public: int __cdecl BASE::operator!(void)const  __ptr64
??7BASE@@QEBAHXZ
; public: int __cdecl OS_LUID::operator==(class OS_LUID const & __ptr64)const  __ptr64
??8OS_LUID@@QEBAHAEBV0@@Z
; public: int __cdecl OS_SID::operator==(class OS_SID const & __ptr64)const  __ptr64
??8OS_SID@@QEBAHAEBV0@@Z
; public: struct _UNICODE_STRING const & __ptr64 __cdecl LSA_TRUSTED_DC_LIST::operator[](int)const  __ptr64
??ALSA_TRUSTED_DC_LIST@@QEBAAEBU_UNICODE_STRING@@H@Z
; public: unsigned short const * __ptr64 __cdecl NLS_STR::operator[](class ISTR const & __ptr64)const  __ptr64
??ANLS_STR@@QEBAPEBGAEBVISTR@@@Z
; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
??BNLS_STR@@QEBAPEBGXZ
; public: __cdecl OS_ACL::operator struct _ACL * __ptr64(void)const  __ptr64
??BOS_ACL@@QEBAPEAU_ACL@@XZ
; public: __cdecl OS_SID::operator void * __ptr64(void)const  __ptr64
??BOS_SID@@QEBAPEAXXZ
; public: class CHARDEVQ1_ENUM_OBJ const * __ptr64 __cdecl CHARDEVQ1_ENUM_ITER::operator()(void) __ptr64
??RCHARDEVQ1_ENUM_ITER@@QEAAPEBVCHARDEVQ1_ENUM_OBJ@@XZ
; public: class CONN0_ENUM_OBJ const * __ptr64 __cdecl CONN0_ENUM_ITER::operator()(void) __ptr64
??RCONN0_ENUM_ITER@@QEAAPEBVCONN0_ENUM_OBJ@@XZ
; public: class CONN1_ENUM_OBJ const * __ptr64 __cdecl CONN1_ENUM_ITER::operator()(void) __ptr64
??RCONN1_ENUM_ITER@@QEAAPEBVCONN1_ENUM_OBJ@@XZ
; public: class CONTEXT_ENUM_OBJ const * __ptr64 __cdecl CONTEXT_ENUM_ITER::operator()(void) __ptr64
??RCONTEXT_ENUM_ITER@@QEAAPEBVCONTEXT_ENUM_OBJ@@XZ
; public: class DOMAIN0_ENUM_OBJ const * __ptr64 __cdecl DOMAIN0_ENUM_ITER::operator()(void) __ptr64
??RDOMAIN0_ENUM_ITER@@QEAAPEBVDOMAIN0_ENUM_OBJ@@XZ
; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
??RFILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
; public: class GROUP0_ENUM_OBJ const * __ptr64 __cdecl GROUP0_ENUM_ITER::operator()(void) __ptr64
??RGROUP0_ENUM_ITER@@QEAAPEBVGROUP0_ENUM_OBJ@@XZ
; public: class GROUP1_ENUM_OBJ const * __ptr64 __cdecl GROUP1_ENUM_ITER::operator()(void) __ptr64
??RGROUP1_ENUM_ITER@@QEAAPEBVGROUP1_ENUM_OBJ@@XZ
; public: class OS_LUID_AND_ATTRIBUTES const * __ptr64 __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::operator()(void) __ptr64
??RLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAAPEBVOS_LUID_AND_ATTRIBUTES@@XZ
; public: class NT_MACHINE_ENUM_OBJ const * __ptr64 __cdecl NT_MACHINE_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
??RNT_MACHINE_ENUM_ITER@@QEAAPEBVNT_MACHINE_ENUM_OBJ@@PEAJH@Z
; public: class SERVER1_ENUM_OBJ const * __ptr64 __cdecl SERVER1_ENUM_ITER::operator()(void) __ptr64
??RSERVER1_ENUM_ITER@@QEAAPEBVSERVER1_ENUM_OBJ@@XZ
; public: class SERVICE_ENUM_OBJ const * __ptr64 __cdecl SERVICE_ENUM_ITER::operator()(void) __ptr64
??RSERVICE_ENUM_ITER@@QEAAPEBVSERVICE_ENUM_OBJ@@XZ
; public: class SESSION0_ENUM_OBJ const * __ptr64 __cdecl SESSION0_ENUM_ITER::operator()(void) __ptr64
??RSESSION0_ENUM_ITER@@QEAAPEBVSESSION0_ENUM_OBJ@@XZ
; public: class SESSION1_ENUM_OBJ const * __ptr64 __cdecl SESSION1_ENUM_ITER::operator()(void) __ptr64
??RSESSION1_ENUM_ITER@@QEAAPEBVSESSION1_ENUM_OBJ@@XZ
; public: class SHARE1_ENUM_OBJ const * __ptr64 __cdecl SHARE1_ENUM_ITER::operator()(void) __ptr64
??RSHARE1_ENUM_ITER@@QEAAPEBVSHARE1_ENUM_OBJ@@XZ
; public: class SHARE2_ENUM_OBJ const * __ptr64 __cdecl SHARE2_ENUM_ITER::operator()(void) __ptr64
??RSHARE2_ENUM_ITER@@QEAAPEBVSHARE2_ENUM_OBJ@@XZ
; public: class TRIPLE_SERVER_ENUM_OBJ const * __ptr64 __cdecl TRIPLE_SERVER_ENUM_ITER::operator()(void) __ptr64
??RTRIPLE_SERVER_ENUM_ITER@@QEAAPEBVTRIPLE_SERVER_ENUM_OBJ@@XZ
; public: class USE1_ENUM_OBJ const * __ptr64 __cdecl USE1_ENUM_ITER::operator()(void) __ptr64
??RUSE1_ENUM_ITER@@QEAAPEBVUSE1_ENUM_OBJ@@XZ
; public: class USER0_ENUM_OBJ const * __ptr64 __cdecl USER0_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
??RUSER0_ENUM_ITER@@QEAAPEBVUSER0_ENUM_OBJ@@PEAJH@Z
; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
; public: long __cdecl OS_ACL::AddACE(unsigned long,class OS_ACE const & __ptr64) __ptr64
?AddACE@OS_ACL@@QEAAJKAEBVOS_ACE@@@Z
; public: long __cdecl MEMBERSHIP_LM_OBJ::AddAssocName(unsigned short const * __ptr64) __ptr64
?AddAssocName@MEMBERSHIP_LM_OBJ@@QEAAJPEBG@Z
; private: static long __cdecl DOMAIN_WITH_DC_CACHE::AddDcCache(struct _DC_CACHE_ENTRY * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
?AddDcCache@DOMAIN_WITH_DC_CACHE@@CAJPEAPEAU_DC_CACHE_ENTRY@@PEBG1@Z
; private: void __cdecl BROWSE_DOMAIN_INFO::AddDomainSource(unsigned long) __ptr64
?AddDomainSource@BROWSE_DOMAIN_INFO@@AEAAXK@Z
; private: long __cdecl BROWSE_DOMAIN_ENUM::AddDomainToList(unsigned short const * __ptr64,unsigned long,int) __ptr64
?AddDomainToList@BROWSE_DOMAIN_ENUM@@AEAAJPEBGKH@Z
; public: long __cdecl SAM_ALIAS::AddMember(void * __ptr64) __ptr64
?AddMember@SAM_ALIAS@@QEAAJPEAX@Z
; public: long __cdecl SAM_GROUP::AddMember(unsigned long) __ptr64
?AddMember@SAM_GROUP@@QEAAJK@Z
; public: long __cdecl SAM_ALIAS::AddMembers(void * __ptr64 * __ptr64,unsigned int) __ptr64
?AddMembers@SAM_ALIAS@@QEAAJPEAPEAXI@Z
; public: long __cdecl SAM_GROUP::AddMembers(unsigned long * __ptr64,unsigned int) __ptr64
?AddMembers@SAM_GROUP@@QEAAJPEAKI@Z
; public: long __cdecl OS_PRIVILEGE_SET::AddPrivilege(struct _LUID,unsigned long) __ptr64
?AddPrivilege@OS_PRIVILEGE_SET@@QEAAJU_LUID@@K@Z
; public: long __cdecl SLIST_OF_ADMIN_AUTHORITY::Append(class ADMIN_AUTHORITY const * __ptr64) __ptr64
?Append@SLIST_OF_ADMIN_AUTHORITY@@QEAAJPEBVADMIN_AUTHORITY@@@Z
; public: long __cdecl SLIST_OF_API_SESSION::Append(class API_SESSION const * __ptr64) __ptr64
?Append@SLIST_OF_API_SESSION@@QEAAJPEBVAPI_SESSION@@@Z
; public: long __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Append(class BROWSE_DOMAIN_INFO const * __ptr64) __ptr64
?Append@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAJPEBVBROWSE_DOMAIN_INFO@@@Z
; public: long __cdecl SLIST_OF_LM_RESUME_BUFFER::Append(class LM_RESUME_BUFFER const * __ptr64) __ptr64
?Append@SLIST_OF_LM_RESUME_BUFFER@@QEAAJPEBVLM_RESUME_BUFFER@@@Z
; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
; public: int __cdecl CHARDEVQ1_ENUM_ITER::Backup(void) __ptr64
?Backup@CHARDEVQ1_ENUM_ITER@@QEAAHXZ
; public: int __cdecl CONN0_ENUM_ITER::Backup(void) __ptr64
?Backup@CONN0_ENUM_ITER@@QEAAHXZ
; public: int __cdecl CONN1_ENUM_ITER::Backup(void) __ptr64
?Backup@CONN1_ENUM_ITER@@QEAAHXZ
; public: int __cdecl CONTEXT_ENUM_ITER::Backup(void) __ptr64
?Backup@CONTEXT_ENUM_ITER@@QEAAHXZ
; public: int __cdecl DOMAIN0_ENUM_ITER::Backup(void) __ptr64
?Backup@DOMAIN0_ENUM_ITER@@QEAAHXZ
; public: int __cdecl GROUP0_ENUM_ITER::Backup(void) __ptr64
?Backup@GROUP0_ENUM_ITER@@QEAAHXZ
; public: int __cdecl GROUP1_ENUM_ITER::Backup(void) __ptr64
?Backup@GROUP1_ENUM_ITER@@QEAAHXZ
; public: int __cdecl SERVER1_ENUM_ITER::Backup(void) __ptr64
?Backup@SERVER1_ENUM_ITER@@QEAAHXZ
; public: int __cdecl SERVICE_ENUM_ITER::Backup(void) __ptr64
?Backup@SERVICE_ENUM_ITER@@QEAAHXZ
; public: int __cdecl SESSION0_ENUM_ITER::Backup(void) __ptr64
?Backup@SESSION0_ENUM_ITER@@QEAAHXZ
; public: int __cdecl SESSION1_ENUM_ITER::Backup(void) __ptr64
?Backup@SESSION1_ENUM_ITER@@QEAAHXZ
; public: int __cdecl SHARE1_ENUM_ITER::Backup(void) __ptr64
?Backup@SHARE1_ENUM_ITER@@QEAAHXZ
; public: int __cdecl SHARE2_ENUM_ITER::Backup(void) __ptr64
?Backup@SHARE2_ENUM_ITER@@QEAAHXZ
; public: int __cdecl TRIPLE_SERVER_ENUM_ITER::Backup(void) __ptr64
?Backup@TRIPLE_SERVER_ENUM_ITER@@QEAAHXZ
; public: int __cdecl USE1_ENUM_ITER::Backup(void) __ptr64
?Backup@USE1_ENUM_ITER@@QEAAHXZ
; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildAndCopySysSid(class OS_SID * __ptr64,struct _SID_IDENTIFIER_AUTHORITY * __ptr64,unsigned char,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
?BuildAndCopySysSid@NT_ACCOUNTS_UTILITY@@SAJPEAVOS_SID@@PEAU_SID_IDENTIFIER_AUTHORITY@@EKKKKKKKK@Z
; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,class NLS_STR const * __ptr64,enum _SID_NAME_USE)
?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJPEAVNLS_STR@@AEBV2@1PEBV2@2W4_SID_NAME_USE@@@Z
; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,void * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,void * __ptr64,enum _SID_NAME_USE)
?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJPEAVNLS_STR@@AEBV2@PEAX1PEBV2@2W4_SID_NAME_USE@@@Z
; private: virtual long __cdecl ALIAS_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@ALIAS_ENUM@@EEAAJHPEAPEAEPEAI@Z
; private: virtual long __cdecl CHARDEVQ_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@CHARDEVQ_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl CONN_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@CONN_ENUM@@EEAAJPEAPEAEPEAI@Z
; protected: virtual long __cdecl CONTEXT_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@CONTEXT_ENUM@@MEAAJPEAPEAEPEAI@Z
; protected: virtual long __cdecl DEVICE2::CallAPI(void) __ptr64
?CallAPI@DEVICE2@@MEAAJXZ
; protected: virtual long __cdecl DEVICE::CallAPI(void) __ptr64
?CallAPI@DEVICE@@MEAAJXZ
; private: virtual long __cdecl DOMAIN_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@DOMAIN_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl FILE_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@FILE_ENUM@@EEAAJHPEAPEAEPEAI@Z
; private: virtual long __cdecl GROUP_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@GROUP_ENUM@@EEAAJPEAPEAEPEAI@Z
; protected: virtual long __cdecl GROUP_MEMB::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@GROUP_MEMB@@MEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl LSA_ACCOUNTS_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@LSA_ACCOUNTS_ENUM@@EEAAJHPEAPEAEPEAI@Z
; protected: virtual long __cdecl LSA_PRIVILEGES_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@LSA_PRIVILEGES_ENUM@@MEAAJHPEAPEAEPEAI@Z
; private: virtual long __cdecl NT_ACCOUNT_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@NT_ACCOUNT_ENUM@@EEAAJHPEAPEAEPEAI@Z
; private: virtual long __cdecl SAM_USER_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@SAM_USER_ENUM@@EEAAJHPEAPEAEPEAI@Z
; private: virtual long __cdecl SERVER_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@SERVER_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl SERVICE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@SERVICE_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl SESSION_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@SESSION_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl SHARE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@SHARE_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl TRIPLE_SERVER_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@TRIPLE_SERVER_ENUM@@EEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl TRUSTED_DOMAIN_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@TRUSTED_DOMAIN_ENUM@@EEAAJHPEAPEAEPEAI@Z
; private: virtual long __cdecl USER_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@USER_ENUM@@EEAAJHPEAPEAEPEAI@Z
; protected: virtual long __cdecl USER_MEMB::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@USER_MEMB@@MEAAJPEAPEAEPEAI@Z
; private: virtual long __cdecl USE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?CallAPI@USE_ENUM@@EEAAJPEAPEAEPEAI@Z
; public: long __cdecl SC_SERVICE::ChangeConfig(unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?ChangeConfig@SC_SERVICE@@QEAAJIIIPEBG00000@Z
; public: long __cdecl NEW_LM_OBJ::ChangeToNew(void) __ptr64
?ChangeToNew@NEW_LM_OBJ@@QEAAJXZ
; public: long __cdecl LOCATION::CheckIfNT(int * __ptr64) __ptr64
?CheckIfNT@LOCATION@@QEAAJPEAH@Z
; public: long __cdecl LOCATION::CheckIfNT(int * __ptr64,enum LOCATION_NT_TYPE * __ptr64) __ptr64
?CheckIfNT@LOCATION@@QEAAJPEAHPEAW4LOCATION_NT_TYPE@@@Z
; public: long __cdecl LSA_POLICY::CheckIfShutDownOnFull(int * __ptr64) __ptr64
?CheckIfShutDownOnFull@LSA_POLICY@@QEAAJPEAH@Z
; protected: void __cdecl LSA_POLICY::CleanupUnistrArray(struct _UNICODE_STRING * __ptr64,unsigned long) __ptr64
?CleanupUnistrArray@LSA_POLICY@@IEAAXPEAU_UNICODE_STRING@@K@Z
; public: void __cdecl OS_PRIVILEGE_SET::Clear(void) __ptr64
?Clear@OS_PRIVILEGE_SET@@QEAAXXZ
; public: void __cdecl SLIST_OF_ADMIN_AUTHORITY::Clear(void) __ptr64
?Clear@SLIST_OF_ADMIN_AUTHORITY@@QEAAXXZ
; public: void __cdecl SLIST_OF_API_SESSION::Clear(void) __ptr64
?Clear@SLIST_OF_API_SESSION@@QEAAXXZ
; public: void __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Clear(void) __ptr64
?Clear@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAXXZ
; public: void __cdecl SLIST_OF_LM_RESUME_BUFFER::Clear(void) __ptr64
?Clear@SLIST_OF_LM_RESUME_BUFFER@@QEAAXXZ
; protected: long __cdecl NEW_LM_OBJ::ClearBuffer(void) __ptr64
?ClearBuffer@NEW_LM_OBJ@@IEAAJXZ
; private: static long __cdecl DOMAIN_WITH_DC_CACHE::ClearDcCache(struct _DC_CACHE_ENTRY * __ptr64)
?ClearDcCache@DOMAIN_WITH_DC_CACHE@@CAJPEAU_DC_CACHE_ENTRY@@@Z
; public: long __cdecl NET_ACCESS_1::ClearPerms(void) __ptr64
?ClearPerms@NET_ACCESS_1@@QEAAJXZ
; public: long __cdecl GROUP_1::CloneFrom(class GROUP_1 const & __ptr64) __ptr64
?CloneFrom@GROUP_1@@QEAAJAEBV1@@Z
; public: long __cdecl GROUP_MEMB::CloneFrom(class GROUP_MEMB const & __ptr64) __ptr64
?CloneFrom@GROUP_MEMB@@QEAAJAEBV1@@Z
; public: long __cdecl SHARE_1::CloneFrom(class SHARE_1 const & __ptr64) __ptr64
?CloneFrom@SHARE_1@@QEAAJAEBV1@@Z
; public: long __cdecl SHARE_2::CloneFrom(class SHARE_2 const & __ptr64) __ptr64
?CloneFrom@SHARE_2@@QEAAJAEBV1@@Z
; public: long __cdecl USER_2::CloneFrom(class USER_2 const & __ptr64) __ptr64
?CloneFrom@USER_2@@QEAAJAEBV1@@Z
; public: long __cdecl USER_3::CloneFrom(class USER_3 const & __ptr64) __ptr64
?CloneFrom@USER_3@@QEAAJAEBV1@@Z
; public: long __cdecl USER_MEMB::CloneFrom(class USER_MEMB const & __ptr64) __ptr64
?CloneFrom@USER_MEMB@@QEAAJAEBV1@@Z
; public: long __cdecl SERVICE_CONTROL::Close(void) __ptr64
?Close@SERVICE_CONTROL@@QEAAJXZ
; public: long __cdecl LM_FILE::CloseFile(void) __ptr64
?CloseFile@LM_FILE@@QEAAJXZ
; public: long __cdecl LSA_OBJECT::CloseHandle(int) __ptr64
?CloseHandle@LSA_OBJECT@@QEAAJH@Z
; public: long __cdecl SAM_OBJECT::CloseHandle(void) __ptr64
?CloseHandle@SAM_OBJECT@@QEAAJXZ
; private: void __cdecl TRIPLE_SERVER_ENUM::CombineIntoTriple(struct _SERVER_INFO_101 const * __ptr64,struct _KNOWN_SERVER_INFO const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
?CombineIntoTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_SERVER_INFO_101@@PEBU_KNOWN_SERVER_INFO@@PEAU_TRIPLE_SERVER_INFO@@@Z
; public: long __cdecl OS_ACL_SUBJECT_ITER::Compare(int * __ptr64,class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
?Compare@OS_ACL_SUBJECT_ITER@@QEAAJPEAHPEAV1@@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::Compare(class OS_SECURITY_DESCRIPTOR * __ptr64,int * __ptr64,int * __ptr64,int * __ptr64,int * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
?Compare@OS_SECURITY_DESCRIPTOR@@QEAAJPEAV1@PEAH111PEAU_GENERIC_MAPPING@@2HH@Z
; public: int __cdecl NET_ACCESS_1::CompareACL(class NET_ACCESS_1 * __ptr64) __ptr64
?CompareACL@NET_ACCESS_1@@QEAAHPEAV1@@Z
; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareBrowserServers(void const * __ptr64,void const * __ptr64)
?CompareBrowserServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
; public: virtual int __cdecl OS_DACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
?CompareCurrentSubject@OS_DACL_SUBJECT_ITER@@UEAAHPEAVOS_ACL_SUBJECT_ITER@@@Z
; public: virtual int __cdecl OS_SACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
?CompareCurrentSubject@OS_SACL_SUBJECT_ITER@@UEAAHPEAVOS_ACL_SUBJECT_ITER@@@Z
; private: static int __cdecl DOMAIN0_ENUM::CompareDomains0(void const * __ptr64,void const * __ptr64)
?CompareDomains0@DOMAIN0_ENUM@@CAHPEBX0@Z
; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareLmServers(void const * __ptr64,void const * __ptr64)
?CompareLmServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareNtServers(void const * __ptr64,void const * __ptr64)
?CompareNtServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
; public: long __cdecl DEVICE2::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
?Connect@DEVICE2@@QEAAJPEBG000K@Z
; public: long __cdecl DEVICE::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?Connect@DEVICE@@QEAAJPEBG0@Z
; long __cdecl ConnectToNullSession(class NLS_STR const & __ptr64)
?ConnectToNullSession@@YAJAEBVNLS_STR@@@Z
; public: long __cdecl LM_SERVICE::Continue(unsigned int,unsigned int) __ptr64
?Continue@LM_SERVICE@@QEAAJII@Z
; public: long __cdecl SC_SERVICE::Control(unsigned int,struct _SERVICE_STATUS * __ptr64) __ptr64
?Control@SC_SERVICE@@QEAAJIPEAU_SERVICE_STATUS@@@Z
; public: long __cdecl OS_ACL::Copy(class OS_ACL const & __ptr64,int) __ptr64
?Copy@OS_ACL@@QEAAJAEBV1@H@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::Copy(class OS_SECURITY_DESCRIPTOR const & __ptr64) __ptr64
?Copy@OS_SECURITY_DESCRIPTOR@@QEAAJAEBV1@@Z
; public: long __cdecl OS_SID::Copy(class OS_SID const & __ptr64) __ptr64
?Copy@OS_SID@@QEAAJAEBV1@@Z
; public: long __cdecl NET_ACCESS_1::CopyAccessPerms(class NET_ACCESS_1 const & __ptr64) __ptr64
?CopyAccessPerms@NET_ACCESS_1@@QEAAJAEBV1@@Z
; private: void __cdecl SERVICE_ENUM::CountServices(unsigned char * __ptr64,unsigned int * __ptr64,unsigned int * __ptr64) __ptr64
?CountServices@SERVICE_ENUM@@AEAAXPEAEPEAI1@Z
; public: static long __cdecl NT_ACCOUNTS_UTILITY::CrackQualifiedAccountName(class NLS_STR const & __ptr64,class NLS_STR * __ptr64,class NLS_STR * __ptr64)
?CrackQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJAEBVNLS_STR@@PEAV2@1@Z
; public: long __cdecl LSA_SECRET::Create(class LSA_POLICY const & __ptr64,unsigned long) __ptr64
?Create@LSA_SECRET@@QEAAJAEBVLSA_POLICY@@K@Z
; public: long __cdecl NEW_LM_OBJ::CreateNew(void) __ptr64
?CreateNew@NEW_LM_OBJ@@QEAAJXZ
; private: void __cdecl DOMAIN::CtAux(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?CtAux@DOMAIN@@AEAAXPEBG0@Z
; private: void __cdecl GROUP::CtAux(unsigned short const * __ptr64) __ptr64
?CtAux@GROUP@@AEAAXPEBG@Z
; private: void __cdecl GROUP_1::CtAux(void) __ptr64
?CtAux@GROUP_1@@AEAAXXZ
; private: void __cdecl LOC_LM_OBJ::CtAux(void) __ptr64
?CtAux@LOC_LM_OBJ@@AEAAXXZ
; private: void __cdecl USER::CtAux(unsigned short const * __ptr64) __ptr64
?CtAux@USER@@AEAAXPEBG@Z
; private: void __cdecl USER_11::CtAux(void) __ptr64
?CtAux@USER_11@@AEAAXXZ
; private: void __cdecl USER_2::CtAux(void) __ptr64
?CtAux@USER_2@@AEAAXXZ
; private: void __cdecl USER_3::CtAux(void) __ptr64
?CtAux@USER_3@@AEAAXXZ
; public: long __cdecl LSA_TRUSTED_DOMAIN::Delete(void) __ptr64
?Delete@LSA_TRUSTED_DOMAIN@@QEAAJXZ
; public: long __cdecl NET_ACCESS::Delete(void) __ptr64
?Delete@NET_ACCESS@@QEAAJXZ
; public: long __cdecl NEW_LM_OBJ::Delete(unsigned int) __ptr64
?Delete@NEW_LM_OBJ@@QEAAJI@Z
; public: long __cdecl SAM_ALIAS::Delete(void) __ptr64
?Delete@SAM_ALIAS@@QEAAJXZ
; public: long __cdecl SC_SERVICE::Delete(void) __ptr64
?Delete@SC_SERVICE@@QEAAJXZ
; public: long __cdecl OS_ACL::DeleteACE(unsigned long) __ptr64
?DeleteACE@OS_ACL@@QEAAJK@Z
; protected: long __cdecl LSA_POLICY::DeleteAllTrustedDomains(void) __ptr64
?DeleteAllTrustedDomains@LSA_POLICY@@IEAAJXZ
; public: long __cdecl MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned int) __ptr64
?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QEAAJI@Z
; public: long __cdecl MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned short const * __ptr64) __ptr64
?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QEAAJPEBG@Z
; public: long __cdecl LSA_ACCOUNT::DeletePrivilege(struct _LUID) __ptr64
?DeletePrivilege@LSA_ACCOUNT@@QEAAJU_LUID@@@Z
; private: void __cdecl LM_ENUM::DeregisterIter(void) __ptr64
?DeregisterIter@LM_ENUM@@AEAAXXZ
; private: void __cdecl LM_RESUME_ENUM::DeregisterIter(void) __ptr64
?DeregisterIter@LM_RESUME_ENUM@@AEAAXXZ
; private: long __cdecl BROWSE_DOMAIN_ENUM::DetermineIfDomainMember(int * __ptr64) __ptr64
?DetermineIfDomainMember@BROWSE_DOMAIN_ENUM@@AEAAJPEAH@Z
; public: long __cdecl DEVICE::Disconnect(unsigned int) __ptr64
?Disconnect@DEVICE@@QEAAJI@Z
; public: long __cdecl DEVICE::Disconnect(unsigned short const * __ptr64,unsigned int) __ptr64
?Disconnect@DEVICE@@QEAAJPEBGI@Z
; public: long __cdecl LSA_POLICY::DistrustDomain(void * __ptr64 const,class NLS_STR const & __ptr64,int) __ptr64
?DistrustDomain@LSA_POLICY@@QEAAJQEAXAEBVNLS_STR@@H@Z
; public: int __cdecl LM_RESUME_ENUM::DoesKeepBuffers(void)const  __ptr64
?DoesKeepBuffers@LM_RESUME_ENUM@@QEBAHXZ
; private: virtual unsigned char * __ptr64 __cdecl ENUM_CALLER_LM_OBJ::EC_QueryBufferPtr(void)const  __ptr64
?EC_QueryBufferPtr@ENUM_CALLER_LM_OBJ@@EEBAPEAEXZ
; private: virtual unsigned char * __ptr64 __cdecl LM_ENUM::EC_QueryBufferPtr(void)const  __ptr64
?EC_QueryBufferPtr@LM_ENUM@@EEBAPEAEXZ
; private: virtual unsigned int __cdecl ENUM_CALLER_LM_OBJ::EC_QueryBufferSize(void)const  __ptr64
?EC_QueryBufferSize@ENUM_CALLER_LM_OBJ@@EEBAIXZ
; private: virtual long __cdecl ENUM_CALLER_LM_OBJ::EC_ResizeBuffer(unsigned int) __ptr64
?EC_ResizeBuffer@ENUM_CALLER_LM_OBJ@@EEAAJI@Z
; private: virtual long __cdecl ENUM_CALLER_LM_OBJ::EC_SetBufferPtr(unsigned char * __ptr64) __ptr64
?EC_SetBufferPtr@ENUM_CALLER_LM_OBJ@@EEAAJPEAE@Z
; private: virtual long __cdecl LM_ENUM::EC_SetBufferPtr(unsigned char * __ptr64) __ptr64
?EC_SetBufferPtr@LM_ENUM@@EEAAJPEAE@Z
; private: static long __cdecl DOMAIN_WITH_DC_CACHE::EnterCriticalSection(void)
?EnterCriticalSection@DOMAIN_WITH_DC_CACHE@@CAJXZ
; unsigned long __cdecl EnumAllComms(void)
?EnumAllComms@@YAKXZ
; unsigned long __cdecl EnumAllDrives(void)
?EnumAllDrives@@YAKXZ
; unsigned long __cdecl EnumAllLPTs(void)
?EnumAllLPTs@@YAKXZ
; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumComms(void) __ptr64
?EnumComms@ITER_DEVICE@@AEAAPEBGXZ
; public: long __cdecl SC_SERVICE::EnumDependent(unsigned int,struct _ENUM_SERVICE_STATUSW * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
?EnumDependent@SC_SERVICE@@QEAAJIPEAPEAU_ENUM_SERVICE_STATUSW@@PEAK@Z
; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumDrives(void) __ptr64
?EnumDrives@ITER_DEVICE@@AEAAPEBGXZ
; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumLPTs(void) __ptr64
?EnumLPTs@ITER_DEVICE@@AEAAPEBGXZ
; private: long __cdecl SERVICE_ENUM::EnumLmServices(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?EnumLmServices@SERVICE_ENUM@@AEAAJPEAPEAEPEAI@Z
; unsigned long __cdecl EnumLocalComms(void)
?EnumLocalComms@@YAKXZ
; unsigned long __cdecl EnumLocalDrives(void)
?EnumLocalDrives@@YAKXZ
; unsigned long __cdecl EnumLocalLPTs(void)
?EnumLocalLPTs@@YAKXZ
; unsigned long __cdecl EnumNetComms(void)
?EnumNetComms@@YAKXZ
; unsigned long __cdecl EnumNetDevices(int)
?EnumNetDevices@@YAKH@Z
; unsigned long __cdecl EnumNetDrives(void)
?EnumNetDrives@@YAKXZ
; unsigned long __cdecl EnumNetLPTs(void)
?EnumNetLPTs@@YAKXZ
; private: long __cdecl SERVICE_ENUM::EnumNtServices(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
?EnumNtServices@SERVICE_ENUM@@AEAAJPEAPEAEPEAI@Z
; public: long __cdecl SC_MANAGER::EnumServiceStatus(unsigned int,unsigned int,struct _ENUM_SERVICE_STATUSW * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned short const * __ptr64) __ptr64
?EnumServiceStatus@SC_MANAGER@@QEAAJIIPEAPEAU_ENUM_SERVICE_STATUSW@@PEAKPEBG@Z
; unsigned long __cdecl EnumUnavailComms(void)
?EnumUnavailComms@@YAKXZ
; unsigned long __cdecl EnumUnavailDevices(int)
?EnumUnavailDevices@@YAKH@Z
; unsigned long __cdecl EnumUnavailDrives(void)
?EnumUnavailDrives@@YAKXZ
; unsigned long __cdecl EnumUnavailLPTs(void)
?EnumUnavailLPTs@@YAKXZ
; public: long __cdecl SAM_DOMAIN::EnumerateAliases(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
?EnumerateAliases@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKK@Z
; public: long __cdecl SAM_DOMAIN::EnumerateAliasesForUser(void * __ptr64,class SAM_RID_MEM * __ptr64)const  __ptr64
?EnumerateAliasesForUser@SAM_DOMAIN@@QEBAJPEAXPEAVSAM_RID_MEM@@@Z
; public: long __cdecl SAM_DOMAIN::EnumerateGroups(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
?EnumerateGroups@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKK@Z
; public: long __cdecl LSA_POLICY::EnumerateTrustedDomains(class LSA_TRUST_INFO_MEM * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
?EnumerateTrustedDomains@LSA_POLICY@@QEAAJPEAVLSA_TRUST_INFO_MEM@@PEAKK@Z
; public: long __cdecl SAM_DOMAIN::EnumerateUsers(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long,unsigned long)const  __ptr64
?EnumerateUsers@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKKK@Z
; long __cdecl FillUnicodeString(struct _UNICODE_STRING * __ptr64,class NLS_STR const & __ptr64)
?FillUnicodeString@@YAJPEAU_UNICODE_STRING@@AEBVNLS_STR@@@Z
; private: struct _ACCESS_LIST * __ptr64 __cdecl NET_ACCESS_1::FindACE(unsigned short const * __ptr64,enum PERMNAME_TYPE)const  __ptr64
?FindACE@NET_ACCESS_1@@AEBAPEAU_ACCESS_LIST@@PEBGW4PERMNAME_TYPE@@@Z
; public: long __cdecl OS_ACL::FindACE(class OS_SID const & __ptr64,int * __ptr64,class OS_ACE * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
?FindACE@OS_ACL@@QEBAJAEBVOS_SID@@PEAHPEAVOS_ACE@@PEAKK@Z
; public: int __cdecl MEMBERSHIP_LM_OBJ::FindAssocName(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
?FindAssocName@MEMBERSHIP_LM_OBJ@@QEAAHPEBGPEAI@Z
; private: static unsigned short const * __ptr64 __cdecl DOMAIN_WITH_DC_CACHE::FindDcCache(struct _DC_CACHE_ENTRY const * __ptr64,unsigned short const * __ptr64)
?FindDcCache@DOMAIN_WITH_DC_CACHE@@CAPEBGPEBU_DC_CACHE_ENTRY@@PEBG@Z
; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::FindFirst(unsigned long) __ptr64
?FindFirst@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@K@Z
; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::FindNext(unsigned long) __ptr64
?FindNext@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@K@Z
; public: long __cdecl OS_ACL_SUBJECT_ITER::FindNextSubject(int * __ptr64,class OS_SID * __ptr64,class OS_ACE * __ptr64) __ptr64
?FindNextSubject@OS_ACL_SUBJECT_ITER@@QEAAJPEAHPEAVOS_SID@@PEAVOS_ACE@@@Z
; public: long __cdecl OS_PRIVILEGE_SET::FindPrivilege(struct _LUID)const  __ptr64
?FindPrivilege@OS_PRIVILEGE_SET@@QEBAJU_LUID@@@Z
; protected: void __cdecl NEW_LM_OBJ::FixupPointer(unsigned short * __ptr64 * __ptr64,class NEW_LM_OBJ const * __ptr64) __ptr64
?FixupPointer@NEW_LM_OBJ@@IEAAXPEAPEAGPEBV1@@Z
; protected: virtual void __cdecl ALIAS_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@ALIAS_ENUM@@MEAAXPEAPEAE@Z
; protected: virtual void __cdecl FILE_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@FILE_ENUM@@MEAAXPEAPEAE@Z
; protected: virtual void __cdecl LOC_LM_RESUME_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@LOC_LM_RESUME_ENUM@@MEAAXPEAPEAE@Z
; protected: virtual void __cdecl LSA_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@LSA_ENUM@@MEAAXPEAPEAE@Z
; protected: virtual void __cdecl LSA_MEMORY::FreeBuffer(void) __ptr64
?FreeBuffer@LSA_MEMORY@@MEAAXXZ
; private: void __cdecl LSA_TRUSTED_DC_LIST::FreeBuffer(void) __ptr64
?FreeBuffer@LSA_TRUSTED_DC_LIST@@AEAAXXZ
; protected: virtual void __cdecl NT_ACCOUNT_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@NT_ACCOUNT_ENUM@@MEAAXPEAPEAE@Z
; protected: virtual void __cdecl SAM_MEMORY::FreeBuffer(void) __ptr64
?FreeBuffer@SAM_MEMORY@@MEAAXXZ
; protected: virtual void __cdecl SAM_USER_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@SAM_USER_ENUM@@MEAAXPEAPEAE@Z
; protected: virtual void __cdecl TRUSTED_DOMAIN_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
?FreeBuffer@TRUSTED_DOMAIN_ENUM@@MEAAXPEAPEAE@Z
; void __cdecl FreeUnicodeString(struct _UNICODE_STRING * __ptr64)
?FreeUnicodeString@@YAXPEAU_UNICODE_STRING@@@Z
; public: long __cdecl LSA_POLICY::GetAccountDomain(class LSA_ACCT_DOM_INFO_MEM * __ptr64)const  __ptr64
?GetAccountDomain@LSA_POLICY@@QEBAJPEAVLSA_ACCT_DOM_INFO_MEM@@@Z
; public: static long __cdecl DOMAIN::GetAnyDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
?GetAnyDC@DOMAIN@@SAJPEBG0PEAVNLS_STR@@@Z
; public: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
?GetAnyDC@DOMAIN_WITH_DC_CACHE@@SAJPEBG0PEAVNLS_STR@@@Z
; protected: static long __cdecl DOMAIN::GetAnyDCWorker(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64,int)
?GetAnyDCWorker@DOMAIN@@KAJPEBG0PEAVNLS_STR@@H@Z
; protected: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyDCWorker(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64,int)
?GetAnyDCWorker@DOMAIN_WITH_DC_CACHE@@KAJPEBG0PEAVNLS_STR@@H@Z
; public: static long __cdecl DOMAIN::GetAnyValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
?GetAnyValidDC@DOMAIN@@SAJPEBG0PEAVNLS_STR@@@Z
; public: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
?GetAnyValidDC@DOMAIN_WITH_DC_CACHE@@SAJPEBG0PEAVNLS_STR@@@Z
; public: long __cdecl LSA_POLICY::GetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM * __ptr64) __ptr64
?GetAuditEventInfo@LSA_POLICY@@QEAAJPEAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
; public: long __cdecl ALIAS_ENUM_OBJ::GetComment(class SAM_DOMAIN const & __ptr64,class NLS_STR * __ptr64) __ptr64
?GetComment@ALIAS_ENUM_OBJ@@QEAAJAEBVSAM_DOMAIN@@PEAVNLS_STR@@@Z
; public: long __cdecl SAM_ALIAS::GetComment(class NLS_STR * __ptr64) __ptr64
?GetComment@SAM_ALIAS@@QEAAJPEAVNLS_STR@@@Z
; public: long __cdecl SAM_GROUP::GetComment(class NLS_STR * __ptr64) __ptr64
?GetComment@SAM_GROUP@@QEAAJPEAVNLS_STR@@@Z
; private: long __cdecl NET_NAME::GetDeviceInfo(void) __ptr64
?GetDeviceInfo@NET_NAME@@AEAAJXZ
; public: virtual long __cdecl DEVICE::GetInfo(void) __ptr64
?GetInfo@DEVICE@@UEAAJXZ
; public: virtual long __cdecl DOMAIN::GetInfo(void) __ptr64
?GetInfo@DOMAIN@@UEAAJXZ
; public: virtual long __cdecl DOMAIN_WITH_DC_CACHE::GetInfo(void) __ptr64
?GetInfo@DOMAIN_WITH_DC_CACHE@@UEAAJXZ
; public: long __cdecl LM_ENUM::GetInfo(void) __ptr64
?GetInfo@LM_ENUM@@QEAAJXZ
; public: long __cdecl LM_RESUME_ENUM::GetInfo(int) __ptr64
?GetInfo@LM_RESUME_ENUM@@QEAAJH@Z
; public: long __cdecl NEW_LM_OBJ::GetInfo(void) __ptr64
?GetInfo@NEW_LM_OBJ@@QEAAJXZ
; public: virtual long __cdecl USER_MODALS::GetInfo(void) __ptr64
?GetInfo@USER_MODALS@@UEAAJXZ
; public: virtual long __cdecl USER_MODALS_3::GetInfo(void) __ptr64
?GetInfo@USER_MODALS_3@@UEAAJXZ
; private: long __cdecl LM_RESUME_ENUM::GetInfoMulti(void) __ptr64
?GetInfoMulti@LM_RESUME_ENUM@@AEAAJXZ
; private: long __cdecl LM_RESUME_ENUM::GetInfoSingle(int) __ptr64
?GetInfoSingle@LM_RESUME_ENUM@@AEAAJH@Z
; private: long __cdecl BROWSE_DOMAIN_ENUM::GetLanmanDomains(unsigned long) __ptr64
?GetLanmanDomains@BROWSE_DOMAIN_ENUM@@AEAAJK@Z
; private: long __cdecl BROWSE_DOMAIN_ENUM::GetLogonDomainDC(class NLS_STR * __ptr64) __ptr64
?GetLogonDomainDC@BROWSE_DOMAIN_ENUM@@AEAAJPEAVNLS_STR@@@Z
; public: long __cdecl SAM_ALIAS::GetMembers(class SAM_SID_MEM * __ptr64) __ptr64
?GetMembers@SAM_ALIAS@@QEAAJPEAVSAM_SID_MEM@@@Z
; public: long __cdecl SAM_GROUP::GetMembers(class SAM_RID_MEM * __ptr64) __ptr64
?GetMembers@SAM_GROUP@@QEAAJPEAVSAM_RID_MEM@@@Z
; public: long __cdecl SAM_DOMAIN::GetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM * __ptr64)const  __ptr64
?GetPasswordInfo@SAM_DOMAIN@@QEBAJPEAVSAM_PSWD_DOM_INFO_MEM@@@Z
; public: long __cdecl LSA_POLICY::GetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM * __ptr64)const  __ptr64
?GetPrimaryDomain@LSA_POLICY@@QEBAJPEAVLSA_PRIMARY_DOM_INFO_MEM@@@Z
; public: static long __cdecl NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY & __ptr64,class SAM_DOMAIN const & __ptr64,void * __ptr64 const * __ptr64,unsigned long,int,class STRLIST * __ptr64,unsigned long * __ptr64,enum _SID_NAME_USE * __ptr64,long * __ptr64,unsigned short const * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64)
?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SAJAEAVLSA_POLICY@@AEBVSAM_DOMAIN@@PEBQEAXKHPEAVSTRLIST@@PEAKPEAW4_SID_NAME_USE@@PEAJPEBG3333@Z
; public: static long __cdecl NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY & __ptr64,void * __ptr64 const,void * __ptr64 const * __ptr64,unsigned long,int,class STRLIST * __ptr64,unsigned long * __ptr64,enum _SID_NAME_USE * __ptr64,long * __ptr64,unsigned short const * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64)
?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SAJAEAVLSA_POLICY@@QEAXPEBQEAXKHPEAVSTRLIST@@PEAKPEAW4_SID_NAME_USE@@PEAJPEBG3333@Z
; public: static long __cdecl LM_SRVRES::GetResourceCount(unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
?GetResourceCount@LM_SRVRES@@SAJPEBGPEAK11111@Z
; public: long __cdecl LSA_POLICY::GetServerRole(class LSA_SERVER_ROLE_INFO_MEM * __ptr64)const  __ptr64
?GetServerRole@LSA_POLICY@@QEBAJPEAVLSA_SERVER_ROLE_INFO_MEM@@@Z
; public: static long __cdecl LM_SRVRES::GetSessionsCount(unsigned short const * __ptr64,unsigned long * __ptr64)
?GetSessionsCount@LM_SRVRES@@SAJPEBGPEAK@Z
; private: long __cdecl BROWSE_DOMAIN_ENUM::GetTrustingDomains(void) __ptr64
?GetTrustingDomains@BROWSE_DOMAIN_ENUM@@AEAAJXZ
; long __cdecl GetW32ComputerName(class NLS_STR & __ptr64)
?GetW32ComputerName@@YAJAEAVNLS_STR@@@Z
; long __cdecl GetW32UserAndDomainName(class NLS_STR & __ptr64,class NLS_STR & __ptr64)
?GetW32UserAndDomainName@@YAJAEAVNLS_STR@@0@Z
; long __cdecl GetW32UserName(class NLS_STR & __ptr64)
?GetW32UserName@@YAJAEAVNLS_STR@@@Z
; private: long __cdecl BROWSE_DOMAIN_ENUM::GetWorkgroupDomains(void) __ptr64
?GetWorkgroupDomains@BROWSE_DOMAIN_ENUM@@AEAAJXZ
; protected: long __cdecl USER::HandleNullAccount(void) __ptr64
?HandleNullAccount@USER@@IEAAJXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::HasInheritOnlyAce(void)const  __ptr64
?HasInheritOnlyAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_F(void)const  __ptr64
?HasInheritOnlyAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_S(void)const  __ptr64
?HasInheritOnlyAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; protected: int __cdecl LM_RESUME_ENUM_ITER::HasMoreData(void)const  __ptr64
?HasMoreData@LM_RESUME_ENUM_ITER@@IEBAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::HasNewContainerAce(void)const  __ptr64
?HasNewContainerAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_F(void)const  __ptr64
?HasNewContainerAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_S(void)const  __ptr64
?HasNewContainerAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::HasNewObjectAce(void)const  __ptr64
?HasNewObjectAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_F(void)const  __ptr64
?HasNewObjectAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_S(void)const  __ptr64
?HasNewObjectAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::HasThisAce(void)const  __ptr64
?HasThisAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasThisAuditAce_F(void)const  __ptr64
?HasThisAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_SACL_SUBJECT_ITER::HasThisAuditAce_S(void)const  __ptr64
?HasThisAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
; long __cdecl I_AppendToSTRLIST(class STRLIST * __ptr64,class NLS_STR & __ptr64)
?I_AppendToSTRLIST@@YAJPEAVSTRLIST@@AEAVNLS_STR@@@Z
; protected: virtual long __cdecl GROUP_1::I_ChangeToNew(void) __ptr64
?I_ChangeToNew@GROUP_1@@MEAAJXZ
; protected: virtual long __cdecl GROUP_MEMB::I_ChangeToNew(void) __ptr64
?I_ChangeToNew@GROUP_MEMB@@MEAAJXZ
; protected: virtual long __cdecl NEW_LM_OBJ::I_ChangeToNew(void) __ptr64
?I_ChangeToNew@NEW_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl USER_2::I_ChangeToNew(void) __ptr64
?I_ChangeToNew@USER_2@@MEAAJXZ
; protected: virtual long __cdecl USER_3::I_ChangeToNew(void) __ptr64
?I_ChangeToNew@USER_3@@MEAAJXZ
; protected: virtual long __cdecl USER_MEMB::I_ChangeToNew(void) __ptr64
?I_ChangeToNew@USER_MEMB@@MEAAJXZ
; protected: virtual long __cdecl GROUP_1::I_CreateNew(void) __ptr64
?I_CreateNew@GROUP_1@@MEAAJXZ
; protected: virtual long __cdecl GROUP_MEMB::I_CreateNew(void) __ptr64
?I_CreateNew@GROUP_MEMB@@MEAAJXZ
; protected: virtual long __cdecl LSA_ACCOUNT::I_CreateNew(void) __ptr64
?I_CreateNew@LSA_ACCOUNT@@MEAAJXZ
; protected: virtual long __cdecl NET_ACCESS_1::I_CreateNew(void) __ptr64
?I_CreateNew@NET_ACCESS_1@@MEAAJXZ
; protected: virtual long __cdecl NEW_LM_OBJ::I_CreateNew(void) __ptr64
?I_CreateNew@NEW_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl SHARE_2::I_CreateNew(void) __ptr64
?I_CreateNew@SHARE_2@@MEAAJXZ
; protected: virtual long __cdecl USER_2::I_CreateNew(void) __ptr64
?I_CreateNew@USER_2@@MEAAJXZ
; protected: virtual long __cdecl USER_3::I_CreateNew(void) __ptr64
?I_CreateNew@USER_3@@MEAAJXZ
; protected: virtual long __cdecl USER_MEMB::I_CreateNew(void) __ptr64
?I_CreateNew@USER_MEMB@@MEAAJXZ
; protected: virtual long __cdecl GROUP::I_Delete(unsigned int) __ptr64
?I_Delete@GROUP@@MEAAJI@Z
; protected: virtual long __cdecl LM_SESSION::I_Delete(unsigned int) __ptr64
?I_Delete@LM_SESSION@@MEAAJI@Z
; protected: virtual long __cdecl LSA_ACCOUNT::I_Delete(unsigned int) __ptr64
?I_Delete@LSA_ACCOUNT@@MEAAJI@Z
; protected: virtual long __cdecl NEW_LM_OBJ::I_Delete(unsigned int) __ptr64
?I_Delete@NEW_LM_OBJ@@MEAAJI@Z
; protected: virtual long __cdecl SHARE::I_Delete(unsigned int) __ptr64
?I_Delete@SHARE@@MEAAJI@Z
; protected: virtual long __cdecl USER::I_Delete(unsigned int) __ptr64
?I_Delete@USER@@MEAAJI@Z
; long __cdecl I_FetchAliasFields(class NLS_STR * __ptr64,class ADMIN_AUTHORITY * __ptr64 * __ptr64,class SLIST_OF_ADMIN_AUTHORITY * __ptr64,unsigned long,int,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
?I_FetchAliasFields@@YAJPEAVNLS_STR@@PEAPEAVADMIN_AUTHORITY@@PEAVSLIST_OF_ADMIN_AUTHORITY@@KHAEBV1@PEBV1@PEAJ@Z
; long __cdecl I_FetchDCList(class LSA_TRANSLATED_NAME_MEM const & __ptr64,class LSA_REF_DOMAIN_MEM const & __ptr64,void * __ptr64,void * __ptr64,class NLS_STR * __ptr64 * __ptr64,class STRLIST * __ptr64,int * __ptr64,long * __ptr64,unsigned short const * __ptr64,int,int,int)
?I_FetchDCList@@YAJAEBVLSA_TRANSLATED_NAME_MEM@@AEBVLSA_REF_DOMAIN_MEM@@PEAX2PEAPEAVNLS_STR@@PEAVSTRLIST@@PEAHPEAJPEBGHHH@Z
; long __cdecl I_FetchGroupFields(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
?I_FetchGroupFields@@YAJPEAVNLS_STR@@AEBV1@PEBV1@PEAJ@Z
; long __cdecl I_FetchUserFields(class NLS_STR * __ptr64,class NLS_STR * __ptr64,unsigned long * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
?I_FetchUserFields@@YAJPEAVNLS_STR@@0PEAKAEBV1@PEBV1@PEAJ@Z
; protected: virtual long __cdecl GROUP_1::I_GetInfo(void) __ptr64
?I_GetInfo@GROUP_1@@MEAAJXZ
; protected: virtual long __cdecl LM_FILE_2::I_GetInfo(void) __ptr64
?I_GetInfo@LM_FILE_2@@MEAAJXZ
; protected: virtual long __cdecl LM_FILE_3::I_GetInfo(void) __ptr64
?I_GetInfo@LM_FILE_3@@MEAAJXZ
; protected: virtual long __cdecl LM_SESSION_0::I_GetInfo(void) __ptr64
?I_GetInfo@LM_SESSION_0@@MEAAJXZ
; protected: virtual long __cdecl LM_SESSION_10::I_GetInfo(void) __ptr64
?I_GetInfo@LM_SESSION_10@@MEAAJXZ
; protected: virtual long __cdecl LM_SESSION_1::I_GetInfo(void) __ptr64
?I_GetInfo@LM_SESSION_1@@MEAAJXZ
; protected: virtual long __cdecl LM_SESSION_2::I_GetInfo(void) __ptr64
?I_GetInfo@LM_SESSION_2@@MEAAJXZ
; protected: virtual long __cdecl LOCAL_USER::I_GetInfo(void) __ptr64
?I_GetInfo@LOCAL_USER@@MEAAJXZ
; protected: virtual long __cdecl LSA_ACCOUNT::I_GetInfo(void) __ptr64
?I_GetInfo@LSA_ACCOUNT@@MEAAJXZ
; protected: virtual long __cdecl MEMBERSHIP_LM_OBJ::I_GetInfo(void) __ptr64
?I_GetInfo@MEMBERSHIP_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl NET_ACCESS_1::I_GetInfo(void) __ptr64
?I_GetInfo@NET_ACCESS_1@@MEAAJXZ
; protected: virtual long __cdecl NEW_LM_OBJ::I_GetInfo(void) __ptr64
?I_GetInfo@NEW_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl SERVER_0::I_GetInfo(void) __ptr64
?I_GetInfo@SERVER_0@@MEAAJXZ
; protected: virtual long __cdecl SERVER_1::I_GetInfo(void) __ptr64
?I_GetInfo@SERVER_1@@MEAAJXZ
; protected: virtual long __cdecl SERVER_2::I_GetInfo(void) __ptr64
?I_GetInfo@SERVER_2@@MEAAJXZ
; protected: virtual long __cdecl SHARE_1::I_GetInfo(void) __ptr64
?I_GetInfo@SHARE_1@@MEAAJXZ
; protected: virtual long __cdecl SHARE_2::I_GetInfo(void) __ptr64
?I_GetInfo@SHARE_2@@MEAAJXZ
; protected: virtual long __cdecl TIME_OF_DAY::I_GetInfo(void) __ptr64
?I_GetInfo@TIME_OF_DAY@@MEAAJXZ
; protected: virtual long __cdecl USER_11::I_GetInfo(void) __ptr64
?I_GetInfo@USER_11@@MEAAJXZ
; protected: virtual long __cdecl USER_2::I_GetInfo(void) __ptr64
?I_GetInfo@USER_2@@MEAAJXZ
; protected: virtual long __cdecl USER_3::I_GetInfo(void) __ptr64
?I_GetInfo@USER_3@@MEAAJXZ
; public: virtual long __cdecl WKSTA_10::I_GetInfo(void) __ptr64
?I_GetInfo@WKSTA_10@@UEAAJXZ
; public: virtual long __cdecl WKSTA_1::I_GetInfo(void) __ptr64
?I_GetInfo@WKSTA_1@@UEAAJXZ
; protected: virtual long __cdecl WKSTA_USER_1::I_GetInfo(void) __ptr64
?I_GetInfo@WKSTA_USER_1@@MEAAJXZ
; protected: virtual long __cdecl GROUP_1::I_WriteInfo(void) __ptr64
?I_WriteInfo@GROUP_1@@MEAAJXZ
; protected: virtual long __cdecl GROUP_MEMB::I_WriteInfo(void) __ptr64
?I_WriteInfo@GROUP_MEMB@@MEAAJXZ
; protected: virtual long __cdecl LSA_ACCOUNT::I_WriteInfo(void) __ptr64
?I_WriteInfo@LSA_ACCOUNT@@MEAAJXZ
; protected: virtual long __cdecl NET_ACCESS_1::I_WriteInfo(void) __ptr64
?I_WriteInfo@NET_ACCESS_1@@MEAAJXZ
; protected: virtual long __cdecl NEW_LM_OBJ::I_WriteInfo(void) __ptr64
?I_WriteInfo@NEW_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl SERVER_1::I_WriteInfo(void) __ptr64
?I_WriteInfo@SERVER_1@@MEAAJXZ
; protected: virtual long __cdecl SERVER_2::I_WriteInfo(void) __ptr64
?I_WriteInfo@SERVER_2@@MEAAJXZ
; protected: virtual long __cdecl SHARE_1::I_WriteInfo(void) __ptr64
?I_WriteInfo@SHARE_1@@MEAAJXZ
; protected: virtual long __cdecl SHARE_2::I_WriteInfo(void) __ptr64
?I_WriteInfo@SHARE_2@@MEAAJXZ
; protected: virtual long __cdecl USER_2::I_WriteInfo(void) __ptr64
?I_WriteInfo@USER_2@@MEAAJXZ
; protected: virtual long __cdecl USER_3::I_WriteInfo(void) __ptr64
?I_WriteInfo@USER_3@@MEAAJXZ
; protected: virtual long __cdecl USER_MEMB::I_WriteInfo(void) __ptr64
?I_WriteInfo@USER_MEMB@@MEAAJXZ
; protected: virtual long __cdecl WKSTA_USER_1::I_WriteInfo(void) __ptr64
?I_WriteInfo@WKSTA_USER_1@@MEAAJXZ
; private: long __cdecl NET_ACCESS_1::I_WriteInfoAux(void) __ptr64
?I_WriteInfoAux@NET_ACCESS_1@@AEAAJXZ
; protected: virtual long __cdecl GROUP_1::I_WriteNew(void) __ptr64
?I_WriteNew@GROUP_1@@MEAAJXZ
; protected: virtual long __cdecl LSA_ACCOUNT::I_WriteNew(void) __ptr64
?I_WriteNew@LSA_ACCOUNT@@MEAAJXZ
; protected: virtual long __cdecl MEMBERSHIP_LM_OBJ::I_WriteNew(void) __ptr64
?I_WriteNew@MEMBERSHIP_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl NET_ACCESS_1::I_WriteNew(void) __ptr64
?I_WriteNew@NET_ACCESS_1@@MEAAJXZ
; protected: virtual long __cdecl NEW_LM_OBJ::I_WriteNew(void) __ptr64
?I_WriteNew@NEW_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl SHARE_2::I_WriteNew(void) __ptr64
?I_WriteNew@SHARE_2@@MEAAJXZ
; protected: virtual long __cdecl USER_2::I_WriteNew(void) __ptr64
?I_WriteNew@USER_2@@MEAAJXZ
; protected: virtual long __cdecl USER_3::I_WriteNew(void) __ptr64
?I_WriteNew@USER_3@@MEAAJXZ
; private: static void __cdecl LSA_POLICY::InitObjectAttributes(struct _OBJECT_ATTRIBUTES * __ptr64,struct _SECURITY_QUALITY_OF_SERVICE * __ptr64)
?InitObjectAttributes@LSA_POLICY@@CAXPEAU_OBJECT_ATTRIBUTES@@PEAU_SECURITY_QUALITY_OF_SERVICE@@@Z
; public: void __cdecl OS_SACL_SUBJECT_DESCRIPTOR::InitToZero(void) __ptr64
?InitToZero@OS_SACL_SUBJECT_DESCRIPTOR@@QEAAXXZ
; private: void __cdecl OS_SACL_SUBJECT_ITER::InitToZero(void) __ptr64
?InitToZero@OS_SACL_SUBJECT_ITER@@AEAAXXZ
; private: void __cdecl OS_PRIVILEGE_SET::InitializeMemory(void) __ptr64
?InitializeMemory@OS_PRIVILEGE_SET@@AEAAXXZ
; public: static void __cdecl OS_SID::InitializeMemory(void * __ptr64)
?InitializeMemory@OS_SID@@SAXPEAX@Z
; public: long __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Insert(class BROWSE_DOMAIN_INFO const * __ptr64,class ITER_SL_BROWSE_DOMAIN_INFO & __ptr64) __ptr64
?Insert@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAJPEBVBROWSE_DOMAIN_INFO@@AEAVITER_SL_BROWSE_DOMAIN_INFO@@@Z
; public: long __cdecl LSA_ACCOUNT::InsertPrivilege(struct _LUID,unsigned long) __ptr64
?InsertPrivilege@LSA_ACCOUNT@@QEAAJU_LUID@@K@Z
; public: int __cdecl USER_11::IsAccountsOperator(void)const  __ptr64
?IsAccountsOperator@USER_11@@QEBAHXZ
; public: int __cdecl USER_11::IsCommOperator(void)const  __ptr64
?IsCommOperator@USER_11@@QEBAHXZ
; public: int __cdecl OS_ACL_SUBJECT_ITER::IsContainer(void)const  __ptr64
?IsContainer@OS_ACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl LM_SERVICE::IsContinuing(long * __ptr64) __ptr64
?IsContinuing@LM_SERVICE@@QEAAHPEAJ@Z
; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLDefaulted(void)const  __ptr64
?IsDACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsDACLPresent(void)const  __ptr64
?IsDACLPresent@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLPresent(void)const  __ptr64
?IsDACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
; public: int __cdecl LSA_ACCOUNT::IsDefaultSettings(void) __ptr64
?IsDefaultSettings@LSA_ACCOUNT@@QEAAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::IsDenyAll(void)const  __ptr64
?IsDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl LOCATION::IsDomain(void)const  __ptr64
?IsDomain@LOCATION@@QEBAHXZ
; public: int __cdecl LM_SESSION_1::IsEncrypted(void)const  __ptr64
?IsEncrypted@LM_SESSION_1@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsGroupDefaulted(void)const  __ptr64
?IsGroupDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
; public: int __cdecl LM_SESSION_1::IsGuest(void)const  __ptr64
?IsGuest@LM_SESSION_1@@QEBAHXZ
; public: int __cdecl LSA_OBJECT::IsHandleValid(void)const  __ptr64
?IsHandleValid@LSA_OBJECT@@QEBAHXZ
; public: int __cdecl OS_ACE::IsInheritOnly(void)const  __ptr64
?IsInheritOnly@OS_ACE@@QEBAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::IsInheritOnlyDenyAll(void)const  __ptr64
?IsInheritOnlyDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_ACE::IsInheritancePropagated(void)const  __ptr64
?IsInheritancePropagated@OS_ACE@@QEBAHXZ
; public: int __cdecl OS_ACE::IsInherittedByNewContainers(void)const  __ptr64
?IsInherittedByNewContainers@OS_ACE@@QEBAHXZ
; public: int __cdecl OS_ACE::IsInherittedByNewObjects(void)const  __ptr64
?IsInherittedByNewObjects@OS_ACE@@QEBAHXZ
; protected: int __cdecl LM_OBJ::IsInvalid(void)const  __ptr64
?IsInvalid@LM_OBJ@@IEBAHXZ
; private: int __cdecl LM_OBJ_BASE::IsInvalid(void)const  __ptr64
?IsInvalid@LM_OBJ_BASE@@AEBAHXZ
; public: int __cdecl OS_ACE::IsKnownACE(void)const  __ptr64
?IsKnownACE@OS_ACE@@QEBAHXZ
; public: int __cdecl NET_NAME::IsLocal(long * __ptr64) __ptr64
?IsLocal@NET_NAME@@QEAAHPEAJ@Z
; private: int __cdecl NEW_LM_OBJ::IsNew(void)const  __ptr64
?IsNew@NEW_LM_OBJ@@AEBAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::IsNewContainerDenyAll(void)const  __ptr64
?IsNewContainerDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; public: int __cdecl OS_DACL_SUBJECT_ITER::IsNewObjectDenyAll(void)const  __ptr64
?IsNewObjectDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
; protected: int __cdecl NEW_LM_OBJ::IsOKState(void)const  __ptr64
?IsOKState@NEW_LM_OBJ@@IEBAHXZ
; protected: int __cdecl OS_ACE::IsOwnerAlloc(void)const  __ptr64
?IsOwnerAlloc@OS_ACE@@IEBAHXZ
; protected: int __cdecl OS_ACL::IsOwnerAlloc(void)const  __ptr64
?IsOwnerAlloc@OS_ACL@@IEBAHXZ
; private: int __cdecl OS_PRIVILEGE_SET::IsOwnerAlloc(void)const  __ptr64
?IsOwnerAlloc@OS_PRIVILEGE_SET@@AEBAHXZ
; protected: int __cdecl OS_SID::IsOwnerAlloc(void)const  __ptr64
?IsOwnerAlloc@OS_SID@@IEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsOwnerDefaulted(void)const  __ptr64
?IsOwnerDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
; public: int __cdecl LM_SERVICE::IsPaused(long * __ptr64) __ptr64
?IsPaused@LM_SERVICE@@QEAAHPEAJ@Z
; public: int __cdecl LM_SERVICE::IsPausing(long * __ptr64) __ptr64
?IsPausing@LM_SERVICE@@QEAAHPEAJ@Z
; public: int __cdecl LM_FILE_3::IsPermCreate(void)const  __ptr64
?IsPermCreate@LM_FILE_3@@QEBAHXZ
; public: int __cdecl LM_FILE_3::IsPermRead(void)const  __ptr64
?IsPermRead@LM_FILE_3@@QEBAHXZ
; public: int __cdecl LM_FILE_3::IsPermWrite(void)const  __ptr64
?IsPermWrite@LM_FILE_3@@QEBAHXZ
; public: int __cdecl USER_11::IsPrintOperator(void)const  __ptr64
?IsPrintOperator@USER_11@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLDefaulted(void)const  __ptr64
?IsSACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsSACLPresent(void)const  __ptr64
?IsSACLPresent@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLPresent(void)const  __ptr64
?IsSACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
; public: int __cdecl LOCATION::IsServer(void)const  __ptr64
?IsServer@LOCATION@@QEBAHXZ
; public: int __cdecl USER_11::IsServerOperator(void)const  __ptr64
?IsServerOperator@USER_11@@QEBAHXZ
; public: int __cdecl NET_NAME::IsSharable(long * __ptr64) __ptr64
?IsSharable@NET_NAME@@QEAAHPEAJ@Z
; public: int __cdecl LM_SERVICE::IsStarted(long * __ptr64) __ptr64
?IsStarted@LM_SERVICE@@QEAAHPEAJ@Z
; public: int __cdecl LM_SERVICE::IsStarting(long * __ptr64) __ptr64
?IsStarting@LM_SERVICE@@QEAAHPEAJ@Z
; public: int __cdecl LM_SERVICE::IsStopped(long * __ptr64) __ptr64
?IsStopped@LM_SERVICE@@QEAAHPEAJ@Z
; public: int __cdecl LM_SERVICE::IsStopping(long * __ptr64) __ptr64
?IsStopping@LM_SERVICE@@QEAAHPEAJ@Z
; protected: int __cdecl LM_OBJ::IsUnconstructed(void)const  __ptr64
?IsUnconstructed@LM_OBJ@@IEBAHXZ
; private: int __cdecl LM_OBJ_BASE::IsUnconstructed(void)const  __ptr64
?IsUnconstructed@LM_OBJ_BASE@@AEBAHXZ
; protected: int __cdecl LM_OBJ::IsValid(void)const  __ptr64
?IsValid@LM_OBJ@@IEBAHXZ
; private: int __cdecl LM_OBJ_BASE::IsValid(void)const  __ptr64
?IsValid@LM_OBJ_BASE@@AEBAHXZ
; public: int __cdecl OS_ACL::IsValid(void)const  __ptr64
?IsValid@OS_ACL@@QEBAHXZ
; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsValid(void)const  __ptr64
?IsValid@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
; public: int __cdecl OS_SID::IsValid(void)const  __ptr64
?IsValid@OS_SID@@QEBAHXZ
; public: static int __cdecl DOMAIN::IsValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64)
?IsValidDC@DOMAIN@@SAHPEBG0@Z
; public: int __cdecl LM_OBJ_BASE::IsValidationOn(void) __ptr64
?IsValidationOn@LM_OBJ_BASE@@QEAAHXZ
; int __cdecl IsWhiteSpace(unsigned short)
?IsWhiteSpace@@YAHG@Z
; public: long __cdecl LSA_POLICY::JoinDomain(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,int,class NLS_STR const * __ptr64,unsigned short const * __ptr64) __ptr64
?JoinDomain@LSA_POLICY@@QEAAJAEBVNLS_STR@@0HPEBV2@PEBG@Z
; int __cdecl LMOTypeToNetType(enum LMO_DEVICE)
?LMOTypeToNetType@@YAHW4LMO_DEVICE@@@Z
; private: static void __cdecl DOMAIN_WITH_DC_CACHE::LeaveCriticalSection(void)
?LeaveCriticalSection@DOMAIN_WITH_DC_CACHE@@CAXXZ
; public: long __cdecl LSA_POLICY::LeaveDomain(void) __ptr64
?LeaveDomain@LSA_POLICY@@QEAAJXZ
; public: long __cdecl SC_MANAGER::Lock(void) __ptr64
?Lock@SC_MANAGER@@QEAAJXZ
; long __cdecl LsaxGetComputerName(class NLS_STR * __ptr64)
?LsaxGetComputerName@@YAJPEAVNLS_STR@@@Z
; protected: void __cdecl LM_OBJ::MakeConstructed(void) __ptr64
?MakeConstructed@LM_OBJ@@IEAAXXZ
; private: void __cdecl LM_OBJ_BASE::MakeConstructed(void) __ptr64
?MakeConstructed@LM_OBJ_BASE@@AEAAXXZ
; protected: void __cdecl LM_OBJ::MakeInvalid(void) __ptr64
?MakeInvalid@LM_OBJ@@IEAAXXZ
; private: void __cdecl LM_OBJ_BASE::MakeInvalid(void) __ptr64
?MakeInvalid@LM_OBJ_BASE@@AEAAXXZ
; private: void __cdecl NEW_LM_OBJ::MakeNew(void) __ptr64
?MakeNew@NEW_LM_OBJ@@AEAAXXZ
; unsigned long __cdecl MakeNullNull(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
?MakeNullNull@@YAKPEBGPEAPEAG@Z
; private: static long __cdecl LSA_POLICY::MakeSecretName(class NLS_STR const & __ptr64,int,class NLS_STR * __ptr64)
?MakeSecretName@LSA_POLICY@@CAJAEBVNLS_STR@@HPEAV2@@Z
; protected: void __cdecl LM_OBJ::MakeUnconstructed(void) __ptr64
?MakeUnconstructed@LM_OBJ@@IEAAXXZ
; private: void __cdecl LM_OBJ_BASE::MakeUnconstructed(void) __ptr64
?MakeUnconstructed@LM_OBJ_BASE@@AEAAXXZ
; protected: void __cdecl LM_OBJ::MakeValid(void) __ptr64
?MakeValid@LM_OBJ@@IEAAXXZ
; private: void __cdecl LM_OBJ_BASE::MakeValid(void) __ptr64
?MakeValid@LM_OBJ_BASE@@AEAAXXZ
; private: void __cdecl TRIPLE_SERVER_ENUM::MapBrowserToTriple(struct _SERVER_INFO_101 const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
?MapBrowserToTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_SERVER_INFO_101@@PEAU_TRIPLE_SERVER_INFO@@@Z
; unsigned long __cdecl MapComm(unsigned short const * __ptr64)
?MapComm@@YAKPEBG@Z
; unsigned long __cdecl MapDrive(unsigned short const * __ptr64)
?MapDrive@@YAKPEBG@Z
; public: int __cdecl OS_ACL_SUBJECT_ITER::MapGenericAllOnly(void)const  __ptr64
?MapGenericAllOnly@OS_ACL_SUBJECT_ITER@@QEBAHXZ
; private: void __cdecl TRIPLE_SERVER_ENUM::MapKnownToTriple(struct _KNOWN_SERVER_INFO const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
?MapKnownToTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_KNOWN_SERVER_INFO@@PEAU_TRIPLE_SERVER_INFO@@@Z
; unsigned long __cdecl MapLPT(unsigned short const * __ptr64)
?MapLPT@@YAKPEBG@Z
; private: void __cdecl SERVICE_ENUM::MapLmStatusToNtState(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
?MapLmStatusToNtState@SERVICE_ENUM@@AEAAXKPEAK0@Z
; private: void __cdecl TRIPLE_SERVER_ENUM::MapLmToKnown(struct _USER_INFO_0 const * __ptr64,struct _KNOWN_SERVER_INFO * __ptr64) __ptr64
?MapLmToKnown@TRIPLE_SERVER_ENUM@@AEAAXPEBU_USER_INFO_0@@PEAU_KNOWN_SERVER_INFO@@@Z
; private: void __cdecl TRIPLE_SERVER_ENUM::MapNtToKnown(struct _DOMAIN_DISPLAY_MACHINE const * __ptr64,struct _KNOWN_SERVER_INFO * __ptr64) __ptr64
?MapNtToKnown@TRIPLE_SERVER_ENUM@@AEAAXPEBU_DOMAIN_DISPLAY_MACHINE@@PEAU_KNOWN_SERVER_INFO@@@Z
; public: long __cdecl OS_ACL_SUBJECT_ITER::MapSpecificToGeneric(unsigned long * __ptr64,int) __ptr64
?MapSpecificToGeneric@OS_ACL_SUBJECT_ITER@@QEAAJPEAKH@Z
; private: enum _SERVER_ROLE  __cdecl TRIPLE_SERVER_ENUM::MapTypeMaskToRole(unsigned long)const  __ptr64
?MapTypeMaskToRole@TRIPLE_SERVER_ENUM@@AEBA?AW4_SERVER_ROLE@@K@Z
; private: enum _SERVER_TYPE  __cdecl TRIPLE_SERVER_ENUM::MapTypeMaskToType(unsigned long)const  __ptr64
?MapTypeMaskToType@TRIPLE_SERVER_ENUM@@AEBA?AW4_SERVER_TYPE@@K@Z
; enum LMO_DEVICE  __cdecl NetTypeToLMOType(unsigned long)
?NetTypeToLMOType@@YA?AW4LMO_DEVICE@@K@Z
; public: class ALIAS_ENUM_OBJ const * __ptr64 __cdecl ALIAS_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@ALIAS_ENUM_ITER@@QEAAPEBVALIAS_ENUM_OBJ@@PEAJH@Z
; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::Next(void) __ptr64
?Next@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@XZ
; public: class FILE2_ENUM_OBJ const * __ptr64 __cdecl FILE2_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@FILE2_ENUM_ITER@@QEAAPEBVFILE2_ENUM_OBJ@@PEAJH@Z
; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@FILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
; public: unsigned short const * __ptr64 __cdecl ITER_DEVICE::Next(void) __ptr64
?Next@ITER_DEVICE@@QEAAPEBGXZ
; public: class BROWSE_DOMAIN_INFO * __ptr64 __cdecl ITER_SL_BROWSE_DOMAIN_INFO::Next(void) __ptr64
?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QEAAPEAVBROWSE_DOMAIN_INFO@@XZ
; public: class LM_RESUME_BUFFER * __ptr64 __cdecl ITER_SL_LM_RESUME_BUFFER::Next(void) __ptr64
?Next@ITER_SL_LM_RESUME_BUFFER@@QEAAPEAVLM_RESUME_BUFFER@@XZ
; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
; public: class LSA_ACCOUNTS_ENUM_OBJ const * __ptr64 __cdecl LSA_ACCOUNTS_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@LSA_ACCOUNTS_ENUM_ITER@@QEAAPEBVLSA_ACCOUNTS_ENUM_OBJ@@PEAJH@Z
; public: class LSA_PRIVILEGES_ENUM_OBJ const * __ptr64 __cdecl LSA_PRIVILEGES_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@LSA_PRIVILEGES_ENUM_ITER@@QEAAPEBVLSA_PRIVILEGES_ENUM_OBJ@@PEAJH@Z
; public: class NT_GROUP_ENUM_OBJ const * __ptr64 __cdecl NT_GROUP_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@NT_GROUP_ENUM_ITER@@QEAAPEBVNT_GROUP_ENUM_OBJ@@PEAJH@Z
; public: class NT_MACHINE_ENUM_OBJ const * __ptr64 __cdecl NT_MACHINE_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@NT_MACHINE_ENUM_ITER@@QEAAPEBVNT_MACHINE_ENUM_OBJ@@PEAJH@Z
; public: class NT_USER_ENUM_OBJ const * __ptr64 __cdecl NT_USER_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@NT_USER_ENUM_ITER@@QEAAPEBVNT_USER_ENUM_OBJ@@PEAJH@Z
; public: virtual int __cdecl OS_DACL_SUBJECT_ITER::Next(long * __ptr64) __ptr64
?Next@OS_DACL_SUBJECT_ITER@@UEAAHPEAJ@Z
; public: virtual int __cdecl OS_SACL_SUBJECT_ITER::Next(long * __ptr64) __ptr64
?Next@OS_SACL_SUBJECT_ITER@@UEAAHPEAJ@Z
; public: class SAM_USER_ENUM_OBJ const * __ptr64 __cdecl SAM_USER_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@SAM_USER_ENUM_ITER@@QEAAPEBVSAM_USER_ENUM_OBJ@@PEAJH@Z
; public: class TRUSTED_DOMAIN_ENUM_OBJ const * __ptr64 __cdecl TRUSTED_DOMAIN_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@TRUSTED_DOMAIN_ENUM_ITER@@QEAAPEBVTRUSTED_DOMAIN_ENUM_OBJ@@PEAJH@Z
; public: class USER0_ENUM_OBJ const * __ptr64 __cdecl USER0_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@USER0_ENUM_ITER@@QEAAPEBVUSER0_ENUM_OBJ@@PEAJH@Z
; public: class USER10_ENUM_OBJ const * __ptr64 __cdecl USER10_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@USER10_ENUM_ITER@@QEAAPEBVUSER10_ENUM_OBJ@@PEAJH@Z
; public: class USER1_ENUM_OBJ const * __ptr64 __cdecl USER1_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@USER1_ENUM_ITER@@QEAAPEBVUSER1_ENUM_OBJ@@PEAJH@Z
; public: class USER2_ENUM_OBJ const * __ptr64 __cdecl USER2_ENUM_ITER::Next(long * __ptr64,int) __ptr64
?Next@USER2_ENUM_ITER@@QEAAPEBVUSER2_ENUM_OBJ@@PEAJH@Z
; protected: long __cdecl LM_RESUME_ENUM_ITER::NextGetInfo(void) __ptr64
?NextGetInfo@LM_RESUME_ENUM_ITER@@IEAAJXZ
; protected: void __cdecl LM_RESUME_ENUM::NukeBuffers(void) __ptr64
?NukeBuffers@LM_RESUME_ENUM@@IEAAXXZ
; public: static long __cdecl LM_SRVRES::NukeUsersSession(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
?NukeUsersSession@LM_SRVRES@@SAJPEBG00@Z
; public: long __cdecl LSA_POLICY::Open(unsigned short const * __ptr64,unsigned long) __ptr64
?Open@LSA_POLICY@@QEAAJPEBGK@Z
; public: long __cdecl LSA_SECRET::Open(class LSA_POLICY const & __ptr64,unsigned long) __ptr64
?Open@LSA_SECRET@@QEAAJAEBVLSA_POLICY@@K@Z
; private: long __cdecl SAM_DOMAIN::OpenDomain(class SAM_SERVER const & __ptr64,void * __ptr64,unsigned long) __ptr64
?OpenDomain@SAM_DOMAIN@@AEAAJAEBVSAM_SERVER@@PEAXK@Z
; public: long __cdecl LM_SERVICE::Pause(unsigned int,unsigned int) __ptr64
?Pause@LM_SERVICE@@QEAAJII@Z
; public: long __cdecl LM_SERVICE::Poll(int * __ptr64) __ptr64
?Poll@LM_SERVICE@@QEAAJPEAH@Z
; protected: void __cdecl LSA_ACCOUNT::PrintInfo(unsigned short const * __ptr64) __ptr64
?PrintInfo@LSA_ACCOUNT@@IEAAXPEBG@Z
; public: struct _ACCESS_LIST * __ptr64 __cdecl NET_ACCESS_1::QueryACE(unsigned int)const  __ptr64
?QueryACE@NET_ACCESS_1@@QEBAPEAU_ACCESS_LIST@@I@Z
; public: void * __ptr64 __cdecl OS_ACE::QueryACE(void)const  __ptr64
?QueryACE@OS_ACE@@QEBAPEAXXZ
; public: long __cdecl OS_ACL::QueryACE(unsigned long,class OS_ACE * __ptr64)const  __ptr64
?QueryACE@OS_ACL@@QEBAJKPEAVOS_ACE@@@Z
; public: unsigned int __cdecl NET_ACCESS_1::QueryACECount(void)const  __ptr64
?QueryACECount@NET_ACCESS_1@@QEBAIXZ
; public: long __cdecl OS_ACL::QueryACECount(unsigned long * __ptr64)const  __ptr64
?QueryACECount@OS_ACL@@QEBAJPEAK@Z
; protected: class OS_ACL const * __ptr64 __cdecl OS_ACL_SUBJECT_ITER::QueryACL(void)const  __ptr64
?QueryACL@OS_ACL_SUBJECT_ITER@@IEBAPEBVOS_ACL@@XZ
; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessAccountDomain(void)const  __ptr64
?QueryAccessAccountDomain@ADMIN_AUTHORITY@@QEBAKXZ
; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessBuiltinDomain(void)const  __ptr64
?QueryAccessBuiltinDomain@ADMIN_AUTHORITY@@QEBAKXZ
; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessLSAPolicy(void)const  __ptr64
?QueryAccessLSAPolicy@ADMIN_AUTHORITY@@QEBAKXZ
; public: unsigned long __cdecl OS_ACE::QueryAccessMask(void)const  __ptr64
?QueryAccessMask@OS_ACE@@QEBAKXZ
; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryAccessMask(void)const  __ptr64
?QueryAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessSamServer(void)const  __ptr64
?QueryAccessSamServer@ADMIN_AUTHORITY@@QEBAKXZ
; public: unsigned int __cdecl NT_MACHINE_ENUM_OBJ::QueryAccountCtrl(void)const  __ptr64
?QueryAccountCtrl@NT_MACHINE_ENUM_OBJ@@QEBAIXZ
; public: int __cdecl USER_2::QueryAccountDisabled(void)const  __ptr64
?QueryAccountDisabled@USER_2@@QEBAHXZ
; public: class SAM_DOMAIN * __ptr64 __cdecl ADMIN_AUTHORITY::QueryAccountDomain(void)const  __ptr64
?QueryAccountDomain@ADMIN_AUTHORITY@@QEBAPEAVSAM_DOMAIN@@XZ
; public: long __cdecl USER_2::QueryAccountExpires(void)const  __ptr64
?QueryAccountExpires@USER_2@@QEBAJXZ
; public: enum _ACCOUNT_TYPE  __cdecl USER_3::QueryAccountType(void)const  __ptr64
?QueryAccountType@USER_3@@QEBA?AW4_ACCOUNT_TYPE@@XZ
; public: unsigned char __cdecl OS_ACE::QueryAceFlags(void)const  __ptr64
?QueryAceFlags@OS_ACE@@QEBAEXZ
; public: struct _ACL * __ptr64 __cdecl OS_ACL::QueryAcl(void)const  __ptr64
?QueryAcl@OS_ACL@@QEBAPEAU_ACL@@XZ
; protected: unsigned int __cdecl OS_OBJECT_WITH_DATA::QueryAllocSize(void)const  __ptr64
?QueryAllocSize@OS_OBJECT_WITH_DATA@@IEBAIXZ
; public: unsigned short const * __ptr64 __cdecl DOMAIN::QueryAnyDC(void)const  __ptr64
?QueryAnyDC@DOMAIN@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl MEMBERSHIP_LM_OBJ::QueryAssocName(unsigned int)const  __ptr64
?QueryAssocName@MEMBERSHIP_LM_OBJ@@QEBAPEBGI@Z
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_F(void)const  __ptr64
?QueryAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_S(void)const  __ptr64
?QueryAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: virtual unsigned long __cdecl LOCAL_USER::QueryAuthFlags(void)const  __ptr64
?QueryAuthFlags@LOCAL_USER@@UEBAKXZ
; public: virtual unsigned long __cdecl USER_11::QueryAuthFlags(void)const  __ptr64
?QueryAuthFlags@USER_11@@UEBAKXZ
; protected: unsigned char * __ptr64 __cdecl LM_ENUM_ITER::QueryBasePtr(void)const  __ptr64
?QueryBasePtr@LM_ENUM_ITER@@IEBAPEAEXZ
; protected: unsigned char const * __ptr64 __cdecl LM_RESUME_ENUM_ITER::QueryBasePtr(void)const  __ptr64
?QueryBasePtr@LM_RESUME_ENUM_ITER@@IEBAPEBEXZ
; protected: unsigned char * __ptr64 __cdecl DEVICE::QueryBufPtr(void) __ptr64
?QueryBufPtr@DEVICE@@IEAAPEAEXZ
; protected: void * __ptr64 __cdecl NT_MEMORY::QueryBuffer(void)const  __ptr64
?QueryBuffer@NT_MEMORY@@IEBAPEAXXZ
; public: class BUFFER const & __ptr64 __cdecl SERVICE_CONTROL::QueryBuffer(void)const  __ptr64
?QueryBuffer@SERVICE_CONTROL@@QEBAAEBVBUFFER@@XZ
; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl ALIAS_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@ALIAS_ENUM_OBJ@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
; public: struct _SERVER_INFO_100 const * __ptr64 __cdecl DOMAIN0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@DOMAIN0_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_100@@XZ
; protected: unsigned char const * __ptr64 __cdecl ENUM_OBJ_BASE::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@ENUM_OBJ_BASE@@IEBAPEBEXZ
; public: struct _FILE_INFO_3 const * __ptr64 __cdecl FILE3_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@FILE3_ENUM_OBJ@@QEBAPEBU_FILE_INFO_3@@XZ
; public: struct _GROUP_INFO_0 const * __ptr64 __cdecl GROUP0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@GROUP0_ENUM_OBJ@@QEBAPEBU_GROUP_INFO_0@@XZ
; public: unsigned char const * __ptr64 __cdecl LM_RESUME_BUFFER::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@LM_RESUME_BUFFER@@QEBAPEBEXZ
; public: struct _POLICY_PRIVILEGE_DEFINITION const * __ptr64 __cdecl LSA_PRIVILEGES_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QEBAPEBU_POLICY_PRIVILEGE_DEFINITION@@XZ
; protected: unsigned char * __ptr64 __cdecl NEW_LM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@NEW_LM_OBJ@@IEBAPEAEXZ
; public: struct _DOMAIN_DISPLAY_MACHINE const * __ptr64 __cdecl NT_MACHINE_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@NT_MACHINE_ENUM_OBJ@@QEBAPEBU_DOMAIN_DISPLAY_MACHINE@@XZ
; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_USER_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@SAM_USER_ENUM_OBJ@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
; public: struct _SERVER_INFO_101 const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@SERVER1_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_101@@XZ
; public: struct _USER_INFO_0 const * __ptr64 __cdecl USER0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
?QueryBufferPtr@USER0_ENUM_OBJ@@QEBAPEBU_USER_INFO_0@@XZ
; protected: unsigned int __cdecl NEW_LM_OBJ::QueryBufferSize(void)const  __ptr64
?QueryBufferSize@NEW_LM_OBJ@@IEBAIXZ
; public: class SAM_DOMAIN * __ptr64 __cdecl ADMIN_AUTHORITY::QueryBuiltinDomain(void)const  __ptr64
?QueryBuiltinDomain@ADMIN_AUTHORITY@@QEBAPEAVSAM_DOMAIN@@XZ
; public: long __cdecl OS_ACL::QueryBytesInUse(unsigned long * __ptr64)const  __ptr64
?QueryBytesInUse@OS_ACL@@QEBAJPEAK@Z
; public: unsigned short const * __ptr64 __cdecl LM_SESSION_2::QueryClientType(void)const  __ptr64
?QueryClientType@LM_SESSION_2@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl GROUP_1::QueryComment(void)const  __ptr64
?QueryComment@GROUP_1@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryComment(void)const  __ptr64
?QueryComment@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl SERVER_1::QueryComment(void)const  __ptr64
?QueryComment@SERVER_1@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl SHARE_1::QueryComment(void)const  __ptr64
?QueryComment@SHARE_1@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl USER_11::QueryComment(void)const  __ptr64
?QueryComment@USER_11@@QEBAPEBGXZ
; public: long __cdecl NET_NAME::QueryComputerName(class NLS_STR * __ptr64) __ptr64
?QueryComputerName@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: long __cdecl SC_SERVICE::QueryConfig(struct _QUERY_SERVICE_CONFIGW * __ptr64 * __ptr64) __ptr64
?QueryConfig@SC_SERVICE@@QEAAJPEAPEAU_QUERY_SERVICE_CONFIGW@@@Z
; public: class OS_SECURITY_DESCRIPTOR_CONTROL const * __ptr64 __cdecl OS_SECURITY_DESCRIPTOR::QueryControl(void)const  __ptr64
?QueryControl@OS_SECURITY_DESCRIPTOR@@QEBAPEBVOS_SECURITY_DESCRIPTOR_CONTROL@@XZ
; public: struct _TRUSTED_CONTROLLERS_INFO const & __ptr64 __cdecl LSA_TRUSTED_DC_LIST::QueryControllerList(void)const  __ptr64
?QueryControllerList@LSA_TRUSTED_DC_LIST@@QEBAAEBU_TRUSTED_CONTROLLERS_INFO@@XZ
; public: long __cdecl LSA_TRUSTED_DOMAIN::QueryControllerList(class LSA_REF_DOMAIN_MEM * __ptr64)const  __ptr64
?QueryControllerList@LSA_TRUSTED_DOMAIN@@QEBAJPEAVLSA_REF_DOMAIN_MEM@@@Z
; public: unsigned int __cdecl ENUM_CALLER::QueryCount(void)const  __ptr64
?QueryCount@ENUM_CALLER@@QEBAIXZ
; protected: unsigned int __cdecl LM_ENUM_ITER::QueryCount(void)const  __ptr64
?QueryCount@LM_ENUM_ITER@@IEBAIXZ
; protected: unsigned int __cdecl LM_RESUME_ENUM_ITER::QueryCount(void)const  __ptr64
?QueryCount@LM_RESUME_ENUM_ITER@@IEBAIXZ
; public: int __cdecl LSA_TRUSTED_DC_LIST::QueryCount(void) __ptr64
?QueryCount@LSA_TRUSTED_DC_LIST@@QEAAHXZ
; public: unsigned long __cdecl NT_MEMORY::QueryCount(void)const  __ptr64
?QueryCount@NT_MEMORY@@QEBAKXZ
; protected: static long __cdecl NT_ACCOUNT_ENUM::QueryCountPreferences2(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long)
?QueryCountPreferences2@NT_ACCOUNT_ENUM@@KAJPEAK0IKKK@Z
; protected: virtual long __cdecl NT_ACCOUNT_ENUM::QueryCountPreferences(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long) __ptr64
?QueryCountPreferences@NT_ACCOUNT_ENUM@@MEAAJPEAK0IKKK@Z
; protected: unsigned long __cdecl OS_ACL_SUBJECT_ITER::QueryCurrentACE(void)const  __ptr64
?QueryCurrentACE@OS_ACL_SUBJECT_ITER@@IEBAKXZ
; public: long __cdecl LSA_POLICY::QueryCurrentUser(class NLS_STR * __ptr64)const  __ptr64
?QueryCurrentUser@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
; public: unsigned int __cdecl SHARE_2::QueryCurrentUses(void)const  __ptr64
?QueryCurrentUses@SHARE_2@@QEBAIXZ
; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryDACL(int * __ptr64,class OS_ACL * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
?QueryDACL@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_ACL@@0@Z
; public: long __cdecl LSA_DOMAIN_INFO::QueryDcName(class NLS_STR * __ptr64) __ptr64
?QueryDcName@LSA_DOMAIN_INFO@@QEAAJPEAVNLS_STR@@@Z
; protected: enum LMO_DEVICE  __cdecl DEVICE::QueryDevType(void)const  __ptr64
?QueryDevType@DEVICE@@IEBA?AW4LMO_DEVICE@@XZ
; public: long __cdecl LOCATION::QueryDisplayName(class NLS_STR * __ptr64)const  __ptr64
?QueryDisplayName@LOCATION@@QEBAJPEAVNLS_STR@@@Z
; public: long __cdecl LSA_PRIVILEGES_ENUM_OBJ::QueryDisplayName(class NLS_STR * __ptr64,class LSA_POLICY const * __ptr64)const  __ptr64
?QueryDisplayName@LSA_PRIVILEGES_ENUM_OBJ@@QEBAJPEAVNLS_STR@@PEBVLSA_POLICY@@@Z
; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryDomain(void)const  __ptr64
?QueryDomain@LOCATION@@QEBAPEBGXZ
; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const  __ptr64
?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QEBAJK@Z
; public: unsigned short const * __ptr64 __cdecl BROWSE_DOMAIN_INFO::QueryDomainName(void)const  __ptr64
?QueryDomainName@BROWSE_DOMAIN_INFO@@QEBAPEBGXZ
; public: unsigned long __cdecl BROWSE_DOMAIN_INFO::QueryDomainSources(void)const  __ptr64
?QueryDomainSources@BROWSE_DOMAIN_INFO@@QEBAKXZ
; public: long __cdecl NET_NAME::QueryDrive(class NLS_STR * __ptr64) __ptr64
?QueryDrive@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: unsigned long __cdecl USER_MODALS_3::QueryDuration(void)const  __ptr64
?QueryDuration@USER_MODALS_3@@QEBAKXZ
; public: long __cdecl BASE::QueryError(void)const  __ptr64
?QueryError@BASE@@QEBAJXZ
; public: long __cdecl LM_SERVICE::QueryExitCode(void)const  __ptr64
?QueryExitCode@LM_SERVICE@@QEBAJXZ
; public: long __cdecl NET_ACCESS_1::QueryFailingName(class NLS_STR * __ptr64,enum PERMNAME_TYPE * __ptr64)const  __ptr64
?QueryFailingName@NET_ACCESS_1@@QEBAJPEAVNLS_STR@@PEAW4PERMNAME_TYPE@@@Z
; public: int __cdecl LSA_TRANSLATED_SID_MEM::QueryFailingNameIndex(unsigned long * __ptr64) __ptr64
?QueryFailingNameIndex@LSA_TRANSLATED_SID_MEM@@QEAAHPEAK@Z
; public: unsigned long __cdecl LM_FILE::QueryFileId(void)const  __ptr64
?QueryFileId@LM_FILE@@QEBAKXZ
; public: unsigned long __cdecl USER_MODALS::QueryForceLogoff(void)const  __ptr64
?QueryForceLogoff@USER_MODALS@@QEBAKXZ
; public: unsigned short const * __ptr64 __cdecl USER_11::QueryFullName(void)const  __ptr64
?QueryFullName@USER_11@@QEBAPEBGXZ
; public: long __cdecl LM_SERVICE::QueryFullStatus(enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
?QueryFullStatus@LM_SERVICE@@QEAAJPEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryGroup(int * __ptr64,class OS_SID * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
?QueryGroup@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_SID@@0@Z
; public: void * __ptr64 __cdecl LSA_OBJECT::QueryHandle(void)const  __ptr64
?QueryHandle@LSA_OBJECT@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl SAM_OBJECT::QueryHandle(void)const  __ptr64
?QueryHandle@SAM_OBJECT@@QEBAPEAXXZ
; public: struct SC_HANDLE__ * __ptr64 __cdecl SERVICE_CONTROL::QueryHandle(void)const  __ptr64
?QueryHandle@SERVICE_CONTROL@@QEBAPEAUSC_HANDLE__@@XZ
; public: unsigned short const * __ptr64 __cdecl USER_11::QueryHomeDir(void)const  __ptr64
?QueryHomeDir@USER_11@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl USER_3::QueryHomedirDrive(void)const  __ptr64
?QueryHomedirDrive@USER_3@@QEBAPEBGXZ
; public: unsigned char * __ptr64 __cdecl LOGON_HOURS_SETTING::QueryHoursBlock(void)const  __ptr64
?QueryHoursBlock@LOGON_HOURS_SETTING@@QEBAPEAEXZ
; public: unsigned long __cdecl LM_SESSION_10::QueryIdleTime(void)const  __ptr64
?QueryIdleTime@LM_SESSION_10@@QEBAKXZ
; public: long __cdecl LSA_SECRET::QueryInfo(class NLS_STR * __ptr64,class NLS_STR * __ptr64,union _LARGE_INTEGER * __ptr64,union _LARGE_INTEGER * __ptr64)const  __ptr64
?QueryInfo@LSA_SECRET@@QEBAJPEAVNLS_STR@@0PEAT_LARGE_INTEGER@@1@Z
; private: long __cdecl LSA_TRUSTED_DC_LIST::QueryInfo(class NLS_STR const & __ptr64,unsigned short const * __ptr64) __ptr64
?QueryInfo@LSA_TRUSTED_DC_LIST@@AEAAJAEBVNLS_STR@@PEBG@Z
; public: unsigned int __cdecl LM_ENUM::QueryInfoLevel(void)const  __ptr64
?QueryInfoLevel@LM_ENUM@@QEBAIXZ
; public: unsigned int __cdecl LM_RESUME_ENUM::QueryInfoLevel(void)const  __ptr64
?QueryInfoLevel@LM_RESUME_ENUM@@QEBAIXZ
; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryInheritOnlyAccessMask(void)const  __ptr64
?QueryInheritOnlyAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_F(void)const  __ptr64
?QueryInheritOnlyAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_S(void)const  __ptr64
?QueryInheritOnlyAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned int __cdecl LM_RESUME_BUFFER::QueryItemCount(void)const  __ptr64
?QueryItemCount@LM_RESUME_BUFFER@@QEBAIXZ
; protected: virtual unsigned int __cdecl MEMBERSHIP_LM_OBJ::QueryItemSize(void)const  __ptr64
?QueryItemSize@MEMBERSHIP_LM_OBJ@@MEBAIXZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_1::QueryLMRoot(void)const  __ptr64
?QueryLMRoot@WKSTA_1@@QEBAPEBGXZ
; public: class LSA_POLICY * __ptr64 __cdecl ADMIN_AUTHORITY::QueryLSAPolicy(void)const  __ptr64
?QueryLSAPolicy@ADMIN_AUTHORITY@@QEBAPEAVLSA_POLICY@@XZ
; public: long __cdecl NET_NAME::QueryLastComponent(class NLS_STR * __ptr64) __ptr64
?QueryLastComponent@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: long __cdecl OS_SID::QueryLastSubAuthority(unsigned long * __ptr64 * __ptr64)const  __ptr64
?QueryLastSubAuthority@OS_SID@@QEBAJPEAPEAK@Z
; public: unsigned long __cdecl OS_SID::QueryLength(void)const  __ptr64
?QueryLength@OS_SID@@QEBAKXZ
; public: long __cdecl NET_NAME::QueryLocalDrive(class NLS_STR * __ptr64) __ptr64
?QueryLocalDrive@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: long __cdecl NET_NAME::QueryLocalPath(class NLS_STR * __ptr64) __ptr64
?QueryLocalPath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: long __cdecl SC_MANAGER::QueryLockStatus(struct _QUERY_SERVICE_LOCK_STATUSW * __ptr64 * __ptr64) __ptr64
?QueryLockStatus@SC_MANAGER@@QEAAJPEAPEAU_QUERY_SERVICE_LOCK_STATUSW@@@Z
; public: int __cdecl USER_2::QueryLockout(void)const  __ptr64
?QueryLockout@USER_2@@QEBAHXZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryLogonDomain(void)const  __ptr64
?QueryLogonDomain@WKSTA_10@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryLogonDomain(void)const  __ptr64
?QueryLogonDomain@WKSTA_USER_1@@QEBAPEBGXZ
; public: class LOGON_HOURS_SETTING const & __ptr64 __cdecl USER_11::QueryLogonHours(void)const  __ptr64
?QueryLogonHours@USER_11@@QEBAAEBVLOGON_HOURS_SETTING@@XZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_1::QueryLogonServer(void)const  __ptr64
?QueryLogonServer@WKSTA_1@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryLogonServer(void)const  __ptr64
?QueryLogonServer@WKSTA_USER_1@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryLogonUser(void)const  __ptr64
?QueryLogonUser@WKSTA_10@@QEBAPEBGXZ
; public: struct _LUID  __cdecl OS_LUID::QueryLuid(void)const  __ptr64
?QueryLuid@OS_LUID@@QEBA?AU_LUID@@XZ
; public: unsigned int __cdecl SERVER1_ENUM_OBJ::QueryMajorVer(void)const  __ptr64
?QueryMajorVer@SERVER1_ENUM_OBJ@@QEBAIXZ
; public: unsigned int __cdecl SERVER_1::QueryMajorVer(void)const  __ptr64
?QueryMajorVer@SERVER_1@@QEBAIXZ
; public: unsigned int __cdecl WKSTA_10::QueryMajorVer(void)const  __ptr64
?QueryMajorVer@WKSTA_10@@QEBAIXZ
; public: unsigned long __cdecl USER_MODALS::QueryMaxPasswdAge(void)const  __ptr64
?QueryMaxPasswdAge@USER_MODALS@@QEBAKXZ
; public: unsigned int __cdecl SERVER_2::QueryMaxUsers(void)const  __ptr64
?QueryMaxUsers@SERVER_2@@QEBAIXZ
; public: unsigned int __cdecl SHARE_2::QueryMaxUses(void)const  __ptr64
?QueryMaxUses@SHARE_2@@QEBAIXZ
; public: unsigned long __cdecl USER_MODALS::QueryMinPasswdAge(void)const  __ptr64
?QueryMinPasswdAge@USER_MODALS@@QEBAKXZ
; public: unsigned int __cdecl USER_MODALS::QueryMinPasswdLen(void)const  __ptr64
?QueryMinPasswdLen@USER_MODALS@@QEBAIXZ
; public: unsigned int __cdecl SERVER1_ENUM_OBJ::QueryMinorVer(void)const  __ptr64
?QueryMinorVer@SERVER1_ENUM_OBJ@@QEBAIXZ
; public: unsigned int __cdecl SERVER_1::QueryMinorVer(void)const  __ptr64
?QueryMinorVer@SERVER_1@@QEBAIXZ
; public: unsigned int __cdecl WKSTA_10::QueryMinorVer(void)const  __ptr64
?QueryMinorVer@WKSTA_10@@QEBAIXZ
; public: long __cdecl LOCATION::QueryNOSVersion(unsigned int * __ptr64,unsigned int * __ptr64) __ptr64
?QueryNOSVersion@LOCATION@@QEAAJPEAI0@Z
; public: virtual unsigned short const * __ptr64 __cdecl COMPUTER::QueryName(void)const  __ptr64
?QueryName@COMPUTER@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl DEVICE::QueryName(void)const  __ptr64
?QueryName@DEVICE@@UEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl DOMAIN0_ENUM_OBJ::QueryName(void)const  __ptr64
?QueryName@DOMAIN0_ENUM_OBJ@@QEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl DOMAIN::QueryName(void)const  __ptr64
?QueryName@DOMAIN@@UEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl GROUP0_ENUM_OBJ::QueryName(void)const  __ptr64
?QueryName@GROUP0_ENUM_OBJ@@QEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl GROUP::QueryName(void)const  __ptr64
?QueryName@GROUP@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl GROUP_MEMB::QueryName(void)const  __ptr64
?QueryName@GROUP_MEMB@@UEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LM_SERVICE::QueryName(void)const  __ptr64
?QueryName@LM_SERVICE@@QEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl LM_SESSION::QueryName(void)const  __ptr64
?QueryName@LM_SESSION@@UEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryName(void)const  __ptr64
?QueryName@LOCATION@@QEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl LSA_ACCOUNT::QueryName(void)const  __ptr64
?QueryName@LSA_ACCOUNT@@UEBAPEBGXZ
; public: long __cdecl LSA_ACCT_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
?QueryName@LSA_ACCT_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
; public: long __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
; public: long __cdecl LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
?QueryName@LSA_REF_DOMAIN_MEM@@QEBAJKPEAVNLS_STR@@@Z
; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
?QueryName@LSA_TRANSLATED_NAME_MEM@@QEBAJKPEAVNLS_STR@@@Z
; public: long __cdecl LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
?QueryName@LSA_TRUST_INFO_MEM@@QEBAJKPEAVNLS_STR@@@Z
; public: virtual unsigned short const * __ptr64 __cdecl NET_ACCESS::QueryName(void)const  __ptr64
?QueryName@NET_ACCESS@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl NEW_LM_OBJ::QueryName(void)const  __ptr64
?QueryName@NEW_LM_OBJ@@UEBAPEBGXZ
; public: long __cdecl OS_SID::QueryName(class NLS_STR * __ptr64,unsigned short const * __ptr64,void * __ptr64)const  __ptr64
?QueryName@OS_SID@@QEBAJPEAVNLS_STR@@PEBGPEAX@Z
; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryName(void)const  __ptr64
?QueryName@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl SERVER_0::QueryName(void)const  __ptr64
?QueryName@SERVER_0@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl SHARE::QueryName(void)const  __ptr64
?QueryName@SHARE@@UEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl USER0_ENUM_OBJ::QueryName(void)const  __ptr64
?QueryName@USER0_ENUM_OBJ@@QEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl USER::QueryName(void)const  __ptr64
?QueryName@USER@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl USER_MEMB::QueryName(void)const  __ptr64
?QueryName@USER_MEMB@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl USER_MODALS::QueryName(void)const  __ptr64
?QueryName@USER_MODALS@@UEBAPEBGXZ
; public: virtual unsigned short const * __ptr64 __cdecl USER_MODALS_3::QueryName(void)const  __ptr64
?QueryName@USER_MODALS_3@@UEBAPEBGXZ
; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryNewContainerAccessMask(void)const  __ptr64
?QueryNewContainerAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_F(void)const  __ptr64
?QueryNewContainerAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_S(void)const  __ptr64
?QueryNewContainerAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryNewObjectAccessMask(void)const  __ptr64
?QueryNewObjectAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_F(void)const  __ptr64
?QueryNewObjectAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_S(void)const  __ptr64
?QueryNewObjectAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
; public: int __cdecl SAM_PSWD_DOM_INFO_MEM::QueryNoAnonChange(void) __ptr64
?QueryNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QEAAHXZ
; public: int __cdecl USER_2::QueryNoPasswordExpire(void)const  __ptr64
?QueryNoPasswordExpire@USER_2@@QEBAHXZ
; public: unsigned int __cdecl LM_FILE_3::QueryNumLock(void)const  __ptr64
?QueryNumLock@LM_FILE_3@@QEBAIXZ
; public: unsigned long __cdecl FILE3_ENUM_OBJ::QueryNumLocks(void)const  __ptr64
?QueryNumLocks@FILE3_ENUM_OBJ@@QEBAKXZ
; public: unsigned int __cdecl LM_SESSION_1::QueryNumOpens(void)const  __ptr64
?QueryNumOpens@LM_SESSION_1@@QEBAIXZ
; public: unsigned long __cdecl OS_PRIVILEGE_SET::QueryNumberOfPrivileges(void)const  __ptr64
?QueryNumberOfPrivileges@OS_PRIVILEGE_SET@@QEBAKXZ
; public: unsigned long __cdecl USER_MODALS_3::QueryObservation(void)const  __ptr64
?QueryObservation@USER_MODALS_3@@QEBAKXZ
; public: class STRLIST * __ptr64 __cdecl WKSTA_10::QueryOtherDomains(void)const  __ptr64
?QueryOtherDomains@WKSTA_10@@QEBAPEAVSTRLIST@@XZ
; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryOtherDomains(void)const  __ptr64
?QueryOtherDomains@WKSTA_USER_1@@QEBAPEBGXZ
; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryOwner(int * __ptr64,class OS_SID * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
?QueryOwner@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_SID@@0@Z
; public: unsigned short const * __ptr64 __cdecl DOMAIN::QueryPDC(void)const  __ptr64
?QueryPDC@DOMAIN@@QEBAPEBGXZ
; public: void * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl LSA_DOMAIN_INFO::QueryPSID(void)const  __ptr64
?QueryPSID@LSA_DOMAIN_INFO@@QEBAQEAXXZ
; public: void * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const  __ptr64
?QueryPSID@LSA_REF_DOMAIN_MEM@@QEBAPEAXK@Z
; public: void * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const  __ptr64
?QueryPSID@LSA_TRUST_INFO_MEM@@QEBAPEAXK@Z
; public: void * __ptr64 __cdecl OS_SID::QueryPSID(void)const  __ptr64
?QueryPSID@OS_SID@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl SAM_DOMAIN::QueryPSID(void)const  __ptr64
?QueryPSID@SAM_DOMAIN@@QEBAPEAXXZ
; public: unsigned short const * __ptr64 __cdecl USER_11::QueryParms(void)const  __ptr64
?QueryParms@USER_11@@QEBAPEBGXZ
; public: unsigned int __cdecl USER_MODALS::QueryPasswdHistLen(void)const  __ptr64
?QueryPasswdHistLen@USER_MODALS@@QEBAIXZ
; public: unsigned short const * __ptr64 __cdecl SHARE_2::QueryPassword(void)const  __ptr64
?QueryPassword@SHARE_2@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl USER_2::QueryPassword(void)const  __ptr64
?QueryPassword@USER_2@@QEBAPEBGXZ
; public: unsigned long __cdecl USER_3::QueryPasswordExpired(void)const  __ptr64
?QueryPasswordExpired@USER_3@@QEBAKXZ
; public: unsigned short const * __ptr64 __cdecl SHARE_2::QueryPath(void)const  __ptr64
?QueryPath@SHARE_2@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl FILE3_ENUM_OBJ::QueryPathName(void)const  __ptr64
?QueryPathName@FILE3_ENUM_OBJ@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LM_FILE_3::QueryPathname(void)const  __ptr64
?QueryPathname@LM_FILE_3@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
?QueryPch@NLS_STR@@QEBAPEBGXZ
; public: unsigned int __cdecl NET_ACCESS_1::QueryPerm(unsigned short const * __ptr64,enum PERMNAME_TYPE)const  __ptr64
?QueryPerm@NET_ACCESS_1@@QEBAIPEBGW4PERMNAME_TYPE@@@Z
; public: unsigned int __cdecl LM_FILE_3::QueryPermission(void)const  __ptr64
?QueryPermission@LM_FILE_3@@QEBAIXZ
; public: unsigned int __cdecl SHARE_2::QueryPermissions(void)const  __ptr64
?QueryPermissions@SHARE_2@@QEBAIXZ
; public: long __cdecl LSA_TRUSTED_DOMAIN::QueryPosixOffset(unsigned long * __ptr64)const  __ptr64
?QueryPosixOffset@LSA_TRUSTED_DOMAIN@@QEBAJPEAK@Z
; public: long __cdecl LSA_POLICY::QueryPrimaryBrowserGroup(class NLS_STR * __ptr64)const  __ptr64
?QueryPrimaryBrowserGroup@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
; public: long __cdecl LSA_POLICY::QueryPrimaryDomainName(class NLS_STR * __ptr64)const  __ptr64
?QueryPrimaryDomainName@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
; public: unsigned long __cdecl USER_3::QueryPrimaryGroupId(void)const  __ptr64
?QueryPrimaryGroupId@USER_3@@QEBAKXZ
; public: virtual unsigned int __cdecl LOCAL_USER::QueryPriv(void)const  __ptr64
?QueryPriv@LOCAL_USER@@UEBAIXZ
; public: virtual unsigned int __cdecl USER_11::QueryPriv(void)const  __ptr64
?QueryPriv@USER_11@@UEBAIXZ
; public: struct _PRIVILEGE_SET * __ptr64 __cdecl OS_PRIVILEGE_SET::QueryPrivSet(void)const  __ptr64
?QueryPrivSet@OS_PRIVILEGE_SET@@QEBAPEAU_PRIVILEGE_SET@@XZ
; public: class OS_LUID_AND_ATTRIBUTES const * __ptr64 __cdecl OS_PRIVILEGE_SET::QueryPrivilege(long) __ptr64
?QueryPrivilege@OS_PRIVILEGE_SET@@QEAAPEBVOS_LUID_AND_ATTRIBUTES@@J@Z
; public: long __cdecl LSA_ACCOUNT::QueryPrivilegeEnumIter(class LSA_ACCOUNT_PRIVILEGE_ENUM_ITER * __ptr64 * __ptr64) __ptr64
?QueryPrivilegeEnumIter@LSA_ACCOUNT@@QEAAJPEAPEAVLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@@Z
; public: static long __cdecl LSA_POLICY::QueryProductType(enum LSPL_PROD_TYPE * __ptr64)
?QueryProductType@LSA_POLICY@@SAJPEAW4LSPL_PROD_TYPE@@@Z
; public: unsigned short const * __ptr64 __cdecl USER_3::QueryProfile(void)const  __ptr64
?QueryProfile@USER_3@@QEBAPEBGXZ
; protected: unsigned char * __ptr64 __cdecl LM_ENUM::QueryPtr(void)const  __ptr64
?QueryPtr@LM_ENUM@@IEBAPEAEXZ
; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
; public: struct _POLICY_AUDIT_EVENTS_INFO * __ptr64 __cdecl LSA_AUDIT_EVENT_INFO_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_AUDIT_EVENT_INFO_MEM@@QEBAPEAU_POLICY_AUDIT_EVENTS_INFO@@XZ
; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
; private: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_REF_DOMAIN_MEM@@AEBAPEBU_LSA_TRUST_INFORMATION@@XZ
; public: struct _POLICY_LSA_SERVER_ROLE_INFO const * __ptr64 __cdecl LSA_SERVER_ROLE_INFO_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_SERVER_ROLE_INFO_MEM@@QEBAPEBU_POLICY_LSA_SERVER_ROLE_INFO@@XZ
; private: struct _LSA_TRANSLATED_NAME const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_LSA_TRANSLATED_NAME@@XZ
; private: struct _LSA_TRANSLATED_SID const * __ptr64 __cdecl LSA_TRANSLATED_SID_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_TRANSLATED_SID_MEM@@AEBAPEBU_LSA_TRANSLATED_SID@@XZ
; public: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@LSA_TRUST_INFO_MEM@@QEBAPEBU_LSA_TRUST_INFORMATION@@XZ
; protected: void * __ptr64 __cdecl OS_OBJECT_WITH_DATA::QueryPtr(void)const  __ptr64
?QueryPtr@OS_OBJECT_WITH_DATA@@IEBAPEAXXZ
; public: struct _DOMAIN_PASSWORD_INFORMATION const * __ptr64 __cdecl SAM_PSWD_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@SAM_PSWD_DOM_INFO_MEM@@QEBAPEBU_DOMAIN_PASSWORD_INFORMATION@@XZ
; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryPtr(void)const  __ptr64
?QueryPtr@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
; public: unsigned long __cdecl SAM_ALIAS::QueryRID(void) __ptr64
?QueryRID@SAM_ALIAS@@QEAAKXZ
; public: long __cdecl OS_SID::QueryRawID(class NLS_STR * __ptr64)const  __ptr64
?QueryRawID@OS_SID@@QEBAJPEAVNLS_STR@@@Z
; public: long __cdecl NET_NAME::QueryRelativePath(class NLS_STR * __ptr64) __ptr64
?QueryRelativePath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: unsigned short const * __ptr64 __cdecl DEVICE::QueryRemoteName(void)const  __ptr64
?QueryRemoteName@DEVICE@@QEBAPEBGXZ
; public: unsigned int __cdecl DEVICE::QueryRemoteType(void)const  __ptr64
?QueryRemoteType@DEVICE@@QEBAIXZ
; private: unsigned int __cdecl NET_ACCESS_1::QueryRequiredSpace(unsigned int)const  __ptr64
?QueryRequiredSpace@NET_ACCESS_1@@AEBAII@Z
; public: unsigned int __cdecl SHARE_1::QueryResourceType(void)const  __ptr64
?QueryResourceType@SHARE_1@@QEBAIXZ
; public: static unsigned long __cdecl OS_ACE::QueryRevision(void)
?QueryRevision@OS_ACE@@SAKXZ
; public: unsigned long const  __cdecl ALIAS_ENUM_OBJ::QueryRid(void)const  __ptr64
?QueryRid@ALIAS_ENUM_OBJ@@QEBA?BKXZ
; public: long __cdecl OS_SECURITY_DESCRIPTOR::QuerySACL(int * __ptr64,class OS_ACL * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
?QuerySACL@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_ACL@@0@Z
; public: long __cdecl OS_ACE::QuerySID(class OS_SID * __ptr64 * __ptr64)const  __ptr64
?QuerySID@OS_ACE@@QEBAJPEAPEAVOS_SID@@@Z
; public: class OS_SID const * __ptr64 __cdecl OS_ACL_SUBJECT_ITER::QuerySID(void)const  __ptr64
?QuerySID@OS_ACL_SUBJECT_ITER@@QEBAPEBVOS_SID@@XZ
; protected: void * __ptr64 __cdecl OS_ACE::QuerySIDMemory(void)const  __ptr64
?QuerySIDMemory@OS_ACE@@IEBAPEAXXZ
; public: class SAM_SERVER * __ptr64 __cdecl ADMIN_AUTHORITY::QuerySamServer(void)const  __ptr64
?QuerySamServer@ADMIN_AUTHORITY@@QEBAPEAVSAM_SERVER@@XZ
; public: unsigned short const * __ptr64 __cdecl USER_2::QueryScriptPath(void)const  __ptr64
?QueryScriptPath@USER_2@@QEBAPEBGXZ
; public: long __cdecl SC_SERVICE::QuerySecurity(unsigned long,void * __ptr64 * __ptr64) __ptr64
?QuerySecurity@SC_SERVICE@@QEAAJKPEAPEAX@Z
; public: unsigned int __cdecl SERVER_2::QuerySecurity(void)const  __ptr64
?QuerySecurity@SERVER_2@@QEBAIXZ
; public: unsigned short const * __ptr64 __cdecl DEVICE::QueryServer(void)const  __ptr64
?QueryServer@DEVICE@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LM_FILE::QueryServer(void)const  __ptr64
?QueryServer@LM_FILE@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LM_SESSION::QueryServer(void)const  __ptr64
?QueryServer@LM_SESSION@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryServer(void)const  __ptr64
?QueryServer@LOCATION@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LOC_LM_ENUM::QueryServer(void)const  __ptr64
?QueryServer@LOC_LM_ENUM@@QEBAPEBGXZ
; protected: unsigned short const * __ptr64 __cdecl LOC_LM_OBJ::QueryServer(void)const  __ptr64
?QueryServer@LOC_LM_OBJ@@IEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LOC_LM_RESUME_ENUM::QueryServer(void)const  __ptr64
?QueryServer@LOC_LM_RESUME_ENUM@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl SHARE::QueryServer(void)const  __ptr64
?QueryServer@SHARE@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LM_SERVICE::QueryServerName(void)const  __ptr64
?QueryServerName@LM_SERVICE@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl NET_ACCESS::QueryServerName(void)const  __ptr64
?QueryServerName@NET_ACCESS@@QEBAPEBGXZ
; public: long __cdecl NET_NAME::QueryServerShare(class NLS_STR * __ptr64) __ptr64
?QueryServerShare@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: unsigned long __cdecl SERVER1_ENUM_OBJ::QueryServerType(void)const  __ptr64
?QueryServerType@SERVER1_ENUM_OBJ@@QEBAKXZ
; public: unsigned long __cdecl SERVER_1::QueryServerType(void)const  __ptr64
?QueryServerType@SERVER_1@@QEBAKXZ
; public: long __cdecl SC_MANAGER::QueryServiceDisplayName(unsigned short const * __ptr64,class NLS_STR * __ptr64) __ptr64
?QueryServiceDisplayName@SC_MANAGER@@QEAAJPEBGPEAVNLS_STR@@@Z
; public: long __cdecl SC_MANAGER::QueryServiceKeyName(unsigned short const * __ptr64,class NLS_STR * __ptr64) __ptr64
?QueryServiceKeyName@SC_MANAGER@@QEAAJPEBGPEAVNLS_STR@@@Z
; public: long __cdecl NET_NAME::QueryShare(class NLS_STR * __ptr64) __ptr64
?QueryShare@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: void * __ptr64 __cdecl OS_SID::QuerySid(void)const  __ptr64
?QuerySid@OS_SID@@QEBAPEAXXZ
; public: unsigned short __cdecl OS_ACE::QuerySize(void)const  __ptr64
?QuerySize@OS_ACE@@QEBAGXZ
; public: long __cdecl OS_ACL::QuerySizeInformation(struct _ACL_SIZE_INFORMATION * __ptr64)const  __ptr64
?QuerySizeInformation@OS_ACL@@QEBAJPEAU_ACL_SIZE_INFORMATION@@@Z
; public: enum LMO_DEV_STATE  __cdecl DEVICE::QueryState(void)const  __ptr64
?QueryState@DEVICE@@QEBA?AW4LMO_DEV_STATE@@XZ
; public: unsigned int __cdecl DEVICE::QueryStatus(void)const  __ptr64
?QueryStatus@DEVICE@@QEBAIXZ
; public: enum LM_SERVICE_STATUS  __cdecl LM_SERVICE::QueryStatus(long * __ptr64) __ptr64
?QueryStatus@LM_SERVICE@@QEAA?AW4LM_SERVICE_STATUS@@PEAJ@Z
; public: long __cdecl SC_SERVICE::QueryStatus(struct _SERVICE_STATUS * __ptr64) __ptr64
?QueryStatus@SC_SERVICE@@QEAAJPEAU_SERVICE_STATUS@@@Z
; public: long __cdecl OS_SID::QuerySubAuthority(unsigned char,unsigned long * __ptr64 * __ptr64)const  __ptr64
?QuerySubAuthority@OS_SID@@QEBAJEPEAPEAK@Z
; public: long __cdecl OS_SID::QuerySubAuthorityCount(unsigned char * __ptr64 * __ptr64)const  __ptr64
?QuerySubAuthorityCount@OS_SID@@QEBAJPEAPEAE@Z
; public: static long __cdecl NT_ACCOUNTS_UTILITY::QuerySystemSid(enum UI_SystemSid,class OS_SID * __ptr64,unsigned short const * __ptr64)
?QuerySystemSid@NT_ACCOUNTS_UTILITY@@SAJW4UI_SystemSid@@PEAVOS_SID@@PEBG@Z
; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
?QueryTextLength@NLS_STR@@QEBAIXZ
; public: unsigned long __cdecl USER_MODALS_3::QueryThreshold(void)const  __ptr64
?QueryThreshold@USER_MODALS_3@@QEBAKXZ
; public: unsigned long __cdecl LM_SESSION_10::QueryTime(void)const  __ptr64
?QueryTime@LM_SESSION_10@@QEBAKXZ
; protected: unsigned long __cdecl OS_ACL_SUBJECT_ITER::QueryTotalAceCount(void)const  __ptr64
?QueryTotalAceCount@OS_ACL_SUBJECT_ITER@@IEBAKXZ
; public: unsigned int __cdecl LM_RESUME_ENUM::QueryTotalItemCount(void)const  __ptr64
?QueryTotalItemCount@LM_RESUME_ENUM@@QEBAIXZ
; public: unsigned int __cdecl DEVICE::QueryType(void)const  __ptr64
?QueryType@DEVICE@@QEBAIXZ
; public: unsigned char __cdecl OS_ACE::QueryType(void)const  __ptr64
?QueryType@OS_ACE@@QEBAEXZ
; public: long __cdecl NET_NAME::QueryUNCPath(class NLS_STR * __ptr64) __ptr64
?QueryUNCPath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_MACHINE_ENUM_OBJ::QueryUnicodeMachine(void)const  __ptr64
?QueryUnicodeMachine@NT_MACHINE_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
?QueryUnicodeName@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const  __ptr64
?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const  __ptr64
?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const  __ptr64
?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
; public: struct _UNICODE_STRING const * __ptr64 __cdecl SAM_USER_ENUM_OBJ::QueryUnicodeUserName(void)const  __ptr64
?QueryUnicodeUserName@SAM_USER_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const  __ptr64
?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QEBAIXZ
; private: struct _DOMAIN_PASSWORD_INFORMATION * __ptr64 __cdecl SAM_PSWD_DOM_INFO_MEM::QueryUpdatePtr(void)const  __ptr64
?QueryUpdatePtr@SAM_PSWD_DOM_INFO_MEM@@AEBAPEAU_DOMAIN_PASSWORD_INFORMATION@@XZ
; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const  __ptr64
?QueryUse@LSA_TRANSLATED_NAME_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
; public: int __cdecl USER_2::QueryUserCantChangePass(void)const  __ptr64
?QueryUserCantChangePass@USER_2@@QEBAHXZ
; public: unsigned short const * __ptr64 __cdecl USER_11::QueryUserComment(void)const  __ptr64
?QueryUserComment@USER_11@@QEBAPEBGXZ
; protected: int __cdecl USER_2::QueryUserFlag(unsigned int)const  __ptr64
?QueryUserFlag@USER_2@@IEBAHI@Z
; public: unsigned long __cdecl LM_SESSION_1::QueryUserFlags(void)const  __ptr64
?QueryUserFlags@LM_SESSION_1@@QEBAKXZ
; public: unsigned int __cdecl USER_2::QueryUserFlags(void)const  __ptr64
?QueryUserFlags@USER_2@@QEBAIXZ
; public: unsigned long __cdecl USER_3::QueryUserId(void)const  __ptr64
?QueryUserId@USER_3@@QEBAKXZ
; public: long __cdecl SAM_USER_ENUM_OBJ::QueryUserName(class NLS_STR * __ptr64)const  __ptr64
?QueryUserName@SAM_USER_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryUserName(void)const  __ptr64
?QueryUserName@WKSTA_USER_1@@QEBAPEBGXZ
; public: int __cdecl USER_2::QueryUserPassRequired(void)const  __ptr64
?QueryUserPassRequired@USER_2@@QEBAHXZ
; public: unsigned short const * __ptr64 __cdecl LM_FILE_3::QueryUsername(void)const  __ptr64
?QueryUsername@LM_FILE_3@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl LM_SESSION_10::QueryUsername(void)const  __ptr64
?QueryUsername@LM_SESSION_10@@QEBAPEBGXZ
; public: long __cdecl LM_CONFIG::QueryValue(class NLS_STR * __ptr64,unsigned short const * __ptr64) __ptr64
?QueryValue@LM_CONFIG@@QEAAJPEAVNLS_STR@@PEBG@Z
; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryWkstaDomain(void)const  __ptr64
?QueryWkstaDomain@WKSTA_10@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl USER_11::QueryWorkstations(void)const  __ptr64
?QueryWorkstations@USER_11@@QEBAPEBGXZ
; private: void __cdecl LM_ENUM::RegisterIter(void) __ptr64
?RegisterIter@LM_ENUM@@AEAAXXZ
; private: void __cdecl LM_RESUME_ENUM::RegisterIter(void) __ptr64
?RegisterIter@LM_RESUME_ENUM@@AEAAXXZ
; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR & __ptr64) __ptr64
?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAVITER_SL_NLS_STR@@@Z
; public: long __cdecl SAM_ALIAS::RemoveMember(void * __ptr64) __ptr64
?RemoveMember@SAM_ALIAS@@QEAAJPEAX@Z
; public: long __cdecl SAM_GROUP::RemoveMember(unsigned long) __ptr64
?RemoveMember@SAM_GROUP@@QEAAJK@Z
; public: long __cdecl SAM_DOMAIN::RemoveMemberFromAliases(void * __ptr64) __ptr64
?RemoveMemberFromAliases@SAM_DOMAIN@@QEAAJPEAX@Z
; public: long __cdecl SAM_ALIAS::RemoveMembers(void * __ptr64 * __ptr64,unsigned int) __ptr64
?RemoveMembers@SAM_ALIAS@@QEAAJPEAPEAXI@Z
; public: long __cdecl SAM_GROUP::RemoveMembers(unsigned long * __ptr64,unsigned int) __ptr64
?RemoveMembers@SAM_GROUP@@QEAAJPEAKI@Z
; public: long __cdecl OS_PRIVILEGE_SET::RemovePrivilege(long) __ptr64
?RemovePrivilege@OS_PRIVILEGE_SET@@QEAAJJ@Z
; public: long __cdecl OS_PRIVILEGE_SET::RemovePrivilege(struct _LUID) __ptr64
?RemovePrivilege@OS_PRIVILEGE_SET@@QEAAJU_LUID@@@Z
; public: long __cdecl USER::Rename(unsigned short const * __ptr64) __ptr64
?Rename@USER@@QEAAJPEBG@Z
; public: long __cdecl ADMIN_AUTHORITY::ReplaceAccountDomain(unsigned long) __ptr64
?ReplaceAccountDomain@ADMIN_AUTHORITY@@QEAAJK@Z
; public: long __cdecl ADMIN_AUTHORITY::ReplaceBuiltinDomain(unsigned long) __ptr64
?ReplaceBuiltinDomain@ADMIN_AUTHORITY@@QEAAJK@Z
; public: long __cdecl ADMIN_AUTHORITY::ReplaceLSAPolicy(unsigned long) __ptr64
?ReplaceLSAPolicy@ADMIN_AUTHORITY@@QEAAJK@Z
; public: long __cdecl ADMIN_AUTHORITY::ReplaceSamServer(unsigned long) __ptr64
?ReplaceSamServer@ADMIN_AUTHORITY@@QEAAJK@Z
; protected: void __cdecl BASE::ReportError(long) __ptr64
?ReportError@BASE@@IEAAXJ@Z
; protected: void __cdecl NEW_LM_OBJ::ReportError(long) __ptr64
?ReportError@NEW_LM_OBJ@@IEAAXJ@Z
; public: void __cdecl BROWSE_DOMAIN_ENUM::Reset(void) __ptr64
?Reset@BROWSE_DOMAIN_ENUM@@QEAAXXZ
; public: void __cdecl OS_ACL_SUBJECT_ITER::Reset(void) __ptr64
?Reset@OS_ACL_SUBJECT_ITER@@QEAAXXZ
; protected: void __cdecl LSA_OBJECT::ResetHandle(void) __ptr64
?ResetHandle@LSA_OBJECT@@IEAAXXZ
; protected: void __cdecl SAM_OBJECT::ResetHandle(void) __ptr64
?ResetHandle@SAM_OBJECT@@IEAAXXZ
; protected: long __cdecl OS_OBJECT_WITH_DATA::Resize(unsigned int) __ptr64
?Resize@OS_OBJECT_WITH_DATA@@IEAAJI@Z
; protected: long __cdecl NEW_LM_OBJ::ResizeBuffer(unsigned int) __ptr64
?ResizeBuffer@NEW_LM_OBJ@@IEAAJI@Z
; public: long __cdecl LM_MESSAGE::SendBuffer(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
?SendBuffer@LM_MESSAGE@@QEAAJPEBG0I@Z
; public: long __cdecl LM_MESSAGE::SendBuffer(unsigned short const * __ptr64,class BUFFER const & __ptr64) __ptr64
?SendBuffer@LM_MESSAGE@@QEAAJPEBGAEBVBUFFER@@@Z
; public: long __cdecl LOCATION::Set(class LOCATION const & __ptr64) __ptr64
?Set@LOCATION@@QEAAJAEBV1@@Z
; public: virtual void __cdecl LSA_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
?Set@LSA_MEMORY@@UEAAXPEAXK@Z
; public: virtual void __cdecl NT_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
?Set@NT_MEMORY@@UEAAXPEAXK@Z
; public: virtual void __cdecl SAM_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
?Set@SAM_MEMORY@@UEAAXPEAXK@Z
; private: long __cdecl NET_NAME::SetABSPath(unsigned short const * __ptr64) __ptr64
?SetABSPath@NET_NAME@@AEAAJPEBG@Z
; public: void __cdecl OS_ACE::SetAccessMask(unsigned long) __ptr64
?SetAccessMask@OS_ACE@@QEAAXK@Z
; public: long __cdecl USER_2::SetAccountDisabled(int) __ptr64
?SetAccountDisabled@USER_2@@QEAAJH@Z
; public: long __cdecl LSA_POLICY::SetAccountDomain(class LSA_ACCT_DOM_INFO_MEM const * __ptr64) __ptr64
?SetAccountDomain@LSA_POLICY@@QEAAJPEBVLSA_ACCT_DOM_INFO_MEM@@@Z
; public: long __cdecl LSA_POLICY::SetAccountDomainName(class NLS_STR const * __ptr64,void * __ptr64 const * __ptr64) __ptr64
?SetAccountDomainName@LSA_POLICY@@QEAAJPEBVNLS_STR@@PEBQEAX@Z
; public: long __cdecl USER_2::SetAccountExpires(long) __ptr64
?SetAccountExpires@USER_2@@QEAAJJ@Z
; public: long __cdecl USER_3::SetAccountType(enum _ACCOUNT_TYPE) __ptr64
?SetAccountType@USER_3@@QEAAJW4_ACCOUNT_TYPE@@@Z
; protected: void __cdecl SHARE_1::SetAdminOnly(int) __ptr64
?SetAdminOnly@SHARE_1@@IEAAXH@Z
; public: long __cdecl LSA_POLICY::SetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM * __ptr64) __ptr64
?SetAuditEventInfo@LSA_POLICY@@QEAAJPEAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
; public: long __cdecl NET_ACCESS_1::SetAuditFlags(short) __ptr64
?SetAuditFlags@NET_ACCESS_1@@QEAAJF@Z
; public: long __cdecl USER_11::SetAuthFlags(unsigned long) __ptr64
?SetAuthFlags@USER_11@@QEAAJK@Z
; protected: void __cdecl DEVICE::SetBufPtr(unsigned char * __ptr64) __ptr64
?SetBufPtr@DEVICE@@IEAAXPEAE@Z
; public: void __cdecl ALIAS_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const * __ptr64) __ptr64
?SetBufferPtr@ALIAS_ENUM_OBJ@@QEAAXPEBU_SAM_RID_ENUMERATION@@@Z
; public: void __cdecl CHARDEVQ1_ENUM_OBJ::SetBufferPtr(struct _CHARDEVQ_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@CHARDEVQ1_ENUM_OBJ@@QEAAXPEBU_CHARDEVQ_INFO_1@@@Z
; public: void __cdecl CONN0_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_0 const * __ptr64) __ptr64
?SetBufferPtr@CONN0_ENUM_OBJ@@QEAAXPEBU_CONNECTION_INFO_0@@@Z
; public: void __cdecl CONN1_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@CONN1_ENUM_OBJ@@QEAAXPEBU_CONNECTION_INFO_1@@@Z
; public: void __cdecl CONTEXT_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const * __ptr64) __ptr64
?SetBufferPtr@CONTEXT_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_101@@@Z
; public: void __cdecl DOMAIN0_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_100 const * __ptr64) __ptr64
?SetBufferPtr@DOMAIN0_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_100@@@Z
; protected: void __cdecl ENUM_OBJ_BASE::SetBufferPtr(unsigned char const * __ptr64) __ptr64
?SetBufferPtr@ENUM_OBJ_BASE@@IEAAXPEBE@Z
; public: void __cdecl FILE2_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_2 const * __ptr64) __ptr64
?SetBufferPtr@FILE2_ENUM_OBJ@@QEAAXPEBU_FILE_INFO_2@@@Z
; public: void __cdecl FILE3_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_3 const * __ptr64) __ptr64
?SetBufferPtr@FILE3_ENUM_OBJ@@QEAAXPEBU_FILE_INFO_3@@@Z
; public: void __cdecl GROUP0_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_0 const * __ptr64) __ptr64
?SetBufferPtr@GROUP0_ENUM_OBJ@@QEAAXPEBU_GROUP_INFO_0@@@Z
; public: void __cdecl GROUP1_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@GROUP1_ENUM_OBJ@@QEAAXPEBU_GROUP_INFO_1@@@Z
; public: void __cdecl LSA_ACCOUNTS_ENUM_OBJ::SetBufferPtr(void * __ptr64 const * __ptr64) __ptr64
?SetBufferPtr@LSA_ACCOUNTS_ENUM_OBJ@@QEAAXPEBQEAX@Z
; public: void __cdecl LSA_PRIVILEGES_ENUM_OBJ::SetBufferPtr(struct _POLICY_PRIVILEGE_DEFINITION const * __ptr64) __ptr64
?SetBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QEAAXPEBU_POLICY_PRIVILEGE_DEFINITION@@@Z
; protected: void __cdecl NEW_LM_OBJ::SetBufferPtr(unsigned char * __ptr64) __ptr64
?SetBufferPtr@NEW_LM_OBJ@@IEAAXPEAE@Z
; public: void __cdecl NT_GROUP_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_GROUP const * __ptr64) __ptr64
?SetBufferPtr@NT_GROUP_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_GROUP@@@Z
; public: void __cdecl NT_MACHINE_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_MACHINE const * __ptr64) __ptr64
?SetBufferPtr@NT_MACHINE_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_MACHINE@@@Z
; public: void __cdecl NT_USER_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_USER const * __ptr64) __ptr64
?SetBufferPtr@NT_USER_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_USER@@@Z
; public: void __cdecl SAM_USER_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const * __ptr64) __ptr64
?SetBufferPtr@SAM_USER_ENUM_OBJ@@QEAAXPEBU_SAM_RID_ENUMERATION@@@Z
; public: void __cdecl SERVER1_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const * __ptr64) __ptr64
?SetBufferPtr@SERVER1_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_101@@@Z
; protected: void __cdecl SERVICE_ENUM_OBJ::SetBufferPtr(struct _ENUM_SVC_STATUS const * __ptr64) __ptr64
?SetBufferPtr@SERVICE_ENUM_OBJ@@IEAAXPEBU_ENUM_SVC_STATUS@@@Z
; public: void __cdecl SESSION0_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_0 const * __ptr64) __ptr64
?SetBufferPtr@SESSION0_ENUM_OBJ@@QEAAXPEBU_SESSION_INFO_0@@@Z
; public: void __cdecl SESSION1_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@SESSION1_ENUM_OBJ@@QEAAXPEBU_SESSION_INFO_1@@@Z
; public: void __cdecl SHARE1_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@SHARE1_ENUM_OBJ@@QEAAXPEBU_SHARE_INFO_1@@@Z
; public: void __cdecl SHARE2_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_2 const * __ptr64) __ptr64
?SetBufferPtr@SHARE2_ENUM_OBJ@@QEAAXPEBU_SHARE_INFO_2@@@Z
; public: void __cdecl TRIPLE_SERVER_ENUM_OBJ::SetBufferPtr(struct _TRIPLE_SERVER_INFO const * __ptr64) __ptr64
?SetBufferPtr@TRIPLE_SERVER_ENUM_OBJ@@QEAAXPEBU_TRIPLE_SERVER_INFO@@@Z
; public: void __cdecl TRUSTED_DOMAIN_ENUM_OBJ::SetBufferPtr(struct _LSA_TRUST_INFORMATION const * __ptr64) __ptr64
?SetBufferPtr@TRUSTED_DOMAIN_ENUM_OBJ@@QEAAXPEBU_LSA_TRUST_INFORMATION@@@Z
; public: void __cdecl USE1_ENUM_OBJ::SetBufferPtr(struct _USE_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@USE1_ENUM_OBJ@@QEAAXPEBU_USE_INFO_1@@@Z
; public: void __cdecl USER0_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_0 const * __ptr64) __ptr64
?SetBufferPtr@USER0_ENUM_OBJ@@QEAAXPEBU_USER_INFO_0@@@Z
; public: void __cdecl USER10_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_10 const * __ptr64) __ptr64
?SetBufferPtr@USER10_ENUM_OBJ@@QEAAXPEBU_USER_INFO_10@@@Z
; public: void __cdecl USER1_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_1 const * __ptr64) __ptr64
?SetBufferPtr@USER1_ENUM_OBJ@@QEAAXPEBU_USER_INFO_1@@@Z
; public: void __cdecl USER2_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_2 const * __ptr64) __ptr64
?SetBufferPtr@USER2_ENUM_OBJ@@QEAAXPEBU_USER_INFO_2@@@Z
; protected: long __cdecl LM_SESSION_2::SetClientType(unsigned short const * __ptr64) __ptr64
?SetClientType@LM_SESSION_2@@IEAAJPEBG@Z
; public: long __cdecl GROUP_1::SetComment(unsigned short const * __ptr64) __ptr64
?SetComment@GROUP_1@@QEAAJPEBG@Z
; public: long __cdecl SAM_ALIAS::SetComment(class NLS_STR const * __ptr64) __ptr64
?SetComment@SAM_ALIAS@@QEAAJPEBVNLS_STR@@@Z
; public: long __cdecl SERVER_1::SetComment(unsigned short const * __ptr64) __ptr64
?SetComment@SERVER_1@@QEAAJPEBG@Z
; public: long __cdecl SHARE_1::SetComment(unsigned short const * __ptr64) __ptr64
?SetComment@SHARE_1@@QEAAJPEBG@Z
; public: long __cdecl USER_11::SetComment(unsigned short const * __ptr64) __ptr64
?SetComment@USER_11@@QEAAJPEBG@Z
; public: long __cdecl LSA_TRUSTED_DOMAIN::SetControllerList(struct _TRUSTED_CONTROLLERS_INFO const & __ptr64) __ptr64
?SetControllerList@LSA_TRUSTED_DOMAIN@@QEAAJAEBU_TRUSTED_CONTROLLERS_INFO@@@Z
; public: long __cdecl LSA_TRUSTED_DOMAIN::SetControllerList(class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
?SetControllerList@LSA_TRUSTED_DOMAIN@@QEAAJPEAVLSA_REF_DOMAIN_MEM@@@Z
; protected: void __cdecl ENUM_CALLER::SetCount(unsigned int) __ptr64
?SetCount@ENUM_CALLER@@IEAAXI@Z
; protected: void __cdecl OS_ACL_SUBJECT_ITER::SetCurrentACE(unsigned long) __ptr64
?SetCurrentACE@OS_ACL_SUBJECT_ITER@@IEAAXK@Z
; protected: long __cdecl SHARE_2::SetCurrentUses(unsigned int) __ptr64
?SetCurrentUses@SHARE_2@@IEAAJI@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetDACL(int,class OS_ACL const * __ptr64,int) __ptr64
?SetDACL@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_ACL@@H@Z
; protected: void __cdecl DEVICE::SetDevState(enum LMO_DEV_STATE) __ptr64
?SetDevState@DEVICE@@IEAAXW4LMO_DEV_STATE@@@Z
; protected: void __cdecl DEVICE::SetDevType(enum LMO_DEVICE) __ptr64
?SetDevType@DEVICE@@IEAAXW4LMO_DEVICE@@@Z
; protected: long __cdecl DEVICE2::SetDomainName(unsigned short const * __ptr64) __ptr64
?SetDomainName@DEVICE2@@IEAAJPEBG@Z
; public: long __cdecl USER_MODALS_3::SetDuration(unsigned long) __ptr64
?SetDuration@USER_MODALS_3@@QEAAJK@Z
; protected: long __cdecl LM_FILE::SetFileId(unsigned long) __ptr64
?SetFileId@LM_FILE@@IEAAJK@Z
; public: long __cdecl USER_MODALS::SetForceLogoff(unsigned long) __ptr64
?SetForceLogoff@USER_MODALS@@QEAAJK@Z
; public: long __cdecl USER_11::SetFullName(unsigned short const * __ptr64) __ptr64
?SetFullName@USER_11@@QEAAJPEBG@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetGroup(class OS_SID const & __ptr64,int) __ptr64
?SetGroup@OS_SECURITY_DESCRIPTOR@@QEAAJAEBVOS_SID@@H@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetGroup(int,class OS_SID const * __ptr64,int) __ptr64
?SetGroup@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_SID@@H@Z
; public: long __cdecl SAM_GROUP::SetGroupname(class NLS_STR const * __ptr64) __ptr64
?SetGroupname@SAM_GROUP@@QEAAJPEBVNLS_STR@@@Z
; protected: void __cdecl LSA_OBJECT::SetHandle(void * __ptr64) __ptr64
?SetHandle@LSA_OBJECT@@IEAAXPEAX@Z
; protected: void __cdecl SAM_OBJECT::SetHandle(void * __ptr64) __ptr64
?SetHandle@SAM_OBJECT@@IEAAXPEAX@Z
; protected: void __cdecl SERVICE_CONTROL::SetHandle(struct SC_HANDLE__ * __ptr64) __ptr64
?SetHandle@SERVICE_CONTROL@@IEAAXPEAUSC_HANDLE__@@@Z
; public: long __cdecl USER_11::SetHomeDir(unsigned short const * __ptr64) __ptr64
?SetHomeDir@USER_11@@QEAAJPEBG@Z
; public: long __cdecl USER_3::SetHomedirDrive(unsigned short const * __ptr64) __ptr64
?SetHomedirDrive@USER_3@@QEAAJPEBG@Z
; protected: void __cdecl LM_SESSION_10::SetIdleTime(unsigned long) __ptr64
?SetIdleTime@LM_SESSION_10@@IEAAXK@Z
; protected: virtual void __cdecl DEVICE2::SetInfo(void) __ptr64
?SetInfo@DEVICE2@@MEAAXXZ
; protected: virtual void __cdecl DEVICE::SetInfo(void) __ptr64
?SetInfo@DEVICE@@MEAAXXZ
; public: long __cdecl LSA_SECRET::SetInfo(class NLS_STR const * __ptr64,class NLS_STR const * __ptr64) __ptr64
?SetInfo@LSA_SECRET@@QEAAJPEBVNLS_STR@@0@Z
; public: void __cdecl OS_ACE::SetInheritOnly(int) __ptr64
?SetInheritOnly@OS_ACE@@QEAAXH@Z
; public: long __cdecl USER_2::SetLockout(int) __ptr64
?SetLockout@USER_2@@QEAAJH@Z
; public: long __cdecl WKSTA_USER_1::SetLogonDomain(unsigned short const * __ptr64) __ptr64
?SetLogonDomain@WKSTA_USER_1@@QEAAJPEBG@Z
; public: long __cdecl USER_11::SetLogonHours(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
?SetLogonHours@USER_11@@QEAAJAEBVLOGON_HOURS_SETTING@@@Z
; public: long __cdecl USER_11::SetLogonHours(unsigned char const * __ptr64,unsigned int) __ptr64
?SetLogonHours@USER_11@@QEAAJPEBEI@Z
; public: long __cdecl WKSTA_USER_1::SetLogonServer(unsigned short const * __ptr64) __ptr64
?SetLogonServer@WKSTA_USER_1@@QEAAJPEBG@Z
; public: void __cdecl OS_LUID_AND_ATTRIBUTES::SetLuidAndAttrib(struct _LUID_AND_ATTRIBUTES) __ptr64
?SetLuidAndAttrib@OS_LUID_AND_ATTRIBUTES@@QEAAXU_LUID_AND_ATTRIBUTES@@@Z
; protected: void __cdecl SERVER_1::SetMajorMinorVer(unsigned int,unsigned int) __ptr64
?SetMajorMinorVer@SERVER_1@@IEAAXII@Z
; public: long __cdecl USER_MODALS::SetMaxPasswdAge(unsigned long) __ptr64
?SetMaxPasswdAge@USER_MODALS@@QEAAJK@Z
; protected: void __cdecl SERVER_2::SetMaxUsers(unsigned int) __ptr64
?SetMaxUsers@SERVER_2@@IEAAXI@Z
; public: long __cdecl SHARE_2::SetMaxUses(unsigned int) __ptr64
?SetMaxUses@SHARE_2@@QEAAJI@Z
; public: long __cdecl USER_MODALS::SetMinPasswdAge(unsigned long) __ptr64
?SetMinPasswdAge@USER_MODALS@@QEAAJK@Z
; public: long __cdecl USER_MODALS::SetMinPasswdLen(unsigned int) __ptr64
?SetMinPasswdLen@USER_MODALS@@QEAAJI@Z
; public: long __cdecl COMPUTER::SetName(unsigned short const * __ptr64) __ptr64
?SetName@COMPUTER@@QEAAJPEBG@Z
; public: long __cdecl GROUP::SetName(unsigned short const * __ptr64) __ptr64
?SetName@GROUP@@QEAAJPEBG@Z
; public: long __cdecl GROUP_MEMB::SetName(unsigned short const * __ptr64) __ptr64
?SetName@GROUP_MEMB@@QEAAJPEBG@Z
; protected: long __cdecl LM_SERVICE::SetName(unsigned short const * __ptr64) __ptr64
?SetName@LM_SERVICE@@IEAAJPEBG@Z
; protected: long __cdecl LM_SESSION::SetName(unsigned short const * __ptr64) __ptr64
?SetName@LM_SESSION@@IEAAJPEBG@Z
; public: long __cdecl NET_ACCESS::SetName(unsigned short const * __ptr64) __ptr64
?SetName@NET_ACCESS@@QEAAJPEBG@Z
; protected: long __cdecl SHARE::SetName(unsigned short const * __ptr64) __ptr64
?SetName@SHARE@@IEAAJPEBG@Z
; public: long __cdecl USER::SetName(unsigned short const * __ptr64) __ptr64
?SetName@USER@@QEAAJPEBG@Z
; public: long __cdecl USER_MEMB::SetName(unsigned short const * __ptr64) __ptr64
?SetName@USER_MEMB@@QEAAJPEBG@Z
; public: void __cdecl SAM_PSWD_DOM_INFO_MEM::SetNoAnonChange(int) __ptr64
?SetNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QEAAXH@Z
; public: long __cdecl USER_2::SetNoPasswordExpire(int) __ptr64
?SetNoPasswordExpire@USER_2@@QEAAJH@Z
; protected: void __cdecl LM_SESSION_1::SetNumOpens(unsigned int) __ptr64
?SetNumOpens@LM_SESSION_1@@IEAAXI@Z
; public: long __cdecl USER_MODALS_3::SetObservation(unsigned long) __ptr64
?SetObservation@USER_MODALS_3@@QEAAJK@Z
; public: long __cdecl WKSTA_USER_1::SetOtherDomains(unsigned short const * __ptr64) __ptr64
?SetOtherDomains@WKSTA_USER_1@@QEAAJPEBG@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetOwner(class OS_SID const & __ptr64,int) __ptr64
?SetOwner@OS_SECURITY_DESCRIPTOR@@QEAAJAEBVOS_SID@@H@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetOwner(int,class OS_SID const * __ptr64,int) __ptr64
?SetOwner@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_SID@@H@Z
; public: long __cdecl USER_11::SetParms(unsigned short const * __ptr64) __ptr64
?SetParms@USER_11@@QEAAJPEBG@Z
; public: long __cdecl USER_MODALS::SetPasswdHistLen(unsigned int) __ptr64
?SetPasswdHistLen@USER_MODALS@@QEAAJI@Z
; public: long __cdecl SAM_USER::SetPassword(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
?SetPassword@SAM_USER@@QEAAJAEBVNLS_STR@@0@Z
; public: long __cdecl SAM_USER::SetPassword(class NLS_STR const & __ptr64,int) __ptr64
?SetPassword@SAM_USER@@QEAAJAEBVNLS_STR@@H@Z
; public: long __cdecl SHARE_2::SetPassword(unsigned short const * __ptr64) __ptr64
?SetPassword@SHARE_2@@QEAAJPEBG@Z
; public: long __cdecl USER_2::SetPassword(unsigned short const * __ptr64) __ptr64
?SetPassword@USER_2@@QEAAJPEBG@Z
; public: long __cdecl USER_3::SetPasswordExpired(unsigned long) __ptr64
?SetPasswordExpired@USER_3@@QEAAJK@Z
; public: long __cdecl SAM_DOMAIN::SetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM const * __ptr64) __ptr64
?SetPasswordInfo@SAM_DOMAIN@@QEAAJPEBVSAM_PSWD_DOM_INFO_MEM@@@Z
; public: long __cdecl SHARE_2::SetPath(unsigned short const * __ptr64) __ptr64
?SetPath@SHARE_2@@QEAAJPEBG@Z
; public: long __cdecl NET_ACCESS_1::SetPerm(unsigned short const * __ptr64,enum PERMNAME_TYPE,unsigned int) __ptr64
?SetPerm@NET_ACCESS_1@@QEAAJPEBGW4PERMNAME_TYPE@@I@Z
; public: long __cdecl SHARE_2::SetPermissions(unsigned int) __ptr64
?SetPermissions@SHARE_2@@QEAAJI@Z
; public: long __cdecl LSA_TRUSTED_DOMAIN::SetPosixOffset(unsigned long) __ptr64
?SetPosixOffset@LSA_TRUSTED_DOMAIN@@QEAAJK@Z
; public: long __cdecl LSA_POLICY::SetPrimaryBrowserGroup(class NLS_STR const & __ptr64) __ptr64
?SetPrimaryBrowserGroup@LSA_POLICY@@QEAAJAEBVNLS_STR@@@Z
; public: long __cdecl LSA_POLICY::SetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM const * __ptr64) __ptr64
?SetPrimaryDomain@LSA_POLICY@@QEAAJPEBVLSA_PRIMARY_DOM_INFO_MEM@@@Z
; public: long __cdecl LSA_POLICY::SetPrimaryDomainName(class NLS_STR const * __ptr64,void * __ptr64 const * __ptr64) __ptr64
?SetPrimaryDomainName@LSA_POLICY@@QEAAJPEBVNLS_STR@@PEBQEAX@Z
; public: long __cdecl USER_3::SetPrimaryGroupId(unsigned long) __ptr64
?SetPrimaryGroupId@USER_3@@QEAAJK@Z
; public: long __cdecl USER_11::SetPriv(unsigned int) __ptr64
?SetPriv@USER_11@@QEAAJI@Z
; public: long __cdecl USER_3::SetProfile(unsigned short const * __ptr64) __ptr64
?SetProfile@USER_3@@QEAAJPEBG@Z
; public: long __cdecl OS_ACE::SetPtr(void * __ptr64) __ptr64
?SetPtr@OS_ACE@@QEAAJPEAX@Z
; public: void __cdecl OS_PRIVILEGE_SET::SetPtr(struct _PRIVILEGE_SET * __ptr64) __ptr64
?SetPtr@OS_PRIVILEGE_SET@@QEAAXPEAU_PRIVILEGE_SET@@@Z
; public: long __cdecl OS_SID::SetPtr(void * __ptr64) __ptr64
?SetPtr@OS_SID@@QEAAJPEAX@Z
; protected: void __cdecl DEVICE::SetRemoteName(unsigned short const * __ptr64) __ptr64
?SetRemoteName@DEVICE@@IEAAXPEBG@Z
; protected: void __cdecl DEVICE::SetRemoteType(unsigned int) __ptr64
?SetRemoteType@DEVICE@@IEAAXI@Z
; protected: long __cdecl SHARE_1::SetResourceType(unsigned int) __ptr64
?SetResourceType@SHARE_1@@IEAAJI@Z
; public: long __cdecl SHARE_2::SetResourceType(unsigned int) __ptr64
?SetResourceType@SHARE_2@@QEAAJI@Z
; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetSACL(int,class OS_ACL const * __ptr64,int) __ptr64
?SetSACL@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_ACL@@H@Z
; public: long __cdecl OS_ACE::SetSID(class OS_SID const & __ptr64) __ptr64
?SetSID@OS_ACE@@QEAAJAEBVOS_SID@@@Z
; public: long __cdecl USER_2::SetScriptPath(unsigned short const * __ptr64) __ptr64
?SetScriptPath@USER_2@@QEAAJPEBG@Z
; public: long __cdecl SC_SERVICE::SetSecurity(unsigned long,void * __ptr64 const) __ptr64
?SetSecurity@SC_SERVICE@@QEAAJKQEAX@Z
; protected: void __cdecl SERVER_2::SetSecurity(unsigned int) __ptr64
?SetSecurity@SERVER_2@@IEAAXI@Z
; protected: long __cdecl LM_FILE::SetServer(unsigned short const * __ptr64) __ptr64
?SetServer@LM_FILE@@IEAAJPEBG@Z
; protected: void __cdecl DEVICE::SetServerName(unsigned short const * __ptr64) __ptr64
?SetServerName@DEVICE@@IEAAXPEBG@Z
; protected: long __cdecl LM_SERVICE::SetServerName(unsigned short const * __ptr64) __ptr64
?SetServerName@LM_SERVICE@@IEAAJPEBG@Z
; public: long __cdecl NET_ACCESS::SetServerName(unsigned short const * __ptr64) __ptr64
?SetServerName@NET_ACCESS@@QEAAJPEBG@Z
; public: long __cdecl LSA_POLICY::SetServerRole(class LSA_SERVER_ROLE_INFO_MEM const * __ptr64) __ptr64
?SetServerRole@LSA_POLICY@@QEAAJPEBVLSA_SERVER_ROLE_INFO_MEM@@@Z
; protected: void __cdecl SERVER_1::SetServerType(unsigned long) __ptr64
?SetServerType@SERVER_1@@IEAAXK@Z
; public: long __cdecl LSA_POLICY::SetShutDownOnFull(int) __ptr64
?SetShutDownOnFull@LSA_POLICY@@QEAAJH@Z
; public: long __cdecl OS_ACE::SetSize(unsigned int) __ptr64
?SetSize@OS_ACE@@QEAAJI@Z
; protected: long __cdecl OS_ACL::SetSize(unsigned int,int) __ptr64
?SetSize@OS_ACL@@IEAAJIH@Z
; protected: void __cdecl DEVICE::SetStatus(unsigned int) __ptr64
?SetStatus@DEVICE@@IEAAXI@Z
; public: long __cdecl USER_MODALS_3::SetThreshold(unsigned long) __ptr64
?SetThreshold@USER_MODALS_3@@QEAAJK@Z
; protected: void __cdecl LM_SESSION_10::SetTime(unsigned long) __ptr64
?SetTime@LM_SESSION_10@@IEAAXK@Z
; private: long __cdecl NET_NAME::SetUNCPath(unsigned short const * __ptr64) __ptr64
?SetUNCPath@NET_NAME@@AEAAJPEBG@Z
; public: long __cdecl USER_2::SetUserCantChangePass(int) __ptr64
?SetUserCantChangePass@USER_2@@QEAAJH@Z
; public: long __cdecl USER_11::SetUserComment(unsigned short const * __ptr64) __ptr64
?SetUserComment@USER_11@@QEAAJPEBG@Z
; protected: long __cdecl USER_2::SetUserFlag(int,unsigned int) __ptr64
?SetUserFlag@USER_2@@IEAAJHI@Z
; protected: void __cdecl LM_SESSION_1::SetUserFlags(unsigned long) __ptr64
?SetUserFlags@LM_SESSION_1@@IEAAXK@Z
; public: long __cdecl USER_2::SetUserFlags(unsigned int) __ptr64
?SetUserFlags@USER_2@@QEAAJI@Z
; protected: long __cdecl USER_3::SetUserId(unsigned long) __ptr64
?SetUserId@USER_3@@IEAAJK@Z
; public: long __cdecl WKSTA_USER_1::SetUserName(unsigned short const * __ptr64) __ptr64
?SetUserName@WKSTA_USER_1@@QEAAJPEBG@Z
; public: long __cdecl USER_2::SetUserPassRequired(int) __ptr64
?SetUserPassRequired@USER_2@@QEAAJH@Z
; protected: long __cdecl DEVICE2::SetUsername(unsigned short const * __ptr64) __ptr64
?SetUsername@DEVICE2@@IEAAJPEBG@Z
; protected: long __cdecl LM_SESSION_10::SetUsername(unsigned short const * __ptr64) __ptr64
?SetUsername@LM_SESSION_10@@IEAAJPEBG@Z
; public: long __cdecl SAM_USER::SetUsername(class NLS_STR const * __ptr64) __ptr64
?SetUsername@SAM_USER@@QEAAJPEBVNLS_STR@@@Z
; public: long __cdecl LM_CONFIG::SetValue(class NLS_STR * __ptr64) __ptr64
?SetValue@LM_CONFIG@@QEAAJPEAVNLS_STR@@@Z
; public: long __cdecl USER_11::SetWorkstations(unsigned short const * __ptr64) __ptr64
?SetWorkstations@USER_11@@QEAAJPEBG@Z
; protected: long __cdecl SHARE_2::SetWriteBuffer(int) __ptr64
?SetWriteBuffer@SHARE_2@@IEAAJH@Z
; void __cdecl SkipWhiteSpace(unsigned short * __ptr64 * __ptr64)
?SkipWhiteSpace@@YAXPEAPEAG@Z
; public: void __cdecl DOMAIN0_ENUM::Sort(void) __ptr64
?Sort@DOMAIN0_ENUM@@QEAAXXZ
; public: long __cdecl LM_SERVICE::Start(unsigned short const * __ptr64,unsigned int,unsigned int) __ptr64
?Start@LM_SERVICE@@QEAAJPEBGII@Z
; public: long __cdecl SC_SERVICE::Start(unsigned int,unsigned short const * __ptr64 * __ptr64) __ptr64
?Start@SC_SERVICE@@QEAAJIPEAPEBG@Z
; public: long __cdecl LM_SERVICE::Stop(unsigned int,unsigned int) __ptr64
?Stop@LM_SERVICE@@QEAAJII@Z
; protected: long __cdecl LSA_POLICY::TcharArrayToUnistrArray(unsigned short const * __ptr64 const * __ptr64,struct _UNICODE_STRING * __ptr64,unsigned long) __ptr64
?TcharArrayToUnistrArray@LSA_POLICY@@IEAAJPEBQEBGPEAU_UNICODE_STRING@@K@Z
; public: long __cdecl SAM_DOMAIN::TranslateNamesToRids(unsigned short const * __ptr64 const * __ptr64,unsigned long,class SAM_RID_MEM * __ptr64,class SAM_SID_NAME_USE_MEM * __ptr64)const  __ptr64
?TranslateNamesToRids@SAM_DOMAIN@@QEBAJPEBQEBGKPEAVSAM_RID_MEM@@PEAVSAM_SID_NAME_USE_MEM@@@Z
; public: long __cdecl LSA_POLICY::TranslateNamesToSids(unsigned short const * __ptr64 const * __ptr64,unsigned long,class LSA_TRANSLATED_SID_MEM * __ptr64,class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
?TranslateNamesToSids@LSA_POLICY@@QEAAJPEBQEBGKPEAVLSA_TRANSLATED_SID_MEM@@PEAVLSA_REF_DOMAIN_MEM@@@Z
; public: long __cdecl LSA_POLICY::TranslateSidsToNames(void * __ptr64 const * __ptr64,unsigned long,class LSA_TRANSLATED_NAME_MEM * __ptr64,class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
?TranslateSidsToNames@LSA_POLICY@@QEAAJPEBQEAXKPEAVLSA_TRANSLATED_NAME_MEM@@PEAVLSA_REF_DOMAIN_MEM@@@Z
; public: long __cdecl OS_SID::TrimLastSubAuthority(unsigned long * __ptr64) __ptr64
?TrimLastSubAuthority@OS_SID@@QEAAJPEAK@Z
; public: long __cdecl USER_11::TrimParams(void) __ptr64
?TrimParams@USER_11@@QEAAJXZ
; public: long __cdecl LSA_POLICY::TrustDomain(class LSA_POLICY & __ptr64,class NLS_STR const & __ptr64,int,unsigned short const * __ptr64) __ptr64
?TrustDomain@LSA_POLICY@@QEAAJAEAV1@AEBVNLS_STR@@HPEBG@Z
; public: long __cdecl LSA_POLICY::TrustDomain(class NLS_STR const & __ptr64,void * __ptr64 const,class NLS_STR const & __ptr64,int,unsigned short const * __ptr64,int) __ptr64
?TrustDomain@LSA_POLICY@@QEAAJAEBVNLS_STR@@QEAX0HPEBGH@Z
; public: long __cdecl SC_MANAGER::Unlock(void) __ptr64
?Unlock@SC_MANAGER@@QEAAJXZ
; protected: long __cdecl OS_SECURITY_DESCRIPTOR::UpdateControl(void) __ptr64
?UpdateControl@OS_SECURITY_DESCRIPTOR@@IEAAJXZ
; protected: long __cdecl OS_SECURITY_DESCRIPTOR::UpdateReferencedSecurityObject(class OS_OBJECT_WITH_DATA * __ptr64) __ptr64
?UpdateReferencedSecurityObject@OS_SECURITY_DESCRIPTOR@@IEAAJPEAVOS_OBJECT_WITH_DATA@@@Z
; public: long __cdecl ADMIN_AUTHORITY::UpgradeAccountDomain(unsigned long) __ptr64
?UpgradeAccountDomain@ADMIN_AUTHORITY@@QEAAJK@Z
; public: long __cdecl ADMIN_AUTHORITY::UpgradeBuiltinDomain(unsigned long) __ptr64
?UpgradeBuiltinDomain@ADMIN_AUTHORITY@@QEAAJK@Z
; public: long __cdecl ADMIN_AUTHORITY::UpgradeLSAPolicy(unsigned long) __ptr64
?UpgradeLSAPolicy@ADMIN_AUTHORITY@@QEAAJK@Z
; public: long __cdecl ADMIN_AUTHORITY::UpgradeSamServer(unsigned long) __ptr64
?UpgradeSamServer@ADMIN_AUTHORITY@@QEAAJK@Z
; private: long __cdecl COMPUTER::ValidateName(unsigned short const * __ptr64) __ptr64
?ValidateName@COMPUTER@@AEAAJPEBG@Z
; protected: virtual long __cdecl DEVICE::ValidateName(void) __ptr64
?ValidateName@DEVICE@@MEAAJXZ
; protected: virtual long __cdecl DOMAIN::ValidateName(void) __ptr64
?ValidateName@DOMAIN@@MEAAJXZ
; protected: virtual long __cdecl LM_OBJ::ValidateName(void) __ptr64
?ValidateName@LM_OBJ@@MEAAJXZ
; public: static long __cdecl NT_ACCOUNTS_UTILITY::ValidateQualifiedAccountName(class NLS_STR const & __ptr64,int * __ptr64)
?ValidateQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJAEBVNLS_STR@@PEAH@Z
; public: long __cdecl LSA_POLICY::VerifyLsa(class LSA_PRIMARY_DOM_INFO_MEM * __ptr64,class NLS_STR const * __ptr64)const  __ptr64
?VerifyLsa@LSA_POLICY@@QEBAJPEAVLSA_PRIMARY_DOM_INFO_MEM@@PEBVNLS_STR@@@Z
; private: static long __cdecl NT_ACCOUNTS_UTILITY::W_BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,enum _SID_NAME_USE)
?W_BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@CAJPEAVNLS_STR@@AEBV2@PEBV2@W4_SID_NAME_USE@@@Z
; protected: virtual long __cdecl NEW_LM_OBJ::W_ChangeToNew(void) __ptr64
?W_ChangeToNew@NEW_LM_OBJ@@MEAAJXZ
; protected: long __cdecl ENUM_CALLER_LM_OBJ::W_CloneFrom(class ENUM_CALLER_LM_OBJ const & __ptr64) __ptr64
?W_CloneFrom@ENUM_CALLER_LM_OBJ@@IEAAJAEBV1@@Z
; protected: long __cdecl GROUP::W_CloneFrom(class GROUP const & __ptr64) __ptr64
?W_CloneFrom@GROUP@@IEAAJAEBV1@@Z
; protected: long __cdecl GROUP_1::W_CloneFrom(class GROUP_1 const & __ptr64) __ptr64
?W_CloneFrom@GROUP_1@@IEAAJAEBV1@@Z
; protected: long __cdecl LOC_LM_OBJ::W_CloneFrom(class LOC_LM_OBJ const & __ptr64) __ptr64
?W_CloneFrom@LOC_LM_OBJ@@IEAAJAEBV1@@Z
; protected: long __cdecl MEMBERSHIP_LM_OBJ::W_CloneFrom(class MEMBERSHIP_LM_OBJ const & __ptr64) __ptr64
?W_CloneFrom@MEMBERSHIP_LM_OBJ@@IEAAJAEBV1@@Z
; protected: long __cdecl NEW_LM_OBJ::W_CloneFrom(class NEW_LM_OBJ const & __ptr64) __ptr64
?W_CloneFrom@NEW_LM_OBJ@@IEAAJAEBV1@@Z
; protected: long __cdecl SHARE::W_CloneFrom(class SHARE const & __ptr64) __ptr64
?W_CloneFrom@SHARE@@IEAAJAEBV1@@Z
; protected: long __cdecl SHARE_1::W_CloneFrom(class SHARE_1 const & __ptr64) __ptr64
?W_CloneFrom@SHARE_1@@IEAAJAEBV1@@Z
; protected: long __cdecl SHARE_2::W_CloneFrom(class SHARE_2 const & __ptr64) __ptr64
?W_CloneFrom@SHARE_2@@IEAAJAEBV1@@Z
; protected: long __cdecl USER::W_CloneFrom(class USER const & __ptr64) __ptr64
?W_CloneFrom@USER@@IEAAJAEBV1@@Z
; protected: long __cdecl USER_11::W_CloneFrom(class USER_11 const & __ptr64) __ptr64
?W_CloneFrom@USER_11@@IEAAJAEBV1@@Z
; protected: long __cdecl USER_2::W_CloneFrom(class USER_2 const & __ptr64) __ptr64
?W_CloneFrom@USER_2@@IEAAJAEBV1@@Z
; protected: long __cdecl USER_3::W_CloneFrom(class USER_3 const & __ptr64) __ptr64
?W_CloneFrom@USER_3@@IEAAJAEBV1@@Z
; private: void __cdecl LM_SERVICE::W_ComputeOtherStatus(struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
?W_ComputeOtherStatus@LM_SERVICE@@AEAAXPEAULM_SERVICE_OTHER_STATUS@@@Z
; protected: virtual long __cdecl ENUM_CALLER_LM_OBJ::W_CreateNew(void) __ptr64
?W_CreateNew@ENUM_CALLER_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl GROUP_1::W_CreateNew(void) __ptr64
?W_CreateNew@GROUP_1@@MEAAJXZ
; protected: virtual long __cdecl GROUP_MEMB::W_CreateNew(void) __ptr64
?W_CreateNew@GROUP_MEMB@@MEAAJXZ
; protected: virtual long __cdecl LSA_ACCOUNT::W_CreateNew(void) __ptr64
?W_CreateNew@LSA_ACCOUNT@@MEAAJXZ
; protected: virtual long __cdecl NEW_LM_OBJ::W_CreateNew(void) __ptr64
?W_CreateNew@NEW_LM_OBJ@@MEAAJXZ
; protected: virtual long __cdecl SHARE::W_CreateNew(void) __ptr64
?W_CreateNew@SHARE@@MEAAJXZ
; protected: virtual long __cdecl SHARE_1::W_CreateNew(void) __ptr64
?W_CreateNew@SHARE_1@@MEAAJXZ
; protected: virtual long __cdecl SHARE_2::W_CreateNew(void) __ptr64
?W_CreateNew@SHARE_2@@MEAAJXZ
; protected: virtual long __cdecl USER_11::W_CreateNew(void) __ptr64
?W_CreateNew@USER_11@@MEAAJXZ
; protected: virtual long __cdecl USER_2::W_CreateNew(void) __ptr64
?W_CreateNew@USER_2@@MEAAJXZ
; protected: virtual long __cdecl USER_3::W_CreateNew(void) __ptr64
?W_CreateNew@USER_3@@MEAAJXZ
; protected: virtual long __cdecl USER_MEMB::W_CreateNew(void) __ptr64
?W_CreateNew@USER_MEMB@@MEAAJXZ
; protected: long __cdecl ENUM_CALLER::W_GetInfo(void) __ptr64
?W_GetInfo@ENUM_CALLER@@IEAAJXZ
; private: void __cdecl LM_SERVICE::W_InterpretStatus(struct _SERVICE_INFO_2 const * __ptr64,enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
?W_InterpretStatus@LM_SERVICE@@AEAAXPEBU_SERVICE_INFO_2@@PEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
; private: int __cdecl LM_SERVICE::W_IsWellKnownService(void)const  __ptr64
?W_IsWellKnownService@LM_SERVICE@@AEBAHXZ
; private: long __cdecl LM_SERVICE::W_QueryStatus(enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
?W_QueryStatus@LM_SERVICE@@AEAAJPEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
; private: long __cdecl LM_SERVICE::W_ServiceControl(unsigned int,unsigned int) __ptr64
?W_ServiceControl@LM_SERVICE@@AEAAJII@Z
; private: long __cdecl LM_SERVICE::W_ServiceStart(unsigned short const * __ptr64) __ptr64
?W_ServiceStart@LM_SERVICE@@AEAAJPEBG@Z
; private: long __cdecl LOCATION::W_Set(unsigned short const * __ptr64,enum LOCATION_TYPE,int) __ptr64
?W_Set@LOCATION@@AEAAJPEBGW4LOCATION_TYPE@@H@Z
; private: long __cdecl GROUP_1::W_Write(void) __ptr64
?W_Write@GROUP_1@@AEAAJXZ
; private: long __cdecl SERVER_1::W_Write(void) __ptr64
?W_Write@SERVER_1@@AEAAJXZ
; private: long __cdecl SERVER_2::W_Write(void) __ptr64
?W_Write@SERVER_2@@AEAAJXZ
; protected: long __cdecl USER_2::W_Write(void) __ptr64
?W_Write@USER_2@@IEAAJXZ
; protected: long __cdecl USER_3::W_Write(void) __ptr64
?W_Write@USER_3@@IEAAJXZ
; private: long __cdecl WKSTA_USER_1::W_Write(void) __ptr64
?W_Write@WKSTA_USER_1@@AEAAJXZ
; public: long __cdecl NEW_LM_OBJ::Write(void) __ptr64
?Write@NEW_LM_OBJ@@QEAAJXZ
; public: virtual long __cdecl DEVICE::WriteInfo(void) __ptr64
?WriteInfo@DEVICE@@UEAAJXZ
; public: virtual long __cdecl DOMAIN::WriteInfo(void) __ptr64
?WriteInfo@DOMAIN@@UEAAJXZ
; public: long __cdecl NEW_LM_OBJ::WriteInfo(void) __ptr64
?WriteInfo@NEW_LM_OBJ@@QEAAJXZ
; public: virtual long __cdecl USER_MODALS::WriteInfo(void) __ptr64
?WriteInfo@USER_MODALS@@UEAAJXZ
; public: virtual long __cdecl USER_MODALS_3::WriteInfo(void) __ptr64
?WriteInfo@USER_MODALS_3@@UEAAJXZ
; public: long __cdecl NEW_LM_OBJ::WriteNew(void) __ptr64
?WriteNew@NEW_LM_OBJ@@QEAAJXZ
; public: void __cdecl OS_ACE::_DbgPrint(void)const  __ptr64
?_DbgPrint@OS_ACE@@QEBAXXZ
; public: void __cdecl OS_ACL::_DbgPrint(void)const  __ptr64
?_DbgPrint@OS_ACL@@QEBAXXZ
; public: void __cdecl OS_SECURITY_DESCRIPTOR::_DbgPrint(void)const  __ptr64
?_DbgPrint@OS_SECURITY_DESCRIPTOR@@QEBAXXZ
; public: void __cdecl OS_SID::_DbgPrint(void)const  __ptr64
?_DbgPrint@OS_SID@@QEBAXXZ
; private: void __cdecl LM_ENUM::_DeregisterIter(void) __ptr64
?_DeregisterIter@LM_ENUM@@AEAAXXZ
; private: void __cdecl LM_RESUME_ENUM::_DeregisterIter(void) __ptr64
?_DeregisterIter@LM_RESUME_ENUM@@AEAAXXZ
; private: void __cdecl LM_ENUM::_RegisterIter(void) __ptr64
?_RegisterIter@LM_ENUM@@AEAAXXZ
; private: void __cdecl LM_RESUME_ENUM::_RegisterIter(void) __ptr64
?_RegisterIter@LM_RESUME_ENUM@@AEAAXXZ
DestroySession
FreeArgv
I_MNetComputerNameCompare
I_MNetLogonControl
I_MNetNameCanonicalize
I_MNetNameCompare
I_MNetNameValidate
I_MNetPathCanonicalize
I_MNetPathCompare
I_MNetPathType
IsSlowTransport
MAllocMem
MDosPrintQEnum
MFreeMem
MNetAccessAdd
MNetAccessCheck
MNetAccessDel
MNetAccessEnum
MNetAccessGetInfo
MNetAccessGetUserPerms
MNetAccessSetInfo
MNetApiBufferAlloc
MNetApiBufferFree
MNetApiBufferReAlloc
MNetApiBufferSize
MNetAuditClear
MNetAuditRead
MNetAuditWrite
MNetCharDevControl
MNetCharDevGetInfo
MNetCharDevQEnum
MNetCharDevQGetInfo
MNetCharDevQPurge
MNetCharDevQPurgeSelf
MNetCharDevQSetInfo
MNetConfigGet
MNetConfigGetAll
MNetConfigSet
MNetConnectionEnum
MNetErrorLogClear
MNetErrorLogRead
MNetErrorLogWrite
MNetFileClose
MNetFileEnum
MNetFileGetInfo
MNetGetDCName
MNetGroupAdd
MNetGroupAddUser
MNetGroupDel
MNetGroupDelUser
MNetGroupEnum
MNetGroupGetInfo
MNetGroupGetUsers
MNetGroupSetInfo
MNetGroupSetUsers
MNetLocalGroupAddMember
MNetLogonEnum
MNetMessageBufferSend
MNetRemoteTOD
MNetServerDiskEnum
MNetServerEnum
MNetServerGetInfo
MNetServerSetInfo
MNetServiceControl
MNetServiceEnum
MNetServiceGetInfo
MNetServiceInstall
MNetSessionDel
MNetSessionEnum
MNetSessionGetInfo
MNetShareAdd
MNetShareCheck
MNetShareDel
MNetShareDelSticky
MNetShareEnum
MNetShareEnumSticky
MNetShareGetInfo
MNetShareSetInfo
MNetUseAdd
MNetUseDel
MNetUseEnum
MNetUseGetInfo
MNetUserAdd
MNetUserDel
MNetUserEnum
MNetUserGetGroups
MNetUserGetInfo
MNetUserModalsGet
MNetUserModalsSet
MNetUserPasswordSet
MNetUserSetGroups
MNetUserSetInfo
MNetWkstaGetInfo
MNetWkstaSetInfo
MNetWkstaSetUID
MNetWkstaUserEnum
MNetWkstaUserGetInfo
MakeArgvArgc
SetupNormalSession
SetupNullSession
SetupSession
SlowTransportWorkerThread
