IProviderAdmin::CreateProvider
Aplica-se a: Outlook 2013 | Outlook 2016
Adiciona um provedor de serviços ao serviço de mensagens.
HRESULT CreateProvider(
LPSTR lpszProvider,
ULONG cValues,
LPSPropValue lpProps,
ULONG_PTR ulUIParam,
ULONG ulFlags,
MAPIUID FAR * lpUID
);
Parâmetros
lpszProvider
[in] Um ponteiro para o nome do provedor a ser adicionado.
cValues
[in] A contagem de valores de propriedade apontados pelo parâmetro lpProps .
lpProps
[in] Um ponteiro para uma matriz de valor de propriedade que descreve as propriedades do provedor a serem adicionadas.
ulUIParam
[in] Um identificador para a janela pai de qualquer caixa de diálogo ou janelas que este método exibe. O parâmetro ulUIParam será usado se o sinalizador MAPI_DIALOG for definido no parâmetro ulFlags .
ulFlags
[in] Um bitmask de sinalizadores que controla a adição do provedor. Os seguintes sinalizadores podem ser definidos:
MAPI_DIALOG: exibe uma caixa de diálogo para solicitar informações de configuração.
MAPI_UNICODE: o nome do provedor e as propriedades da cadeia de caracteres estão no formato Unicode. Se o sinalizador MAPI_UNICODE não estiver definido, essas cadeias de caracteres estarão no formato ANSI.
lpUID
[out] Um ponteiro para a estrutura MAPIUID que contém o identificador exclusivo que representa o provedor a ser adicionado.
Valor de retorno
S_OK
O provedor foi adicionado com êxito ao serviço de mensagens.
MAPI_E_USER_CANCEL
O usuário cancelou a operação, normalmente clicando no botão Cancelar em uma caixa de diálogo.
Comentários
O método IProviderAdmin::CreateProvider adiciona um provedor de serviços ao serviço de mensagem. O parâmetro lpszProvider deve apontar para o nome de um provedor que pertence ao serviço de mensagem. CreateProvider não verifica se o nome corresponde ao nome de um provedor no serviço; se o nome passado não corresponder a um nome de serviço, a chamada será bem-sucedida, mas os resultados serão imprevisíveis. A maioria dos serviços de mensagem não permite que os provedores sejam adicionados ou excluídos enquanto o perfil estiver em uso.
Depois que todas as informações disponíveis sobre o provedor de serviços foram adicionadas ao perfil do arquivo Mapisvc.inf, CreateProvider chama a função de ponto de entrada do serviço de mensagem com o parâmetro ulContext definido como MSG_SERVICE_PROVIDER_CREATE. Se MAPI_DIALOG for definido no parâmetro ulFlags do método CreateProvider, os valores nos parâmetros ulUIParam e ulFlags também serão passados para a função de ponto de entrada. Esses parâmetros adicionais permitem que o provedor de serviços exiba sua folha de propriedades para que o usuário possa inserir as configurações.