Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function retrieves a list of the authentication services registered when the process called CoInitializeSecurity.

Syntax

HRESULT CoQueryAuthenticationServices(
  DWORD* 
pcAuthSvc,
  SOLE_AUTHENTICATION_SERVICE** 
asAuthSvc
);

Parameters

pcAuthSvc

[out] Pointer to return the number of entries returned in the rgAuthSvcarray. May not be NULL.

asAuthSvc

[out] Pointer to an array of SOLE_AUTHENTICATION_SERVICEstructures. The list is allocated through a call to CoTaskMemAlloc. The caller must free the list when finished with it by calling CoTaskMemFree.

Return Value

This function supports the standard return values E_INVALIDARG and E_OUTOFMEMORY, as well as the following:

S_OK

Indicates success.

Remarks

CoQueryAuthenticationServicesretrieves a list of the authentication services currently registered.

If the process calls CoInitializeSecurity, these are the services registered through that call.

If the application does not call it, CoInitializeSecurityis called automatically by COM, registering the default security package, the first time an interface is marshaled or unmarshaled.

This function returns only the authentication services registered with CoInitializeSecurity. It does not return all of the authentication services installed on the machine. CoQueryAuthenticationServicesis primarily useful for custom marshalers, to determine which principal names an application can use.

Different authentication services help support different levels of security. For example, NTLMSSP does not support delegation or mutual authentication while Kerberos does.

The application is responsible only for registering authentication services that provide the features the application needs. This function provides a way to find out which services have been registered with CoInitializeSecurity.

To determine whether the platform supports this function, see Determining Supported COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions