Função CoQueryAuthenticationServices (combaseapi.h)

Recupera uma lista dos serviços de autenticação registrados quando o processo chamado CoInitializeSecurity.

Sintaxe

HRESULT CoQueryAuthenticationServices(
  [out] DWORD                       *pcAuthSvc,
  [out] SOLE_AUTHENTICATION_SERVICE **asAuthSvc
);

Parâmetros

[out] pcAuthSvc

Um ponteiro para uma variável que recebe o número de entradas retornadas na matriz asAuthSvc .

[out] asAuthSvc

Um ponteiro para uma matriz de estruturas de SOLE_AUTHENTICATION_SERVICE . A lista é alocada por meio de uma chamada para a função CoTaskMemAlloc . O chamador deve liberar a lista quando terminar com ela chamando a função CoTaskMemFree .

Retornar valor

Essa função pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e S_OK.

Comentários

CoQueryAuthenticationServices recupera uma lista dos serviços de autenticação registrados no momento. Se o processo chamar CoInitializeSecurity, esses serão os serviços registrados por meio dessa chamada. Se o aplicativo não chamá-lo, CoInitializeSecurity será chamado automaticamente pelo COM, registrando o pacote de segurança padrão, na primeira vez em que uma interface é marshaled ou desmarsada.

Essa função retorna apenas os serviços de autenticação registrados com CoInitializeSecurity. Ele não retorna todos os serviços de autenticação instalados no computador, mas EnumerateSecurityPackages retorna. CoQueryAuthenticationServices é útil principalmente para marshalers personalizados, para determinar quais nomes de entidade de segurança um aplicativo pode usar.

Diferentes serviços de autenticação dão suporte a diferentes níveis de segurança. Por exemplo, o NTLMSSP não dá suporte à delegação nem à autenticação mútua enquanto o Kerberos o faz. O aplicativo é responsável apenas por registrar serviços de autenticação que fornecem os recursos de que o aplicativo precisa. Essa função fornece uma maneira de descobrir quais serviços foram registrados com CoInitializeSecurity.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho combaseapi.h (inclua Objbase.h)
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

CoInitializeSecurity

SOLE_AUTHENTICATION_SERVICE

Segurança no COM