Home COM GDI+ WebBrowser Data Access

IMSProvider Interface

 

IID_IMSProvider

{00020310-0000-0000-C000-000000000046}

 

 

The IMSProvider interface provides access to a message store provider through a message store provider object. This message store provider object is returned at provider logon by the message store provider's MSProviderInit entry point function. The message store provider object is primarily used by client applications and the MAPI spooler to open message stores.

 

MAPI uses one message store provider object per session, no matter how many message stores are opened by the store provider. If a second MAPI session logs on to any open stores, MAPI calls MSProviderInit a second time to create a new message store provider object for that session to use.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IMSProvider Methods

Description

Shutdown

Closes down a message store provider in an orderly fashion.

Logon

Logs MAPI on to one instance of a message store provider.

SpoolerLogon

Logs the MAPI spooler on to a message store.

CompareStoreIDs

Compares two message store entry identifiers to determine if they refer to the same store object.

 

Shutdown

 

FUNCTION IMSProvider_Shutdown ( _
  BYVAL pIMSProvider AS DWORD PTR _
, BYREF lpulFlags AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIMSProvider[3] USING IMSProvider_Shutdown (pIMSProvider, lpulFlags) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Logon

 

FUNCTION IMSProvider_Logon ( _
  BYVAL pIMSProvider AS DWORD PTR _
, BYVAL lpMAPISup AS DWORD _
, BYVAL ulUIParam AS DWORD _
, BYREF lpszProfileName AS ASCIIZ _
, BYVAL cbEntryID AS DWORD _
, BYVAL lpEntryID AS ENTRYID PTR _
, BYVAL ulFlags AS DWORD _
, BYREF lpInterface AS GUID _
, BYREF lpcbSpoolSecurity AS DWORD _
, BYREF lppbSpoolSecurity AS DWORD _
, BYREF lppMAPIError AS DWORD _
, BYREF lppMSLogon AS DWORD _
, BYREF lppMDB AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIMSProvider[4] USING IMSProvider_Logon (pIMSProvider, lpMAPISup, ulUIParam, lpszProfileName, cbEntryID, lpEntryID, ulFlags, lpInterface, lpcbSpoolSecurity, lppbSpoolSecurity, lppMAPIError, lppMSLogon, lppMDB) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

SpoolerLogon

 

FUNCTION IMSProvider_SpoolerLogon ( _
  BYVAL pIMSProvider AS DWORD PTR _
, BYVAL lpMAPISup AS DWORD _
, BYVAL ulUIParam AS DWORD _
, BYREF lpszProfileName AS ASCIIZ _
, BYVAL cbEntryID AS DWORD _
, BYVAL lpEntryID AS ENTRYID PTR _
, BYVAL ulFlags AS DWORD _
, BYREF lpInterface AS GUID _
, BYVAL cbSpoolSecurity AS DWORD _
, BYVAL lpbSpoolSecurity AS DWORD _
, BYREF lppMAPIError AS DWORD _
, BYREF lppMSLogon AS DWORD _
, BYREF lppMDB AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIMSProvider[5] USING IMSProvider_SpoolerLogon (pIMSProvider, lpMAPISup, ulUIParam, lpszProfileName, cbEntryID, lpEntryID, ulFlags, lpInterface, cbSpoolSecurity, lpbSpoolSecurity, lppMAPIError, lppMSLogon, lppMDB) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

CompareStoreIDs

 

FUNCTION IMSProvider_CompareStoreIDs ( _
  BYVAL pIMSProvider AS DWORD PTR _
, BYVAL cbEntryID1 AS DWORD _
, BYVAL lpEntryID1 AS ENTRYID PTR _
, BYVAL cbEntryID2 AS DWORD _
, BYVAL lpEntryID2 AS ENTRYID PTR _
, BYVAL ulFlags AS DWORD _
, BYREF lpulResult AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIMSProvider[6] USING IMSProvider_CompareStoreIDs (pIMSProvider, cbEntryID1, lpEntryID1, cbEntryID2, lpEntryID2, ulFlags, lpulResult) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Page last updated on Monday, 03 April 2006 20:17:52 +0200