Compartir a través de


Función de devolución de llamada SpAcquireCredentialsHandleFn (ntsecpkg.h)

Se llama para obtener un identificador de las credenciales de una entidad de seguridad. El paquete de seguridad puede denegar el acceso al autor de la llamada si el autor de la llamada no tiene permiso para acceder a las credenciales.

Si el identificador de credenciales se devuelve al autor de la llamada, el paquete también debe especificar una hora de expiración para el identificador.

Sintaxis

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. Puntero a una estructura de UNICODE_STRING que contiene el nombre de la entidad de seguridad cuyas credenciales se solicitan. Si este valor es NULL, el autor de la llamada solicita un identificador a las credenciales del usuario en cuyo contexto de seguridad se está ejecutando el autor de la llamada.

[in] CredentialUseFlags

Marcas que indican cómo se usarán las credenciales. Los valores siguientes son válidos.

Valor Significado
SECPKG_CRED_INBOUND
Las credenciales se usarán con la función AcceptSecurityContext (General).
SECPKG_CRED_OUTBOUND
Las credenciales se usarán con la función InitializeSecurityContext (General).

[in] LogonId

Opcional. Puntero a un LUID que contiene el identificador de inicio de sesión de la entidad de seguridad.

[in] AuthorizationData

Opcional. Puntero a datos de autenticación complementarios.

GetKeyFunciton

[in] GetKeyArgument

Puntero al argumento usado con la función GetKeyFunction .

[out] CredentialHandle

Puntero a un LSA_SEC_HANDLE que recibe las credenciales. Cuando haya terminado de usar las credenciales, libere el identificador llamando a la función SpFreeCredentialsHandle .

[out] ExpirationTime

Puntero a timeStamp que recibe la hora en que expira el identificador de credenciales.

Valor devuelto

Si la función se realiza correctamente, devuelva STATUS_SUCCESS.

Si se produce un error en la función, devuelva un código NTSTATUS que indique el motivo por el que se produjo un error. En la tabla siguiente se enumeran los motivos comunes de error y los códigos de error que se deben devolver.

Código devuelto Descripción
SEC_E_NOT_OWNER
Se deniega el acceso al autor de la llamada.
SEC_E_NO_CREDENTIALS
No hay credenciales disponibles para la entidad de seguridad especificada.

Comentarios

El paquete puede usar las funciones de compatibilidad de la autoridad de seguridad local (LSA) para determinar si el autor de la llamada debe tener acceso a las credenciales solicitadas.

Las credenciales obtenidas de SpAcquireCredentialsHandle se liberan mediante una llamada a la función SpFreeCredentialsHandle .

Los SSP/AP deben implementar la función SpAcquireCredentialsHandle ; sin embargo, el nombre real proporcionado a la implementación es para el desarrollador.

Hay disponible un puntero a la función SpAcquireCredentialsHandle en la estructura SECPKG_FUNCTION_TABLE recibida de la función SpLsaModeInitialize .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ntsecpkg.h

Consulte también

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize