| 
			 
			 
    	    
		 | 
			
   
_MAPIProp is the base interface from 
which other RDO objects are derived: IRDOFolder,
IRDOAddressBook, 
IRDOStore, IRDOMail, 
IRDOAttachment, IRDOAddressEntry,
IRDOAddressList 
It corresponds to the IMAPIProp 
Extended MAPI interface. 
  
The example below connects to a MAPI 
session retrieved from the Outlook Object Model, opens the given Outlook 
MailItem as Redemption.RDOMail (which is derived from _MAPIProp), then displays 
the subject of the message using various techniques: using a DASL schema 
property name and the regular PR_SUBJECT Extended MAPI property tag. 
  
    | 
	 set Session = 
	CreateObject("Redemption.RDOSession") 
	Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
	set Mail = Session.GetMessageFromID(MailItem.EntryID) 
	  
	'display the subject using a 
	DASL schema name 
	MsgBox Mail.Fields("urn:schemas:httpmail:subject") 
	  
	'or display the subject using 
	a DASL schema name that treats the subject as a generic MAPI property 
	MsgBox Mail.Fields("http://schemas.microsoft.com/mapi/proptag/0x0037001E") 
	  
	'or we can also use the 
	regular PR_xxx integer property tag 
	PR_SUBJECT = &H0037001E 
	MsgBox Mail.Fields(PR_SUBJECT)  | 
   
 
  
The following example accesses the 
Inbox folder and opens the PR_CONTAINER_CONTENTS property as
Redemption.MAPITable object, and displays the 
number of items in the folder. Note that the same result can be achieved by 
using the RDOFolder.Items.Count property 
  
    | 
	 
	PR_CONTAINER_CONTENTS = &H360F000D 
	set Session = CreateObject("Redemption.RDOSession") 
	Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
	set Folder = Session.GetDefaultFolder(olFolderInbox) 
	set MAPITable = Folder.Fields(PR_CONTAINER_CONTENTS) 
	MsgBox MAPITable.RowCount  | 
   
 
  
Properties 
Methods 
  
	
		
  | 
	 
	
		
		Derived from: 
		IDispatch
		 | 
	 
	
		
		
  | 
	 
	
		
		Properties | 
	 
	
		
		
  | 
	 
	
		| 
		 Fields(PropTag)  | 
		
		 Returns or sets an Extended 
		MAPI property 
		PropTag - either a 
		DASL property name or an in integer Extended MAPI property tag. 
		CDO named property format (see
		CDOLive) 
		is also supported. You can use 
		one of the MAPITags enumeration 
		elements, e.g. MAPITags.PR_SUBJECT. E.g. to 
		read the PR_SUBJECT property, one can use the following values of the 
		PropTag parameter: 
		0x0037001E (integer) 
		"urn:schemas:httpmail:subject" 
		"http://schemas.microsoft.com/mapi/proptag/0x0037001E" 
		E.g. to access the ReminderSet named property 
		({00062008-0000-0000-C000-000000000046}, 0x8503, PT_BOOLEAN), one can 
		use either call GetIDsFromNames to retrieve the integer prop tag and 
		then use Fields or skip GetIDsFromNames and use Fields with one of the 
		following tags: 
		"http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8503000B" 
		"{0820060000000000C000000000000046}0x8503"   
		Scalar properties are returned as variants of the corresponding type 
		(e.g. PT_STRING8 and PT_UNICODE properties are returned as strings, 
		PT_LONG as integers, etc). For 
		the object properties (PT_OBJECT, such as PR_CONTAINER_CONTENTS, 
		PR_ACL_TABLE, etc) Redemption tries to open them as IMAPITable Extended 
		MAPI object and, if successful, returns an instance of the
		Redemption.MAPITable object    | 
		
		 See example above and below  | 
	 
	
		| 
		 MAPIOBJECT  | 
		
		 IUnknown, read-only. 
		Returns the Extended MAPI 
		object used internally by the RDO object; e.g. IMessage for the 
		RDOMailObject, IMailUser for RDOAddressEntry, etc.    | 
		
		    | 
	 
	
		| 
		 Session  | 
		
		 
		RDOSession, read-only. Returns the parent Session object  | 
		
		    | 
	 
	
		
  | 
	 
	
		
		Methods | 
	 
	
		
		
  | 
	 
	
		| 
		 GetIDsFromNames(GUID,
		ID)  | 
		
		 Returns an id suitable for 
		use in the Fields() collection given the GUID (as string) and ID (can be 
		either integer or a string).  
		For the discussion of the 
		named properties, see the Extended 
		MAPI properties section, especially the section on named properties.  | 
		
		 'Is the reminder set for 
		the given message? 
		PT_BOOLEAN = &H000B 
		PR_REMINDER_SET = 
		RDOMail.GetIdsFromNames("{00062008-0000-0000-C000-000000000046}", 
		&H8503) 
		PR_REMINDER_SET = 
		PR_REMINDER_SET or PT_BOOLEAN 
		MsgBox 
		RDOMail.Fields(PR_REMINDER_SET) 
		'the same property can be 
		accessed using the DASL property name 
		MsgBox RDOMail.Fields("http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8503000B") 
		'or using the CDO 1.21 named property tag format MsgBox RDOMail.Fields("{0820060000000000C000000000000046}0x8503")  | 
	 
	
		| 
		 GetPropList(Flags,
		UseUnicode)  | 
		
		 Returns PropList collection 
		that represents all properties exposed by the object. 
		   
		Flags - integer. Not currently used. 
		UseUnicode, optional, boolean. Pass TRUE to force 
		GetPropList to return Unicode property tags. 
		   | 
		
		 set PropList = 
		RDOMail.GetPropList 
		for i = 1 to PropList.Count 
		  Debug.Print(Hex(PropList(i))) 
		Next  | 
	 
	
		| 
		 GetNamesFromIDs(MAPIProp, 
		PropTag)  | 
		
		 Given a prop tag 
		(>=0x80000000), returns the GUID and id of the named property. This is 
		the reverse of the GetIDsFromNames method. 
		Returns a NamedProperty 
		object which exposes two properties: GUID (string) and ID (either an 
		integer or a string)   
		MAPIProp - IUnknown. Not used, pass NULL. 
		PropTag - integer, the named property tag 
		(>=0x80000000).    | 
		
		    | 
	 
	
		| 
		 CopyTo(DestObj)  | 
		
		 Copies the object to the 
		target object. The exact behavior depends on the source and target 
		objects.    | 
		
		    | 
	 
	
		| 
		 Save  | 
		
		 Saves the object. Note that 
		some objects (such as Store) are not transacted, hence Save is not 
		required. Other objects (such as messages) require the changes to be 
		saved if you want to persist them.  | 
		
		 RDOMail.Subject = "New 
		subject" 
		RDOMail.Save  | 
	 
	
		| 
		    | 
		
		    | 
		
		    | 
	 
	 
                 |