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 de 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 dio 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 un 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 el Cadena Spn Unicode. Si este parámetro es TRUE, la memoria de spn se asignará desde el grupo paginado.

[in] IsTargetInfoMarshaled

Variable booleana que indica que el autor de la llamada proporcionó una estructura de InTargetInfo serializado. Si isTargetInfoMarshaled es TRUE, InTargetInfo->Buffer apunta a una representación de cadena de la estructura CREDENTIAL_TARGET_INFORMATION tal 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 siguientes condiciones: (1) El parámetro Spn era un puntero NULL. (2) La longitud máxima de la Spn parámetro de cadena Unicode era demasiado pequeña.
STATUS_INVALID_PARAMETER Una longitud total del parámetro Spn supera los 65535 bytes.
STATUS_NO_MEMORY El parámetro Asignar se estableció en true, pero se produjo un error en la solicitud de asignación de memoria.

Observaciones

secMakeSPNEx2 es una versión mejorada de SecMakeSPNEx.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
servidor mínimo admitido Windows Server 2008
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h, FltKernel.h)
biblioteca de Ksecdd.lib
irQL <= APC_LEVEL

Consulte también

SecMakeSPN

SecMakeSPNEx