# IServerSecurity::QueryBlanket

Called by the server to find out about the client that invoked one of its methods.

HRESULT QueryBlanket(

DWORD* pAuthnSvc, | //Pointer to the current authentication service
DWORD* pAuthzSvc, | //Pointer to the current authorization service
OLECHAR ** pServerPrincNam, | //Pointer to the current principal name
DWORD * pAuthnLevel, | //Pointer to the current authentication level
DWORD * pImpLevel, | //Must be NULL
RPC_AUTHZ_HANDLE * pPrivs, | //Pointer to string identifying client
DWORD ** pCapabilities | //Pointer to flags indicating further capabilities of the proxy
); |

Parameter

pAuthnSvc
  [out] Pointer to the current authentication service. This will be a single value taken from the list of RPC_C_AUTHN_xxx constants. May be NULL, in which case the current authentication service is not returned.
pAuthzSvc
  [out] Pointer to the current authorization service. This will be a single value taken from the list of RPC_C_AUTHZ_xxx constants. May be NULL, in which case the current authorization service is not returned.
pServerPrincName
  [out] Pointer to the current principal name. The string will be allocated by the callee using CoTaskMemAlloc, and must be freed by the caller using CoTaskMemFree when they are done with it. May be NULL, in which case the principal name is not returned.
pAuthnLevel
  [out] Pointer to the current authentication level. This will be a single value taken from the list of RPC_C_AUTHN_LEVEL_xxx constants. May be NULL, in which case the current authorization level is not returned.
pImpLevel
  [out] Must be NULL; the current authentication level is not supplied.
pPrivs
  [out] Pointer to a string identifying the client. For NTLMSSP the string is of the form domain\user. This is not a copy, and so should not be modified or freed, and is not valid after the ORPC call completes.
pCapabilities
  [out] Pointer to return flags indicating further capabilities of the call. Currently, no flags are defined for this parameter and it will only return EOAC_NONE. May be NULL, in which case the flags indicating further capabilities are not returned.

Return Values

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

S_OK
  Success.

Remarks

IServerSecurity::QueryBlanket is used by the server to find out about the client that invoked one of its methods. To get a pointer to IServerSecurity for the current call on the current thread, call CoGetCallContext, specifying IID_IServerSecurity. This interface pointer may only be used in the same apartment as the call for the duration of the call.

See Also

CoGetCallContext