Platform SDK: MAPI

MAPIUID

The MAPIUID structure is a byte-order independent version of a GUID structure and is used to uniquely identify a service provider.

Quick Info

Header file: MAPIDEFS.H
Related macro: IsEqualMAPIUID

typedef struct _MAPIUID 
{ 
     BYTE ab[16]; 
} MAPIUID, FAR *LPMAPIUID; 
 

Members

ab
An array containing a 16-byte identifier.

Remarks

A MAPIUID structure — MAPI unique identifier — is a GUID structure put into Intel® processor byte order. That is, MAPIUID and GUID structures have the same byte order when used on an Intel-processor computer. However, on a computer that uses a different byte order — for example, a Motorola®-processor computer — the MAPIUID has the same byte order as on the Intel machine and the GUID uses the byte order specific to the Motorola-processor computer.

MAPI creates MAPIUID structures in a way that makes it extremely rare for two different items to have the same identifier. MAPIUID structures can be stored as binary properties or as files, without regard to the byte ordering of the computer storing or accessing the information.

MAPIUID structures are used:

To generate a MAPIUID identifier for a profile section or an entry identifier, service providers call the Microsoft utility UUIDGEN.EXE. To generate a MAPIUID identifier for a search key, service providers call IMAPISupport::NewUID.

When a client transmits a message across a network, it should use a protocol or transmission format that does not change the byte order of MAPIUID data.

For more information about how MAPIUID structures are used, see the following topics:

Registering Service Provider Unique Identifiers

Registering a Preprocessor

Setting Transport Order

See Also

ID Structures, GUID, IMAPISession::OpenProfileSection, IMAPISupport::NewUID