CoQueryAuthenticationServices

HRESULT CoQueryAuthenticationServices(pcbAuthSvc, adwAuthSvc);

Returns a list of the authentication services that are installed on the computer. The list can be used as input to CoRegisterAuthenticationService. Different authentication services support different levels of security. For example, NTLMSSP does not support delegation or mutual authentication while Kerberos does. The application is responsible for only registering authentication services that provide the features the application needs. There is no way to query which services have been registered with CoRegisterAuthenticationService.

Argument

Type

Description

pcbAuthSvc

DWORD*

Returns a count of the authentication services supported on the computer.

adwAuthSvc

DWORD**

Returns a list of authentication services supported on the computer. The enumeration of authentication services is in rpcdce.h. Authentication services that are not currently in the enumeration may be installed on a computer without upgrading the operating system. The list is allocated by CoTaskMemAlloc. The application must free the list by calling CoTaskMemFree.

Returns

S_OK

Success.

E_INVALIDARG

One or more arguments are invalid.

E_OUTOFMEMORY

Insufficient memory to create the adwAuthSvc out-parameter.