Поделиться через


Метод IServerSecurity::QueryBlanket (objidl.h)

Извлекает сведения о клиенте, который вызвал один из методов сервера.

Синтаксис

HRESULT QueryBlanket(
  [out]     DWORD   *pAuthnSvc,
  [out]     DWORD   *pAuthzSvc,
  [out]     OLECHAR **pServerPrincName,
  [out]     DWORD   *pAuthnLevel,
  [out]     DWORD   *pImpLevel,
  [out]     void    **pPrivs,
  [in, out] DWORD   *pCapabilities
);

Параметры

[out] pAuthnSvc

Указатель на текущую службу проверки подлинности. Это будет одно значение, взятое из списка констант службы проверки подлинности. Если вызывающий объект задает значение NULL, текущая служба проверки подлинности не извлекается.

[out] pAuthzSvc

Указатель на переменную, которая получает текущую службу авторизации. Это будет одно значение из списка констант авторизации. Если вызывающий объект задает значение NULL, текущая служба авторизации не извлекается.

[out] pServerPrincName

Текущее имя субъекта. Строка будет выделена вызываемым объектом с помощью CoTaskMemAlloc и должна быть освобождена вызывающим объектом с помощью CoTaskMemFree. По умолчанию имена субъектов Schannel будут находиться в формате msstd. Полная форма будет возвращена, если EOAC_MAKE_FULLSIC указан в параметре pCapabilities . Дополнительные сведения о формах msstd и fullsic см. в разделе Имена субъектов. Если вызывающий объект задает значение NULL, текущее имя субъекта не извлекается.

[out] pAuthnLevel

Указатель на переменную, получающую текущий уровень проверки подлинности. Это будет одно значение, взятое из списка констант уровня проверки подлинности. Если вызывающий объект задает значение NULL, текущий уровень проверки подлинности не извлекается.

[out] pImpLevel

Этот параметр должен иметь значение NULL.

[out] pPrivs

Сведения о привилегиях для клиентского приложения. Формат структуры, на которую ссылается дескриптор, зависит от службы проверки подлинности. Приложение не должно записывать или освобождать память. Информация действительна только в течение текущего вызова. Для NTLMSSP и Kerberos это структура SEC_WINNT_AUTH_IDENTITY или SEC_WINNT_AUTH_IDENTITY_EX . Для Schannel это CERT_CONTEXT структура, представляющая сертификат клиента. Если у клиента нет сертификата, возвращается значение NULL . Если вызывающий объект задает значение NULL, текущие сведения о привилегиях не извлекаются.

[in, out] pCapabilities

Возможности вызова. Чтобы запросить возврат имени субъекта в полной форме, если Schannel является службой проверки подлинности, вызывающий объект может задать флаг EOAC_MAKE_FULLSIC в этом параметре. Если вызывающий объект задает значение NULL, текущие возможности не извлекаются.

Возвращаемое значение

Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и S_OK.

Комментарии

QueryBlanket используется сервером для получения данных о клиенте, который вызвал один из своих методов. Чтобы получить указатель на IServerSecurity для текущего вызова в текущем потоке, вызовите CoGetCallContext, указав IID_IServerSecurity. Этот указатель интерфейса можно использовать только в той же квартире, что и вызов на протяжении всего вызова.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header objidl.h (включая ObjIdl.h)

См. также раздел

CoQueryClientBlanket

CoQueryProxyBlanket

IServerSecurity