Compartilhar via


Método IServerSecurity::QueryBlanket (objidl.h)

Recupera informações sobre o cliente que invocou um dos métodos do servidor.

Sintaxe

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

Parâmetros

[out] pAuthnSvc

Um ponteiro para o serviço de autenticação atual. Esse será um único valor obtido da lista de constantes de serviço de autenticação. Se o chamador especificar NULL, o serviço de autenticação atual não será recuperado.

[out] pAuthzSvc

Um ponteiro para uma variável que recebe o serviço de autorização atual. Esse será um único valor da lista de constantes de autorização. Se o chamador especificar NULL, o serviço de autorização atual não será recuperado.

[out] pServerPrincName

O nome da entidade de segurança atual. A cadeia de caracteres será alocada pelo chamador usando CoTaskMemAlloc e deverá ser liberada pelo chamador usando CoTaskMemFree. Por padrão, os nomes de entidade de segurança do Schannel estarão no formulário msstd. O formulário completo será retornado se EOAC_MAKE_FULLSIC for especificado no parâmetro pCapabilities . Para obter mais informações sobre os formulários msstd e fullsic, consulte Nomes de entidade de segurança. Se o chamador especificar NULL, o nome da entidade de segurança atual não será recuperado.

[out] pAuthnLevel

Um ponteiro para uma variável que recebe o nível de autenticação atual. Esse será um único valor obtido da lista de constantes de nível de autenticação. Se o chamador especificar NULL, o nível de autenticação atual não será recuperado.

[out] pImpLevel

Esse parâmetro deve ser NULL.

[out] pPrivs

As informações de privilégio para o aplicativo cliente. O formato da estrutura à qual o identificador se refere depende do serviço de autenticação. O aplicativo não deve gravar nem liberar a memória. As informações só são válidas durante a chamada atual. Para NTLMSSP e Kerberos, essa é uma estrutura SEC_WINNT_AUTH_IDENTITY ou SEC_WINNT_AUTH_IDENTITY_EX . Para o Schannel, essa é uma estrutura CERT_CONTEXT que representa o certificado do cliente. Se o cliente não tiver certificado, NULL será retornado. Se o chamador especificar NULL, as informações de privilégio atuais não serão recuperadas.

[in, out] pCapabilities

Os recursos da chamada. Para solicitar que o nome da entidade de segurança seja retornado de forma completa se Schannel for o serviço de autenticação, o chamador poderá definir o sinalizador EOAC_MAKE_FULLSIC nesse parâmetro. Se o chamador especificar NULL, os recursos atuais não serão recuperados.

Retornar valor

Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e S_OK.

Comentários

QueryBlanket é usado pelo servidor para descobrir sobre o cliente que invocou um de seus métodos. Para obter um ponteiro para IServerSecurity para a chamada atual no thread atual, chame CoGetCallContext, especificando IID_IServerSecurity. Esse ponteiro de interface só pode ser usado no mesmo apartment que a chamada durante a chamada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objidl.h (inclua ObjIdl.h)

Confira também

CoQueryClientBlanket

CoQueryProxyBlanket

Iserversecurity