Compartilhar via


ENTRYID

Aplica-se a: Outlook 2013 | Outlook 2016

Contém um identificador de entrada para um objeto MAPI.

Propriedade Valor
Arquivo de cabeçalho:
Mapidefs.h
Macros relacionadas:
CbNewENTRYID, SizedENTRYID
typedef struct
{
  BYTE abFlags[4];
  BYTE ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;

Members

Abflags

Bitmask de sinalizadores que fornecem informações que descrevem o objeto. Somente o primeiro byte dos sinalizadores, abFlags[0], pode ser definido pelo provedor; os outros três são reservados. Esses sinalizadores não devem ser definidos para identificadores de entrada permanentes; eles são definidos apenas para identificadores de entrada de curto prazo. Para clientes, essa estrutura é somente leitura. Os seguintes sinalizadores podem ser definidos em abFlags[0]:

MAPI_NOTRECIP

O identificador de entrada não pode ser usado como destinatário em uma mensagem.

MAPI_NOTRESERVED

Outros usuários não podem acessar o identificador de entrada.

MAPI_NOW

O identificador de entrada não pode ser usado em outras ocasiões.

MAPI_SHORTTERM

O identificador de entrada é de curto prazo. Todos os outros valores neste byte devem ser definidos, a menos que outros usos do identificador de entrada estejam habilitados.

MAPI_THISSESSION

O identificador de entrada não pode ser usado em outras sessões.

Ab

Indica uma matriz de dados binários que é usada por provedores de serviços. O aplicativo cliente não pode usar essa matriz.

Comentários

A estrutura ENTRYID é usada pelo repositório de mensagens e provedores de catálogo de endereços para construir identificadores exclusivos para seus objetos. Os identificadores de entrada são usados para identificar os seguintes tipos de objetos:

  • Repositórios de mensagens

  • Pastas

  • Mensagens

  • Contêineres do catálogo de endereços

  • Listas de distribuição

  • Usuários de mensagens

  • Objetos de status

  • Seções de perfil

Cada provedor usa um formato para a estrutura ENTRYID que faz sentido para esse provedor.

Os identificadores de entrada não podem ser comparados diretamente porque um objeto pode ser representado por dois valores binários diferentes. Para determinar se dois identificadores de entrada representam o mesmo objeto, chame o método IMAPISession::CompareEntryIDs .

Quando um cliente chama o método IMAPIProp::GetProps de um objeto para recuperar seu identificador de entrada, o objeto retorna a forma mais permanente do identificador de entrada. Um cliente pode verificar se um identificador de entrada é de longo prazo verificando se nenhum dos sinalizadores está definido no primeiro byte do membro abFlags .

Quando um cliente acessa um identificador de entrada por meio de uma coluna em uma tabela, provavelmente esse identificador de entrada é de curto prazo em vez de longo prazo. Os identificadores de entrada de curto prazo podem ser usados para abrir seus objetos correspondentes apenas na sessão MAPI atual. Um cliente pode verificar se um identificador de entrada é de curto prazo verificando se todos os sinalizadores estão definidos no primeiro byte do membro abFlags .

Alguns identificadores de entrada são de curto prazo, mas têm uso de longo prazo. Esse identificador de entrada terá um ou mais dos sinalizadores apropriados definidos no primeiro byte de seu membro abFlags .

Uma estrutura ENTRYID se assemelha a uma estrutura FLATENTRY . No entanto, há algumas diferenças:

  • Uma estrutura ENTRYID não armazena o tamanho do identificador de entrada; uma estrutura FLATENTRY faz.

  • Uma estrutura ENTRYID armazena os dados do sinalizador e o restante do identificador de entrada separadamente; uma estrutura FLATENTRY armazena os dados de sinalizador com o restante do identificador de entrada.

  • Uma estrutura ENTRYID é passada como um parâmetro para os métodos da interface IMAPIProp e para os seguintes métodos OpenEntry : IABLogon::OpenEntry, IAddrBook::OpenEntry, IMAPIContainer::OpenEntry, IMAPISession::OpenEntry, IMAPISupport::OpenEntry, IMsgStore::OpenEntry, IMSLogon::OpenEntry

  • Uma estrutura ENTRYID é usada para armazenar um identificador de entrada no disco. Uma estrutura FLATENTRY é usada para armazenar um identificador de entrada em um arquivo ou passá-lo em um fluxo de bytes.

Os clientes devem sempre passar identificadores de entrada alinhados naturalmente. Embora os provedores devem lidar com identificadores de entrada alinhados arbitrariamente, os clientes não devem esperar esse comportamento. A falha ao passar um bom identificador de entrada alinhado para um método pode causar uma falha de alinhamento nos processadores RISC.

O fator de alinhamento natural, normalmente 8 bytes, é o maior tipo de dados com suporte da CPU e, geralmente, o mesmo fator de alinhamento usado pelo alocador de memória do sistema. Um endereço de memória alinhado naturalmente permite que a CPU acesse qualquer tipo de dados compatível nesse endereço sem gerar uma falha de alinhamento. Para CPUs risc, um tipo de dados de tamanho N bytes geralmente deve ser alinhado em um até mesmo vários bytes N, com o endereço sendo um múltiplo par de N.

Para obter mais informações, consulte Identificadores de Entrada.

Confira também

FLATENTRY

IMAPISupport::CompareEntryIDs

Propriedade Canônica PidTagRecordKey

Estruturas MAPI