Share via


LSA_ADD_CREDENTIAL función de devolución de llamada (ntsecpkg.h)

[AddCredential está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. Las aplicaciones deben usar la función LsaCallAuthenticationPackage con KerbAddExtraCredentialsMessage especificado como tipo de mensaje. KerbAddExtraCredentialsMessage es un valor de enumeración KERB_PROTOCOL_MESSAGE_TYPE .]

Agrega credenciales a una sesión de inicio de sesión. Estas credenciales se pueden hacer referencia más adelante a través de una llamada a la función GetCredentials .

Sintaxis

LSA_ADD_CREDENTIAL LsaAddCredential;

NTSTATUS LsaAddCredential(
  [in] PLUID LogonId,
  [in] ULONG AuthenticationPackage,
  [in] PLSA_STRING PrimaryKeyValue,
  [in] PLSA_STRING Credentials
)
{...}

Parámetros

[in] LogonId

Puntero a un LUID que contiene el identificador de sesión de la sesión de inicio de sesión a la que se van a agregar las credenciales.

[in] AuthenticationPackage

Identificador del paquete de autenticación del paquete de autenticación que llama. Este valor se recibe en la llamada a LsaApInitializePackage durante la inicialización de DLL.

[in] PrimaryKeyValue

Cadena que contiene un valor al que el paquete de autenticación tendrá que hacer referencia posteriormente como clave principal de los datos de credenciales. Esto se puede usar, por ejemplo, para mantener el nombre del dominio o servidor a los que están relacionadas las credenciales. El formato y el significado de esta cadena son específicos del paquete de autenticación. Tenga en cuenta que el valor de cadena no tiene que ser único, incluso para la sesión de inicio de sesión especificada. Por ejemplo, puede haber dos contraseñas para el mismo dominio, cada una con las contraseñas almacenadas como credenciales y el nombre de dominio almacenados como clave principal.

[in] Credentials

Cadena que representa las credenciales de usuario. El formato y el significado de esta cadena son específicos del paquete de autenticación.

Valor devuelto

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

Si se produce un error en la función, devuelve un código NTSTATUS , que puede ser el siguiente valor o uno de los valores devueltos de la función de directiva LSA.

Código devuelto Descripción
STATUS_NO_SUCH_LOGON_SESSION
No se encontró la sesión de inicio de sesión especificada.
 

La función LsaNtStatusToWinError convierte un código NTSTATUS en un código de error de Windows.

Comentarios

El cuerpo de la cadena de credencial debe ser auto relativo; es decir, no debe contener punteros a la memoria fuera de las credenciales. Las credenciales se copian y los punteros fuera de las propias credenciales ya no serán válidos en la copia. En concreto, las cadenas a las que se hace referencia en las credenciales deben tener el encabezado UNICODE_STRING y el cuerpo colocados en el búfer de credenciales. Los punteros a cadenas en el cuerpo de las credenciales deben cambiarse a desplazamientos.

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

GetCredentials

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE