Configuration classes needed for accessing MailEnable API from .Net.
This commit is contained in:
parent
ae306ab633
commit
c28faf43ce
11 changed files with 3428 additions and 0 deletions
|
@ -0,0 +1,166 @@
|
|||
Namespace WebsitePanel.Providers.Mail
|
||||
|
||||
Public Class MailEnableOption
|
||||
Inherits MarshalByRefObject
|
||||
|
||||
Private ScopeVal As Integer
|
||||
Private QueryVal As String
|
||||
Private ValueNameVal As String
|
||||
Private ValueVal As String
|
||||
Private HostVal As String
|
||||
|
||||
Private Declare Function SystemGetOption Lib "MEAISO.DLL" Alias "GetOption" (ByVal Scope As Integer, ByVal Query As String, ByVal ValueName As String, ByVal ReturnValue As String) As Int32
|
||||
Private Declare Function SystemSetOption Lib "MEAISO.DLL" Alias "SetOption" (ByVal Scope As Integer, ByVal Query As String, ByVal ValueName As String, ByVal ReturnValue As String) As Int32
|
||||
Private Declare Function SetCurrentHost Lib "MEAISO.DLL" (ByVal CurrentHost As String) As Int32
|
||||
|
||||
Private Shared Function NonCString(ByVal InString As String) As String
|
||||
Dim NTPos As Integer
|
||||
NTPos = InStr(1, InString, Chr(0), CompareMethod.Binary)
|
||||
If NTPos > 0 Then
|
||||
NonCString = Left(InString, NTPos - 1)
|
||||
Else
|
||||
NonCString = InString
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Shared Function CString(ByVal InString As String) As String
|
||||
CString = InString & Chr(0)
|
||||
End Function
|
||||
|
||||
Public Function SetHost() As Integer
|
||||
SetHost = SetCurrentHost(Host)
|
||||
End Function
|
||||
|
||||
Private Function ValidData() As Boolean
|
||||
If Len(Query) >= 1024 Then ValidData = False : Exit Function
|
||||
If Len(ValueName) >= 1024 Then ValidData = False : Exit Function
|
||||
If Len(Value) >= 1024 Then ValidData = False : Exit Function
|
||||
ValidData = True
|
||||
End Function
|
||||
|
||||
|
||||
Public Function GetOption() As Integer
|
||||
If Not ValidData() Then GetOption = 0 : Exit Function
|
||||
|
||||
Value = Space(2048)
|
||||
Try
|
||||
GetOption = SystemGetOption(Scope, Query, ValueName, Value)
|
||||
Value = NonCString(Value)
|
||||
Catch ex As Exception
|
||||
GetOption = 0
|
||||
Value = String.Empty
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function SetOption() As Integer
|
||||
If Not ValidData() Then SetOption = 0 : Exit Function
|
||||
|
||||
SetOption = SystemSetOption(Scope, Query, ValueName, Value)
|
||||
End Function
|
||||
|
||||
|
||||
Public Property Scope() As Integer
|
||||
Get
|
||||
Return Me.ScopeVal
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
Me.ScopeVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Query() As String
|
||||
Get
|
||||
Return Me.QueryVal
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.QueryVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property ValueName() As String
|
||||
Get
|
||||
Return Me.ValueNameVal
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.ValueNameVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Value() As String
|
||||
Get
|
||||
Return Me.ValueVal
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.ValueVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Host() As String
|
||||
Get
|
||||
Return Me.HostVal
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.HostVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Shared Function GetSystemOption(ByRef lScope As String, ByRef sQuery As String, ByRef sValueName As String, Optional ByVal DefaultValue As String = "") As String
|
||||
|
||||
Dim oMEAOSO As New MailEnableOption
|
||||
|
||||
On Error Resume Next
|
||||
oMEAOSO.Scope = lScope
|
||||
oMEAOSO.Query = sQuery
|
||||
oMEAOSO.ValueName = sValueName
|
||||
If oMEAOSO.GetOption() <> 0 Then
|
||||
GetSystemOption = oMEAOSO.Value
|
||||
Else
|
||||
GetSystemOption = DefaultValue
|
||||
End If
|
||||
oMEAOSO = Nothing
|
||||
|
||||
End Function
|
||||
|
||||
Public Shared Function SetSystemOption(ByRef lScope As String, ByRef sQuery As String, ByRef sValueName As String, ByRef sValue As String) As Integer
|
||||
|
||||
On Error Resume Next
|
||||
|
||||
If Not IsNothing(sValue) Then
|
||||
Dim oMEAOSO As New MailEnableOption
|
||||
|
||||
oMEAOSO.Scope = lScope
|
||||
oMEAOSO.Query = sQuery
|
||||
oMEAOSO.ValueName = sValueName
|
||||
oMEAOSO.Value = sValue
|
||||
oMEAOSO.SetOption()
|
||||
SetSystemOption = True
|
||||
|
||||
oMEAOSO = Nothing
|
||||
Return 1
|
||||
End If
|
||||
|
||||
Return 0
|
||||
|
||||
End Function
|
||||
|
||||
Public Shared Function GetRemoteRegistryString(ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByRef KeyValue As String) As Integer
|
||||
If HostName Is Nothing Then
|
||||
HostName = ""
|
||||
End If
|
||||
Dim LocalValue As String = Space(4096)
|
||||
Dim Result As Integer = _GetRemoteRegistryString(HostName, ParentKey, RegistryKey, LocalValue)
|
||||
If Result = 1 Then
|
||||
KeyValue = NonCString(LocalValue)
|
||||
End If
|
||||
Return Result
|
||||
End Function
|
||||
|
||||
Private Declare Function GetRemoteRegistryWord Lib "MEAISO.DLL" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As Integer) As Integer
|
||||
Private Declare Function SetRemoteRegistryWord Lib "MEAISO.DLL" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As Integer) As Integer
|
||||
Private Declare Function SetRemoteRegistryString Lib "MEAISO.DLL" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As String) As Integer
|
||||
Private Declare Function _GetRemoteRegistryString Lib "MEAISO.DLL" Alias "GetRemoteRegistryString" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As String) As Integer
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
Loading…
Add table
Add a link
Reference in a new issue