; 
; Exports of file mqsec.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY mqsec.dll
EXPORTS
; public: __thiscall CCancelRpc::CCancelRpc(class CCancelRpc const &)
??0CCancelRpc@@QAE@ABV0@@Z
; public: __thiscall CCancelRpc::CCancelRpc(void)
??0CCancelRpc@@QAE@XZ
; public: __thiscall CColumns::CColumns(class CColumns const &)
??0CColumns@@QAE@ABV0@@Z
; public: __thiscall CColumns::CColumns(unsigned int)
??0CColumns@@QAE@I@Z
; public: __thiscall CDSBaseUpdate::CDSBaseUpdate(class CDSBaseUpdate const &)
??0CDSBaseUpdate@@QAE@ABV0@@Z
; public: __thiscall CDSBaseUpdate::CDSBaseUpdate(void)
??0CDSBaseUpdate@@QAE@XZ
; public: __thiscall COutputReport::COutputReport(void)
??0COutputReport@@QAE@XZ
; public: __thiscall CPropertyRestriction::CPropertyRestriction(class CPropertyRestriction const &)
??0CPropertyRestriction@@QAE@ABV0@@Z
; public: __thiscall CPropertyRestriction::CPropertyRestriction(unsigned long,unsigned long const &,class CMQVariant const &)
??0CPropertyRestriction@@QAE@KABKABVCMQVariant@@@Z
; public: __thiscall CPropertyRestriction::CPropertyRestriction(void)
??0CPropertyRestriction@@QAE@XZ
; public: __thiscall CRestriction::CRestriction(class CRestriction const &)
??0CRestriction@@QAE@ABV0@@Z
; public: __thiscall CRestriction::CRestriction(unsigned int)
??0CRestriction@@QAE@I@Z
; public: __thiscall CSort::CSort(class CSort const &)
??0CSort@@QAE@ABV0@@Z
; public: __thiscall CSort::CSort(unsigned int)
??0CSort@@QAE@I@Z
; public: __thiscall CSortKey::CSortKey(unsigned long const &,unsigned long)
??0CSortKey@@QAE@ABKK@Z
; public: __thiscall CSortKey::CSortKey(void)
??0CSortKey@@QAE@XZ
; public: __thiscall CCancelRpc::~CCancelRpc(void)
??1CCancelRpc@@QAE@XZ
; public: __thiscall CColumns::~CColumns(void)
??1CColumns@@QAE@XZ
; public: __thiscall CDSBaseUpdate::~CDSBaseUpdate(void)
??1CDSBaseUpdate@@QAE@XZ
; public: __thiscall COutputReport::~COutputReport(void)
??1COutputReport@@QAE@XZ
; public: __thiscall CPropertyRestriction::~CPropertyRestriction(void)
??1CPropertyRestriction@@QAE@XZ
; public: __thiscall CRestriction::~CRestriction(void)
??1CRestriction@@QAE@XZ
; public: __thiscall CSort::~CSort(void)
??1CSort@@QAE@XZ
; public: __thiscall CSortKey::~CSortKey(void)
??1CSortKey@@QAE@XZ
; public: class CCancelRpc & __thiscall CCancelRpc::operator=(class CCancelRpc const &)
??4CCancelRpc@@QAEAAV0@ABV0@@Z
; public: class CDSBaseUpdate & __thiscall CDSBaseUpdate::operator=(class CDSBaseUpdate const &)
??4CDSBaseUpdate@@QAEAAV0@ABV0@@Z
; public: class COutputReport & __thiscall COutputReport::operator=(class COutputReport const &)
??4COutputReport@@QAEAAV0@ABV0@@Z
; public: class CPropertyRestriction & __thiscall CPropertyRestriction::operator=(class CPropertyRestriction const &)
??4CPropertyRestriction@@QAEAAV0@ABV0@@Z
; public: class CRestriction & __thiscall CRestriction::operator=(class CRestriction const &)
??4CRestriction@@QAEAAV0@ABV0@@Z
; public: class CSortKey & __thiscall CSortKey::operator=(class CSortKey const &)
??4CSortKey@@QAEAAV0@ABV0@@Z
; public: void __thiscall CColumns::`default constructor closure'(void)
??_FCColumns@@QAEXXZ
; public: void __thiscall CRestriction::`default constructor closure'(void)
??_FCRestriction@@QAEXXZ
; public: void __thiscall CSort::`default constructor closure'(void)
??_FCSort@@QAEXXZ
; public: void __thiscall CCancelRpc::Add(void *,long)
?Add@CCancelRpc@@QAEXPAXJ@Z
; public: void __thiscall CColumns::Add(unsigned long const &)
?Add@CColumns@@QAEXABK@Z
; public: void __thiscall CSort::Add(unsigned long const &,unsigned long)
?Add@CSort@@QAEXABKK@Z
; public: void __thiscall CSort::Add(class CSortKey const &)
?Add@CSort@@QAEXABVCSortKey@@@Z
; public: void __thiscall CRestriction::AddChild(class CPropertyRestriction const &)
?AddChild@CRestriction@@QAEXABVCPropertyRestriction@@@Z
; public: void __thiscall CRestriction::AddRestriction(struct tagBLOB &,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXAAUtagBLOB@@KK@Z
; public: void __thiscall CRestriction::AddRestriction(class CMQVariant const &,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXABVCMQVariant@@KK@Z
; public: void __thiscall CRestriction::AddRestriction(unsigned char,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXEKK@Z
; public: void __thiscall CRestriction::AddRestriction(short,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXFKK@Z
; public: void __thiscall CRestriction::AddRestriction(long,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXJKK@Z
; public: void __thiscall CRestriction::AddRestriction(unsigned long,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXKKK@Z
; public: void __thiscall CRestriction::AddRestriction(unsigned short *,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXPAGKK@Z
; public: void __thiscall CRestriction::AddRestriction(struct _GUID *,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXPAU_GUID@@KK@Z
; public: void __thiscall CRestriction::AddRestriction(struct tagCACLSID *,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXPAUtagCACLSID@@KK@Z
; public: void __thiscall CRestriction::AddRestriction(struct tagCALPWSTR *,unsigned long,unsigned long)
?AddRestriction@CRestriction@@QAEXPAUtagCALPWSTR@@KK@Z
; public: void __thiscall CCancelRpc::CancelRequests(long)
?CancelRequests@CCancelRpc@@QAEXJ@Z
; private: static unsigned long __stdcall CCancelRpc::CancelThread(void *)
?CancelThread@CCancelRpc@@CGKPAX@Z
; public: struct tagMQCOLUMNSET * __thiscall CColumns::CastToStruct(void)
?CastToStruct@CColumns@@QAEPAUtagMQCOLUMNSET@@XZ
; public: struct tagMQRESTRICTION * __thiscall CRestriction::CastToStruct(void)
?CastToStruct@CRestriction@@QAEPAUtagMQRESTRICTION@@XZ
; public: struct tagMQSORTSET * __thiscall CSort::CastToStruct(void)
?CastToStruct@CSort@@QAEPAUtagMQSORTSET@@XZ
; void __stdcall ComposeRPCEndPointName(unsigned short const *,unsigned short const *,unsigned short * *)
?ComposeRPCEndPointName@@YGXPBG0PAPAG@Z
; private: long __thiscall CDSBaseUpdate::CopyProperty(struct tagPROPVARIANT &,struct tagPROPVARIANT *)
?CopyProperty@CDSBaseUpdate@@AAEJAAUtagPROPVARIANT@@PAU2@@Z
; public: unsigned int __thiscall CColumns::Count(void)const 
?Count@CColumns@@QBEIXZ
; public: unsigned int __thiscall CRestriction::Count(void)const 
?Count@CRestriction@@QBEIXZ
; public: unsigned int __thiscall CSort::Count(void)const 
?Count@CSort@@QBEIXZ
; long __stdcall DeleteFalconKeyValue(unsigned short const *)
?DeleteFalconKeyValue@@YGJPBG@Z
; private: void __thiscall CDSBaseUpdate::DeleteProperty(struct tagPROPVARIANT &)
?DeleteProperty@CDSBaseUpdate@@AAEXAAUtagPROPVARIANT@@@Z
FreeContextHandle
; public: unsigned long const & __thiscall CColumns::Get(unsigned int)const 
?Get@CColumns@@QBEABKI@Z
; public: class CSortKey const & __thiscall CSort::Get(unsigned int)const 
?Get@CSort@@QBEABVCSortKey@@I@Z
; public: class CPropertyRestriction const & __thiscall CRestriction::GetChild(unsigned int)const 
?GetChild@CRestriction@@QBEABVCPropertyRestriction@@I@Z
; public: unsigned char __thiscall CDSBaseUpdate::GetCommand(void)
?GetCommand@CDSBaseUpdate@@QAEEXZ
; long __stdcall GetComputerDnsNameInternal(unsigned short *,unsigned long *)
?GetComputerDnsNameInternal@@YGJPAGPAK@Z
; long __stdcall GetComputerNameInternal(unsigned short *,unsigned long *)
?GetComputerNameInternal@@YGJPAGPAK@Z
GetDomainFQDNName
; long __stdcall GetFalconKey(unsigned short const *,struct HKEY__ * *)
?GetFalconKey@@YGJPBGPAPAUHKEY__@@@Z
GetFalconKeyValue
; unsigned short const * __stdcall GetFalconSectionName(void)
?GetFalconSectionName@@YGPBGXZ
; unsigned long __stdcall GetFalconServiceName(unsigned short *,unsigned long)
?GetFalconServiceName@@YGKPAGK@Z
; public: struct _GUID * __thiscall CDSBaseUpdate::GetGuidIdentifier(void)
?GetGuidIdentifier@CDSBaseUpdate@@QAEPAU_GUID@@XZ
; public: struct _GUID const * __thiscall CDSBaseUpdate::GetMasterId(void)
?GetMasterId@CDSBaseUpdate@@QAEPBU_GUID@@XZ
; public: unsigned long __thiscall CDSBaseUpdate::GetObjectType(void)
?GetObjectType@CDSBaseUpdate@@QAEKXZ
; public: unsigned long __thiscall CSortKey::GetOrder(void)const 
?GetOrder@CSortKey@@QBEKXZ
; public: unsigned short * __thiscall CDSBaseUpdate::GetPathName(void)
?GetPathName@CDSBaseUpdate@@QAEPAGXZ
; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetPrevSeqNum(void)const 
?GetPrevSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
; public: unsigned long const & __thiscall CSortKey::GetProperty(void)const 
?GetProperty@CSortKey@@QBEABKXZ
; public: unsigned long * __thiscall CDSBaseUpdate::GetProps(void)
?GetProps@CDSBaseUpdate@@QAEPAKXZ
; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetPurgeSeqNum(void)const 
?GetPurgeSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetSeqNum(void)const 
?GetSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
; public: long __thiscall CDSBaseUpdate::GetSerializeSize(unsigned long *)
?GetSerializeSize@CDSBaseUpdate@@QAEJPAK@Z
GetSizes
; long __stdcall GetThisServerIpPort(unsigned short *,unsigned long)
?GetThisServerIpPort@@YGJPAGK@Z
; public: struct tagPROPVARIANT * __thiscall CDSBaseUpdate::GetVars(void)
?GetVars@CDSBaseUpdate@@QAEPAUtagPROPVARIANT@@XZ
; private: void __thiscall CRestriction::Grow(void)
?Grow@CRestriction@@AAEXXZ
; long __stdcall HashMessageProperties(unsigned long,unsigned char const *,unsigned long,unsigned long,unsigned char const *,unsigned long,unsigned short const *,unsigned long,struct QUEUE_FORMAT const *,struct QUEUE_FORMAT const *)
?HashMessageProperties@@YGJKPBEKK0KPBGKPBUQUEUE_FORMAT@@2@Z
; long __stdcall HashProperties(unsigned long,unsigned long,unsigned long *,struct tagPROPVARIANT *)
?HashProperties@@YGJKKPAKPAUtagPROPVARIANT@@@Z
; public: void __thiscall CCancelRpc::Init(void)
?Init@CCancelRpc@@QAEXXZ
; public: long __thiscall CDSBaseUpdate::Init(unsigned char const *,unsigned long *,int)
?Init@CDSBaseUpdate@@QAEJPBEPAKH@Z
; public: long __thiscall CDSBaseUpdate::Init(struct _GUID const *,class CSeqNum const &,class CSeqNum const &,class CSeqNum const &,int,unsigned char,unsigned long,struct _GUID const *,unsigned long,unsigned long *,struct tagPROPVARIANT *)
?Init@CDSBaseUpdate@@QAEJPBU_GUID@@ABVCSeqNum@@11HEK0KPAKPAUtagPROPVARIANT@@@Z
; public: long __thiscall CDSBaseUpdate::Init(struct _GUID const *,class CSeqNum const &,class CSeqNum const &,class CSeqNum const &,int,unsigned char,unsigned long,unsigned short *,unsigned long,unsigned long *,struct tagPROPVARIANT *)
?Init@CDSBaseUpdate@@QAEJPBU_GUID@@ABVCSeqNum@@11HEKPAGKPAKPAUtagPROPVARIANT@@@Z
; private: long __thiscall CDSBaseUpdate::InitProperty(unsigned char const *,unsigned long *,unsigned long,struct tagPROPVARIANT &)
?InitProperty@CDSBaseUpdate@@AAEJPBEPAKKAAUtagPROPVARIANT@@@Z
; bool __stdcall IsLocalSystemCluster(void)
?IsLocalSystemCluster@@YG_NXZ
; public: void __thiscall COutputReport::KeepErrorHistory(unsigned short const *,unsigned short,long)
?KeepErrorHistory@COutputReport@@QAEXPBGGJ@Z
MQSealBuffer
MQSec_AccessCheck
MQSec_AccessCheckForSelf
MQSec_AcquireCryptoProvider
MQSec_CanGenerateAudit
MQSec_ConvertSDToNT4Format
MQSec_ConvertSDToNT5Format
MQSec_CopySecurityDescriptor
MQSec_GetAdminSid
MQSec_GetAnonymousSid
MQSec_GetCryptoProvProperty
MQSec_GetDefaultSecDescriptor
MQSec_GetImpersonationObject
MQSec_GetLocalMachineSid
MQSec_GetLocalSystemSid
MQSec_GetNetworkServiceSid
MQSec_GetProcessSid
MQSec_GetProcessUserSid
MQSec_GetPubKeysFromDS
MQSec_GetThreadUserSid
MQSec_GetUserType
MQSec_GetWorldSid
MQSec_IsAnonymusSid
MQSec_IsDC
MQSec_IsGuestSid
MQSec_IsNetworkServiceSid
MQSec_IsSystemSid
MQSec_IsUnAuthenticatedUser
MQSec_MakeAbsoluteSD
MQSec_MakeSelfRelative
MQSec_MergeSecurityDescriptors
MQSec_PackPublicKey
MQSec_RpcAuthnLevel
MQSec_SetLocalRpcMutualAuth
MQSec_SetPrivilegeInThread
MQSec_SetSecurityDescriptorDacl
MQSec_StorePubKeys
MQSec_StorePubKeysInDS
MQSec_TraceThreadTokenInfo
MQSec_UnpackPublicKey
MQSec_UpdateLocalMachineSid
; long __stdcall MQSetCaConfig(unsigned long,class MQ_CA_CONFIG *)
?MQSetCaConfig@@YGJKPAVMQ_CA_CONFIG@@@Z
MQSigHashMessageProperties
MQUInitGlobalScurityVars
MQsspi_InitServerAuthntication
; private: void __thiscall CCancelRpc::ProcessEvents(void)
?ProcessEvents@CCancelRpc@@AAEXXZ
; void __stdcall ProduceRPCErrorTracing(unsigned short *,unsigned long)
?ProduceRPCErrorTracing@@YGXPAGK@Z
; public: unsigned long __thiscall CPropertyRestriction::Relation(void)
?Relation@CPropertyRestriction@@QAEKXZ
; public: void __thiscall CCancelRpc::Remove(void *)
?Remove@CCancelRpc@@QAEXPAX@Z
; public: void __thiscall CColumns::Remove(unsigned int)
?Remove@CColumns@@QAEXI@Z
; public: void __thiscall CSort::Remove(unsigned int)
?Remove@CSort@@QAEXI@Z
; class COutputReport  Report
?Report@@3VCOutputReport@@A DATA
; public: unsigned long __thiscall CCancelRpc::RpcCancelTimeout(void)
?RpcCancelTimeout@CCancelRpc@@QAEKXZ
; public: long __thiscall CDSBaseUpdate::Serialize(unsigned char *,unsigned long *,int)
?Serialize@CDSBaseUpdate@@QAEJPAEPAKH@Z
; private: long __thiscall CDSBaseUpdate::SerializeProperty(struct tagPROPVARIANT &,unsigned char *,unsigned long *)
?SerializeProperty@CDSBaseUpdate@@AAEJAAUtagPROPVARIANT@@PAEPAK@Z
ServerAcceptSecCtx
; public: void __thiscall CRestriction::SetChild(class CPropertyRestriction const &,unsigned int)
?SetChild@CRestriction@@QAEXABVCPropertyRestriction@@I@Z
SetFalconKeyValue
SetFalconServiceName
; public: void __thiscall CSortKey::SetOrder(unsigned long const &)
?SetOrder@CSortKey@@QAEXABK@Z
; public: void __thiscall CDSBaseUpdate::SetPrevSeqNum(class CSeqNum &)
?SetPrevSeqNum@CDSBaseUpdate@@QAEXAAVCSeqNum@@@Z
; public: void __thiscall CPropertyRestriction::SetProperty(unsigned long const &)
?SetProperty@CPropertyRestriction@@QAEXABK@Z
; public: void __thiscall CSortKey::SetProperty(unsigned long const &)
?SetProperty@CSortKey@@QAEXABK@Z
; public: void __thiscall CPropertyRestriction::SetRelation(unsigned long)
?SetRelation@CPropertyRestriction@@QAEXK@Z
; public: void __thiscall CPropertyRestriction::SetValue(struct tagBLOB &)
?SetValue@CPropertyRestriction@@QAEXAAUtagBLOB@@@Z
; public: void __thiscall CPropertyRestriction::SetValue(class CMQVariant const &)
?SetValue@CPropertyRestriction@@QAEXABVCMQVariant@@@Z
; public: void __thiscall CPropertyRestriction::SetValue(unsigned char)
?SetValue@CPropertyRestriction@@QAEXE@Z
; public: void __thiscall CPropertyRestriction::SetValue(short)
?SetValue@CPropertyRestriction@@QAEXF@Z
; public: void __thiscall CPropertyRestriction::SetValue(long)
?SetValue@CPropertyRestriction@@QAEXJ@Z
; public: void __thiscall CPropertyRestriction::SetValue(unsigned long)
?SetValue@CPropertyRestriction@@QAEXK@Z
; public: void __thiscall CPropertyRestriction::SetValue(unsigned short *)
?SetValue@CPropertyRestriction@@QAEXPAG@Z
; public: void __thiscall CPropertyRestriction::SetValue(struct _GUID *)
?SetValue@CPropertyRestriction@@QAEXPAU_GUID@@@Z
; public: void __thiscall CPropertyRestriction::SetValue(struct tagCACLSID *)
?SetValue@CPropertyRestriction@@QAEXPAUtagCACLSID@@@Z
; public: void __thiscall CPropertyRestriction::SetValue(struct tagCALPWSTR *)
?SetValue@CPropertyRestriction@@QAEXPAUtagCALPWSTR@@@Z
; public: void __thiscall CCancelRpc::ShutDownCancelThread(void)
?ShutDownCancelThread@CCancelRpc@@QAEXXZ
ShutDownDebugWindow
; unsigned int __stdcall UnalignedWcslen(unsigned short const *)
?UnalignedWcslen@@YGIPBG@Z
; public: class CMQVariant const & __thiscall CPropertyRestriction::Value(void)
?Value@CPropertyRestriction@@QAEABVCMQVariant@@XZ
; long __stdcall XactGetDTC(struct IUnknown * *)
?XactGetDTC@@YGJPAPAUIUnknown@@@Z
; long __stdcall XactGetWhereabouts(unsigned long *,unsigned char *)
?XactGetWhereabouts@@YGJPAKPAE@Z
; class CCancelRpc  g_CancelRpc
?g_CancelRpc@@3VCCancelRpc@@A DATA
; class CHCryptProv  g_hProvVer
?g_hProvVer@@3VCHCryptProv@@A DATA
; public: unsigned char __thiscall CDSBaseUpdate::getNumOfProps(void)
?getNumOfProps@CDSBaseUpdate@@QAEEXZ
; long __stdcall mqrpcBindQMService(unsigned short *,unsigned short *,unsigned long *,void * *,enum PORTTYPE,unsigned long (__stdcall*)(void *,unsigned long),unsigned long)
?mqrpcBindQMService@@YGJPAG0PAKPAPAXW4PORTTYPE@@P6GKPAXK@ZK@Z
; unsigned long __stdcall mqrpcGetLocalCallPID(void *)
?mqrpcGetLocalCallPID@@YGKPAX@Z
; int __stdcall mqrpcIsLocalCall(void *)
?mqrpcIsLocalCall@@YGHPAX@Z
; int __stdcall mqrpcIsTcpipTransport(void *)
?mqrpcIsTcpipTransport@@YGHPAX@Z
; long __stdcall mqrpcUnbindQMService(void * *,unsigned short * *)
?mqrpcUnbindQMService@@YGJPAPAXPAPAG@Z
MQSigCloneCertFromReg
MQSigCloneCertFromSysStore
MQSigCreateCertificate
MQSigOpenUserCertStore
MSMQGetOperatingSystem
