Compartilhar via


Função de retorno de chamada SpAcquireCredentialsHandleFn (ntsecpkg.h)

Chamado para obter um identificador para as credenciais de uma entidade de segurança. O pacote de segurança poderá negar acesso ao chamador se o chamador não tiver permissão para acessar as credenciais.

Se o identificador de credenciais for retornado ao chamador, o pacote também deverá especificar um tempo de expiração para o identificador.

Sintaxe

SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;

NTSTATUS Spacquirecredentialshandlefn(
  [in]  PUNICODE_STRING PrincipalName,
  [in]  ULONG CredentialUseFlags,
  [in]  PLUID LogonId,
  [in]  PVOID AuthorizationData,
        PVOID GetKeyFunciton,
  [in]  PVOID GetKeyArgument,
  [out] PLSA_SEC_HANDLE CredentialHandle,
  [out] PTimeStamp ExpirationTime
)
{...}

Parâmetros

[in] PrincipalName

Opcional. Ponteiro para uma estrutura UNICODE_STRING que contém o nome da entidade de segurança cujas credenciais estão sendo solicitadas. Se esse valor for NULL, o chamador solicitará um identificador para as credenciais do usuário em cujo contexto de segurança o chamador está executando.

[in] CredentialUseFlags

Sinalizadores que indicam como as credenciais serão usadas. Os valores a seguir são válidos.

Valor Significado
SECPKG_CRED_INBOUND
As credenciais serão usadas com a função AcceptSecurityContext (Geral).
SECPKG_CRED_OUTBOUND
As credenciais serão usadas com a função InitializeSecurityContext (Geral).

[in] LogonId

Opcional. Ponteiro para um LUID que contém o identificador de logon da entidade de segurança.

[in] AuthorizationData

Opcional. Ponteiro para dados de autenticação complementares.

GetKeyFunciton

[in] GetKeyArgument

Ponteiro para o argumento usado com a função GetKeyFunction .

[out] CredentialHandle

Ponteiro para um LSA_SEC_HANDLE que recebe as credenciais. Quando terminar de usar as credenciais, libere o identificador chamando a função SpFreeCredentialsHandle .

[out] ExpirationTime

Ponteiro para um TimeStamp que recebe a hora em que o identificador de credenciais expira.

Retornar valor

Se a função for bem-sucedida, retorne STATUS_SUCCESS.

Se a função falhar, retorne um código NTSTATUS que indica o motivo pelo qual ela falhou. A tabela a seguir lista os motivos comuns de falha e os códigos de erro que devem ser retornados.

Código de retorno Descrição
SEC_E_NOT_OWNER
O chamador tem acesso negado.
SEC_E_NO_CREDENTIALS
Não há credenciais disponíveis para a entidade de segurança especificada.

Comentários

O pacote pode usar as funções de suporte da LSA (Autoridade de Segurança Local ) para determinar se o chamador deve ter acesso às credenciais solicitadas.

As credenciais obtidas de SpAcquireCredentialsHandle são liberadas chamando a função SpFreeCredentialsHandle .

SSP/APs devem implementar a função SpAcquireCredentialsHandle ; no entanto, o nome real fornecido à implementação cabe ao desenvolvedor.

Um ponteiro para a função SpAcquireCredentialsHandle está disponível na estrutura SECPKG_FUNCTION_TABLE recebida da função SpLsaModeInitialize .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ntsecpkg.h

Confira também

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize