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