IServerSecurity::QueryBlanket

HRESULT IServerSecurity::QueryBlanket(Privs, ServerPrincName, AuthnLevel, AuthnSvc, AuthzSvc);

This method is used by the server to find out about the client that invoked one of its methods. CoGetCallContext with IID_ISeverSecurity returns an IServerSecurity interface for the current call on the current thread. This interface pointer may be used on any thread and calls to it may succeed until the call completes.

Argument

Type

Description

Privs

RPC_AUTHZ _HANDLE*

Returns a pointer to a handle to the privilege information for the client application. The format of the structure is authentication-service specific. The application should not write or free the memory. The information is only valid for the duration of the current call. NULL may be passed if the application is not interested in this parameter.

ServerPrincName

WCHAR*

This parameter indicates the principal name the client specified. It is a copy allocated with CoTaskMemAlloc. The application must call CoTaskMemFree to release it. NULL may be passed if the application is not interested in this parameter.

AuthnLevel

DWORD*

This parameter indicates the authentication level. NULL may be passed if the application is not interested in this parameter.

AuthnSvc

DWORD*

This parameter indicate the authentication service the client specified. NULL may be passed if the application is not interested in this parameter.

AuthzSvc

DWORD*

This parameter indicates the authorization service. NULL may be passed if the application is not interested in this parameter.

Returns

S_OK

Success.

E_INVALIDARG

One or more arguments are invalid.

E_OUTOFMEMORY

Insufficient memory to create one or more out-parameters.