Compartir a través de


Función SecMakeSPNEx2 (ntifs.h)

SecMakeSPNEx2 crea una cadena de nombre del proveedor de servicios que se puede usar cuando se comunica con proveedores de servicios de seguridad específicos.

Sintaxis

KSECDDDECLSPEC NTSTATUS SecMakeSPNEx2(
  [in]            IN PUNICODE_STRING     ServiceClass,
  [in]            IN PUNICODE_STRING     ServiceName,
  [in, optional]  IN PUNICODE_STRING     InstanceName,
  [in, optional]  IN USHORT              InstancePort,
  [in, optional]  IN PUNICODE_STRING     Referrer,
  [in, optional]  IN PUNICODE_STRING     InTargetInfo,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             TotalSize,
  [in]            IN BOOLEAN             Allocate,
  [in]            IN BOOLEAN             IsTargetInfoMarshaled
);

Parámetros

[in] ServiceClass

Puntero a una cadena Unicode que especifica la clase de servicio para el proveedor de servicios de seguridad.

[in] ServiceName

Puntero a una cadena Unicode que especifica el nombre del servicio para el proveedor de servicios de seguridad.

[in, optional] InstanceName

Puntero a una cadena Unicode opcional que especifica el nombre de instancia que se usa para conectarse con el proveedor de servicios de seguridad.

[in, optional] InstancePort

Número de puerto para una instancia del servicio. Use 0 para el puerto predeterminado. Si este parámetro es cero, el SPN no incluye un número de puerto.

[in, optional] Referrer

Puntero a una cadena terminada en null constante que especifica el nombre DNS del host que proporcionó una referencia de dirección IP. Este parámetro se omite a menos que el parámetro ServiceName especifique una dirección IP.

[in, optional] InTargetInfo

Puntero a una cadena terminada en null que indica el destino del contexto.

[in, out] Spn

Puntero a una cadena Unicode que recibe la cadena de nombre del proveedor de servicios de seguridad creada por esta función.

[out, optional] TotalSize

Puntero a una ULONG que recibe la longitud real del SPN creado, incluido el carácter nulo de terminación.

[in] Allocate

Variable booleana que indica si esta función debe asignar la memoria que se usa para almacenar la cadena Unicode de Spn . Si este parámetro es TRUE, se asignará memoria para Spn desde el grupo paginado.

[in] IsTargetInfoMarshaled

Variable booleana que indica que el autor de la llamada proporcionó una estructura InTargetInfo serializado. Si IsTargetInfoMarshaled es TRUE, InTargetInfo-Buffer> apunta a una representación de cadena de la estructura CREDENTIAL_TARGET_INFORMATION tal y como devuelve la función CredMarshalTargetInfo.

Valor devuelto

SecMakeSPNEx2 devuelve STATUS_SUCCESS si se ejecuta correctamente o uno de los siguientes códigos de error en caso de error.

Código devuelto Descripción
STATUS_BUFFER_OVERFLOW El parámetro Allocate se estableció en false y se produjo una de las condiciones siguientes: (1) El parámetro Spn era un puntero NULL. (2) La longitud máxima del parámetro de cadena Unicode spn era demasiado pequeña.
STATUS_INVALID_PARAMETER Una longitud total del parámetro Spn supera los 65535 bytes.
STATUS_NO_MEMORY El parámetro Allocate se estableció en true, pero se produjo un error en la solicitud de asignación de memoria.

Comentarios

SecMakeSPNEx2 es una versión mejorada de SecMakeSPNEx.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h, FltKernel.h)
Library Ksecdd.lib
IRQL <= APC_LEVEL

Consulte también

SecMakeSPN

SecMakeSPNEx