Función SecMakeSPN (ntifs.h)
SecMakeSPN crea una cadena de nombre del proveedor de servicios que se puede usar al comunicarse con proveedores de servicios de seguridad específicos.
Sintaxis
KSECDDDECLSPEC NTSTATUS SecMakeSPN(
[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, out] IN OUT PUNICODE_STRING Spn,
[out, optional] OUT PULONG Length,
[in] IN BOOLEAN Allocate
);
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 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 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, out] Spn
Puntero a una cadena Unicode para almacenar la cadena de nombre del proveedor de servicios de seguridad creada por esta función.
[out, optional] Length
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 para almacenar la cadena Unicode de Spn . Si este parámetro es true, se asignará memoria para Spn desde el grupo paginado.
Valor devuelto
SecMakeSPN devuelve STATUS_SUCCESS si se ha realizado 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. |
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h, FltKernel.h) |
Library | Ksecdd.lib |
IRQL | <= APC_LEVEL |