⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cemapi.vb

📁 清华大学出版社出版的 移动应用开发宝典 张大威(2008)的附书源代码
💻 VB
字号:
Imports System.Runtime.InteropServices

Friend Class NativeMethods

    <DllImport("cemapi.dll")> _
    Friend Shared Function MailDisplayMessage(ByVal lpEntryID As Byte(), ByVal cbEntryID As Integer) As Integer
    End Function

    <DllImport("cemapi.dll")> _
    Friend Shared Function MAPIInitialize(ByVal lpMapiInit As IntPtr) As Integer
    End Function

    <DllImport("cemapi.dll")> _
    Friend Shared Function MAPILogonEx(ByVal ulUIParam As Integer, ByVal lpszProfileName As String, ByVal lpszPassword As String, ByVal flFlags As Integer, <Out()> ByRef lppSession As IntPtr) As Integer
    End Function

    <DllImport("cemapi.dll")> _
    Friend Shared Function MAPIUninitialize() As Integer
    End Function

End Class

<ComImport(), Guid("00020300-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Friend Interface IMAPISession
    Sub GetLastError()

    Sub GetMsgStoresTable(ByVal ulFlags As Integer, <Out()> ByRef lppTable As IntPtr)
    Sub OpenMsgStore(ByVal ulUIParam As Integer, ByVal cbEntryID As Integer, ByVal lpEntryID As Byte(), ByVal lpInterface As Integer, ByVal ulFlags As Integer, <Out()> ByRef lppMDB As IntPtr)

    Sub OpenAddressBook()
    Sub OpenProfileSection()
    Sub GetStatusTable()

    Sub OpenEntry(ByVal cbEntryID As Integer, ByVal lpEntryID As Byte(), ByVal lpInterface As Integer, ByVal ulFlags As Integer, <Out()> ByRef lpulObjType As Integer, <Out()> ByRef lppUnk As IntPtr)
    Sub CompareEntryIDs(ByVal cbEntryID1 As Integer, ByVal lpEntryID1 As Byte(), ByVal cbEntryID2 As Integer, ByVal lpEntryID2 As Byte(), ByVal ulFlags As Integer, <Out()> ByRef lpulResult As Integer)
    Sub Advise(ByVal cbEntryID As Integer, ByVal lpEntryID As Byte(), ByVal ulEventMask As fnev, ByVal lpAdviseSink As IMAPIAdviseSink, <Out()> ByRef FlpulConnection As Integer)
    Sub Unadvise(ByVal ulConnection As Integer)

    Sub MessageOptions()
    Sub QueryDefaultMessageOpt()
    Sub EnumAdrTypes()
    Sub QueryIdentity()

    Sub Logoff(ByVal ulUIParam As Integer, ByVal ulFlags As Integer, ByVal ulReserved As Integer)

    Sub SetDefaultStore()
    Sub AdminServices()
    Sub ShowForm()
    Sub PrepareForm()

End Interface


<ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("00020302-0000-0000-C000-000000000046")> _
Friend Interface IMAPIAdviseSink
    Sub OnNotify(ByVal cNotif As UInt32, ByRef lpNotifications As NOTIFICATION)
End Interface

<Flags()> _
Friend Enum fnev
    ObjectCreated = 4
    ObjectDeleted = 8
    ObjectModified = &H10
    ObjectMoved = &H20
    ObjectCopied = &H40
End Enum

<StructLayout(LayoutKind.Explicit)> _
Friend Structure NOTIFICATION
    <FieldOffset(0)> _
    Public ulEventType As fnev
    <FieldOffset(8)> _
    Public newmail As NEWMAIL_NOTIFICATION
End Structure

<StructLayout(LayoutKind.Sequential)> _
Friend Structure NEWMAIL_NOTIFICATION
    Public cbEntryID As Integer
    Public lpEntryID As IntPtr
    Public cbParentID As Integer
    Public lpParentID As IntPtr
    Public ulFlags As UInt32
    <MarshalAs(UnmanagedType.LPTStr)> _
    Public lpszMessageClass As String
    Public ulMessageFlags As UInt32
End Structure









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -