
HRESULT GetPropList(
ULONG ulFlags,
LPSPropTagArray FAR * lppPropTagArray
);
Retrieves a list of the property tags on the object.
| S_OK | All of the property tags were returned successfully. |
| MAPI_E_BAD_CHARWIDTH | Either the MAPI_UNICODE flag was set and the implementation does not support Unicode, or MAPI_UNICODE was not set and the implementation only supports Unicode. |
HRESULT GetProps(
LPSPropTagArray lpPropTagArray,
ULONG ulFlags,
ULONG FAR * lpcValues,
LPSPropValue FAR * lppPropArray
);
Retrieves the property tag information for the distribution list items.
| S_OK | The property values were successfully retrieved. |
| MAPI_W_ERRORS_RETURNED | The call succeeded overall, but one or more properties could not be accessed. The ulPropTag member of the property value for each inaccessible property in the lppPropArray parameter has a property type of PT_ERROR and an identifier of zero. When this warning is returned, the call should be handled as successful. To test for this warning, use the FAILED macro. |
| MAPI_E_INVALID_PARAMETER | Zero was passed in the cValues member of the SPropTagArray structure pointed to by lpPropTagArray. |
Currently not implemented by Internet Explorer Address Book.
HRESULT OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
ULONG ulFlags,
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk
);
Opens an entry contained in the distribution list and returns a pointer to the object to provide further access.
| S_OK | The entry was successfully opened. |
| MAPI_E_NO_ACCESS | An attempt was made to open an entry for which the user has insufficient permissions. |
| MAPI_E_NOT_FOUND | The entry represented by lpEntryID does not exist. |
| MAPI_E_UNKNOWN_ENTRYID | The entry identifier specified in lpEntryID is not recognized. This value is typically returned if the address book provider responsible for the corresponding entry is not open. |
| MAPI_BEST_ACCESS | Specifies to open with best available access rights. |
| MAPI_MODIFY | Requests read/write access. |
| MAPI_DEFERRED_ERRORS | Currently not supported by Internet Explorer Address Book. |
Currently not implemented by Internet Explorer Address Book.
Currently not implemented by Internet Explorer Address Book.
HRESULT SaveChanges(
ULONG ulFlags
);
Provides the ability to save changes to the open distribution list object.
| S_OK | The commitment of changes has been successful. |
| MAPI_E_NO_ACCESS | SaveChanges cannot keep the object open for read-only access if KEEP_OPEN_READONLY is set, or read/write access if KEEP_OPEN_READWRITE is set. No changes are committed. |
| MAPI_E_OBJECT_CHANGED | The object has changed since it was opened. |
| MAPI_E_OBJECT_DELETED | The object has been deleted since it was opened. |
| FORCE_SAVE | Writes changes to the object and closes it. Read-write access must have been set for the operation to succeed. This flag forces saving only if MAPI_E_OBJECT_CHANGED was returned from a preceding SaveChanges call. FORCE_SAVE overrides the previous changes made to the object. |
| KEEP_OPEN_READONLY | Indicates the client requests changes be committed and the object be kept open for reading. This flag informs the provider that the object should not be modified and that the calling implementation will not call SaveChanges again. If the provider cannot keep the object open for read-only access, the entire call fails, changes are not saved, and MAPI_E_NO_ACCESS is returned. |
| KEEP_OPEN_READWRITE | Indicates the client requests changes be committed and the object be kept open for read-write access. This flag is usually set when the object was initially opened for read-write access. After calling SaveChanges, the client can make further changes to the object if this flag is passed. If the provider cannot keep the object open for read-write access, the entire call fails, changes are not saved, and MAPI_E_NO_ACCESS is returned. |
| MAPI_DEFERRED_ERRORS | Not supported by Internet Explorer Address Book. |
HRESULT SetProps(
ULONG cValues,
LPSPropValue lpPropArray,
LPSPropProblemArray FAR * lppProblems
);
Sets property values on a distribution list object.
| S_OK | The properties were successfully updated. The following values can be returned in the SPropProblemArray structure, but not as return values for SetProps. |
| MAPI_E_BAD_CHARWIDTH | Either the MAPI_UNICODE flag was set and the implementation does not support Unicode, or MAPI_UNICODE was not set and the implementation only supports Unicode. |
| MAPI_E_COMPUTED | The property cannot be updated because it is read-only, computed by the service provider responsible for the object. |
| MAPI_E_INVALID_TYPE | The property type is invalid. |
| MAPI_E_NO_ACCESS | An attempt was made to modify a read-only object or to access an object for which the user has insufficient permissions. |
| MAPI_E_NOT_ENOUGH_MEMORY | The property cannot be updated because it is larger than the RPC buffer size. |
| MAPI_E_UNEXPECTED_TYPE | The property type is not the type expected by the calling implementation. |
Currently not implemented by Internet Explorer Address Book.
The IMailUser interface is implemented by messaging user objects. IMailUser inherits from the IMAPIProp interface and has no unique methods of its own. The IMailUser interface provides access to the many properties that are associated with messaging users. The organization of the method list for IMailUser is arranged in v-table order.
| IMailUser methods |
| GetLastError |
| SaveChanges |
| GetProps |
| GetPropList |
| OpenProperty |
| SetProps |
| DeleteProps |
| CopyTo |
| CopyProps |
| GetNamesFromIDs |
| GetIDsFromNames |
Currently not implemented by Internet Explorer Address Book.
Currently not implemented by Internet Explorer Address Book.
HRESULT DeleteProps(
LPSPropTagArray lpPropTagArray,
LPSPropProblemArray FAR * lppProblems
);
Deletes property values from a mail user object.
HRESULT GetIDsFromNames(
ULONG cPropNames,
LPMAPINAMEID FAR * lppPropNames,
ULONG ulFlags,
LPSPropTagArray FAR * lppPropTags
);
Registers named properties with the mail user object.
| S_OK | The identifiers for the specified property names were successfully returned. |
| MAPI_E_NO_SUPPORT | The object does not support named properties. |
| MAPI_E_NOT_ENOUGH_MEMORY | Insufficient memory was available to retrieve the identifiers. |
| MAPI_E_TOO_BIG | The operation cannot be performed because it requires too many property tags be returned. |
| MAPI_W_ERRORS_RETURNED | The call succeeded overall, but one or more property identifiers could not be returned. The corresponding property type for each inaccessible property is set to PT_ERROR and its identifier to zero. When this warning is returned, handle the call as successful. To test for this warning, use the FAILED macro. |
| MAPI_CREATE | Creates a property identifier for any name not already mapped. The default is to fail those non-existent property names. |
Currently not implemented by Internet Explorer Address Book.
Currently not implemented by Internet Explorer Address Book.
HRESULT GetPropList(
ULONG ulFlags,
LPSPropTagArray FAR * lppPropTagArray
);
Gets a list of the property tags on the object.
HRESULT GetProps(
LPSPropTagArray lpPropTagArray,
ULONG ulFlags,
ULONG FAR * lpcValues,
LPSPropValue FAR * lppPropArray
);
Gets property values from a mail user object.
Currently not implemented by Internet Explorer Address Book.
HRESULT SaveChanges(
ULONG ulFlags
);
Saves changes to the open mail user object. Note that the following properties may be calculated and changed at SaveChanges:
| PR_DISPLAY_NAME |
| PR_GIVEN_NAME |
| PR_SURNAME |
| PR_LAST_MODIFICATION_TIME |
| S_OK | The commitment of changes has been successful. |
| MAPI_E_NO_ACCESS | SaveChanges cannot keep the object open for read-only access if KEEP_OPEN_READONLY is set, or read/write access if KEEP_OPEN_READWRITE is set. No changes are committed. |
| MAPI_E_OBJECT_CHANGED | The object has changed since it was opened. |
| MAPI_E_OBJECT_DELETED | The object has been deleted since it was opened. |
| FORCE_SAVE | Writes changes to the object and closes it. Read-write access must have been set for the operation to succeed. This flag forces saving only if MAPI_E_OBJECT_CHANGED was returned from a preceding SaveChanges call. FORCE_SAVE overrides the previous changes made to the object. |
| KEEP_OPEN_READONLY | Indicates the client requests changes be committed and the object be kept open for reading. This flag informs the provider that the object should not be modified and that the calling implementation will not call SaveChanges again. If the provider cannot keep the object open for read-only access, the entire call fails, changes are not saved, and MAPI_E_NO_ACCESS is returned. |
| KEEP_OPEN_READWRITE | Indicates the client requests changes be committed and the object be kept open for read-write access. This flag is usually set when the object was initially opened for read-write access. After calling SaveChanges, the client can make further changes to the object if this flag is passed. If the provider cannot keep the object open for read-write access, the entire call fails, changes are not saved, and MAPI_E_NO_ACCESS is returned. |
| MAPI_DEFERRED_ERRORS | Currently not supported by Internet Explorer Address Book. |
HRESULT SetProps(
ULONG cValues,
LPSPropValue lpPropArray,
LPSPropProblemArray FAR * pProblems
);
Sets the property values on a mail user object.
The Internet Explorer Address Book object contains function pointers to memory allocation functions and database maintenance functions. The organization of the method list for IWABObject is arranged in v-table order.
| IWABObject methods |
| GetLastError |
| AllocateBuffer |
| AllocateMore |
| FreeBuffer |
| Backup |
| Import |
| Find |
| VCardDisplay |
| LDAPUrl |
| VCardCreate |
| VCardRetrieve |
| GetMe |
| SetMe |
HRESULT AllocateBuffer(
ULONG cbSize,
LPVOID FAR * lppBuffer
);
Allocates a memory for a buffer. This is the allocation routine that should be used for buffers passed to Internet Explorer Address Book methods. The buffer should be freed with FreeBuffer and can be reallocated with AllocateMore.
HRESULT AllocateMore(
ULONG cbSize,
LPVOID lpObject,
LPVOID FAR * lppBuffer
);
Allocates a memory buffer that is linked to another buffer previously allocated with the AllocateBuffer function.
The only way to release a buffer allocated with AllocateMore is to pass the buffer pointer specified in the lpObject parameter to the FreeBuffer function. The link between the memory buffers allocated with AllocateBuffer and AllocateMore enables FreeBuffer to release both buffers with a single call.
Currently not implemented in Internet Explorer Address Book.
HRESULT Find(
HWnd
);
Launches the address book's Find dialog box. (Internet Explorer 4.0 only)
HRESULT FreeBuffer(
LPVOID lpBuffer
);
Frees memory allocated with AllocateBuffer or any of the Internet Explorer Address Book methods.
Currently not implemented in Internet Explorer Address Book.
Currently not implemented in Internet Explorer Address Book.
Currently not implemented in Internet Explorer Address Book.
HRESULT IWABObject::LDAPUrl (
HWND hWnd,
ULONG ulFlags,
LPTSTR lpszLDAPURL,
LPMailUser * lppMailUser
);
This method processes a given LDAP Url and displays corresponding results. If the URL only contains a server name, the method will display the WAB Find dialog with the server name filled in, enabling the user to manually search the server. If the URL contains an explicit LDAP query, this method performs a search based on the query. If the query produces a single result, the method shows details on the single result, else if the query has multiple results, the method shows the WAB Find dialog with multiple search results filled in. If WABOBJECT_LDAPURL_RETURN_MAILUSER is specified in the ulFlags parameter, the method returns a IMailUser object, if the query returns a single specific result, else returns a MAPI_E_AMBIGUOUS_RECIP if the query returns multiple hits.
Currently not implemented in Internet Explorer Address Book.
HRESULT VCardCreate(
lpAdrBook,
lpFileName,
lpMailUser
);
Translates the properties of an IMailUser object into a business card (vCard) file. (The vCard file format is an Internet standard for exchanging contact information through text based files).
The complete file name must be specified. If the file already exists, it will be overwritten.
Warning! This API is in development at this time, and is subject to change.
HRESULT VCardDisplay(
lpAdrBook,
hWnd,
lpFileName
);
Displays the contents of a business card (vCard) file. The complete file name must be specified.
Warning! This API is in development at this time, and is subject to change.
HRESULT VCardRetrieve(
lpAdrBook,
lpFileName,
lppMailUser
);
Reads a vCard file and creates a MailUser object containing the vCard properties.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.