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