Compartilhar via


ValidateParms

Aplica-se a: Outlook 2013 | Outlook 2016

Chama uma função interna para marcar os parâmetros que os aplicativos cliente passaram para provedores de serviços.

Propriedade Valor
Arquivo de cabeçalho:
Mapival.h
Implementado por:
MAPI
Chamado por:
Provedores de serviços
HRESULT ValidateParms(
  METHODS eMethod,
  LPVOID First
);

Parâmetros

eMethod

[in] Especifica, por enumeração, o método a ser validado.

Primeira

[in] Ponteiro para o primeiro argumento na pilha.

Valor de retorno

S_OK

Todos os parâmetros são válidos.

MAPI_E_CALL_FAILED

Um ou mais dos parâmetros não são válidos.

Comentários

Os parâmetros passados entre MAPI e provedores de serviços são considerados corretos e passam apenas pela validação de depuração com a macro CheckParms . Os provedores devem marcar todos os parâmetros passados por aplicativos cliente, mas os clientes devem assumir que os parâmetros MAPI e provedor estão corretos. Use a macro HR_FAILED para testar valores retornados.

ValidateParms é chamado de forma diferente, dependendo se o código de chamada é C ou C++. O C++ passa um parâmetro implícito conhecido como isso para cada chamada de método, que se torna explícita em C e é o endereço do objeto. O primeiro parâmetro, eMethod, é um enumerador feito da interface e do método que está sendo validado e informa quais parâmetros esperar encontrar na pilha. O segundo parâmetro é diferente para C e C++. No C++ ele é chamado primeiro e é o primeiro parâmetro para o método que está sendo validado. O segundo parâmetro para a linguagem C, ppThis, é o endereço do primeiro parâmetro para o método que é sempre um ponteiro de objeto. Em ambos os casos, o segundo parâmetro fornece o endereço do início da lista de parâmetros do método e, com base em eMethod, desce a pilha e valida os parâmetros.

Provedores que implementam interfaces comuns como IMAPITable e IMAPIProp devem sempre marcar parâmetros usando a função ValidateParms para garantir a consistência em todos os provedores. Funções adicionais de validação de parâmetro foram definidas para alguns tipos de parâmetro complexos a serem usados conforme apropriado. Confira os tópicos de referência para as seguintes funções:

Os métodos herdados usam a mesma validação de parâmetro que a interface da qual herdam. Por exemplo, a verificação de parâmetros para IMessage e IMAPIProp deve ser a mesma.

Confira também

UlValidateParms