IMAPIFormMgr::ResolveMessageClass
Aplica-se a: Outlook 2013 | Outlook 2016
Resolve uma classe de mensagem para seu formulário dentro de um contêiner de formulário e retorna um objeto de informações de formulário para esse formulário.
HRESULT ResolveMessageClass(
LPCSTR szMsgClass,
ULONG ulFlags,
LPMAPIFOLDER pFolderFocus,
LPMAPIFORMINFO FAR * ppResult
);
Parâmetros
szMsgClass
[in] Uma cadeia de caracteres que nomeia a classe de mensagem que está sendo resolvida.
ulFlags
[in] Um bitmask de sinalizadores que controla como a classe de mensagem é resolvida. O seguinte sinalizador pode ser definido:
MAPIFORM_EXACTMATCH
Somente cadeias de caracteres de classe de mensagem que são uma correspondência exata devem ser resolvidas.
pFolderFocus
[in] Um ponteiro para a pasta que contém a mensagem que está sendo resolvida. O parâmetro pFolderFocus pode ser NULL.
ppResult
[out] Um ponteiro para um ponteiro para um objeto de informações de formulário retornado.
Valor de retorno
S_OK
A chamada foi bem-sucedida e retornou o valor ou valores esperados.
MAPI_E_NOT_FOUND
A classe de mensagem passada no parâmetro szMsgClass não corresponde à classe de mensagem para qualquer formulário na biblioteca de formulários.
Comentários
Os visualizadores de formulário chamam o método IMAPIFormMgr::ResolveMessageClass para resolve uma classe de mensagem ao seu formulário dentro de um contêiner de formulário. O objeto de informações de formulário retornado no parâmetro ppResult fornece acesso adicional às propriedades do formulário que tem a classe de mensagem fornecida.
Notas para chamadores
Para resolve uma classe de mensagem para um formulário, um visualizador de formulários passa o nome da classe de mensagem a ser resolvido, como " IPM.HelpDesk.Software
". Para forçar a resolução a ser exata (ou seja, para impedir a resolução para uma classe base da classe de mensagem quando um servidor de formulário exatamente correspondente não estiver disponível), o sinalizador MAPIFORM_EXACTMATCH pode ser passado no parâmetro ulFlags . Se o parâmetro pFolderFocus for NULL, o processo de resolução da classe de mensagem não pesquisará um contêiner de pasta.
A ordem dos contêineres pesquisados depende da implementação do provedor de biblioteca de formulários. O provedor de biblioteca de formulários padrão pesquisa primeiro o contêiner local, depois o contêiner de pasta para a pasta passada, o contêiner de formulário pessoal e, por fim, o contêiner da organização.
Nomes de classe de mensagem são sempre cadeias de caracteres ANSI, nunca Unicode.
O identificador de classe da classe de mensagem resolvida é retornado como parte do objeto de informações do formulário. Um visualizador de formulários não deve trabalhar na suposição de que o identificador de classe existe na biblioteca OLE até que o visualizador de formulários tenha chamado o método IMAPIFormMgr::P repareForm ou o método IMAPIFormMgr::CreateForm .