Last modified: July 23, 2011

Applies to: Outlook

Describes a globally unique identifier (GUID).

Header file:


typedef struct _GUID
  unsigned long Data1;
  unsigned short Data2;
  unsigned short Data3;
  unsigned char Data4[8];


An unsigned long integer data value.


An unsigned short integer data value.


An unsigned short integer data value.


An array of unsigned characters.

GUID structures are used in MAPI as follows:

  • In the MAPIUID structures that uniquely identify service providers.

  • For interface identifiers.

  • In the property set names of named properties.

Message store and address book providers generate a GUID structure to use in their MAPIUID structure. By passing the resulting MAPIUID to IMAPISupport::SetProviderUID, these service providers inform MAPI of their unique identifier.

Also, they are used in the implementation of Microsoft Remote Procedure Call (RPC) and the Object Description Language (ODL). For more information about these uses, see the Microsoft RPC Programmer's Guide and Reference, OLE Programmer's Reference,and Inside OLE, Second Edition.

The GUID structure is defined in the Win32 Programmer's Reference. Specific values for GUID structures that are used within MAPI are defined in the MAPI header file Mapiguid.h.