Funzione SecMakeSPNEx2 (ntifs.h)

SecMakeSPNEx2 crea una stringa di nome del provider di servizi che può essere usata quando comunica con provider di servizi di sicurezza specifici.

Sintassi

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
);

Parametri

[in] ServiceClass

Puntatore a una stringa Unicode che specifica la classe del servizio per il provider di servizi di sicurezza.

[in] ServiceName

Puntatore a una stringa Unicode che specifica il nome del servizio per il provider di servizi di sicurezza.

[in, optional] InstanceName

Puntatore a una stringa Unicode facoltativa che specifica il nome dell'istanza utilizzato per connettersi al provider di servizi di sicurezza.

[in, optional] InstancePort

Numero di porta per un'istanza del servizio. Usare 0 per la porta predefinita. Se questo parametro è zero, il nome SPN non include un numero di porta.

[in, optional] Referrer

Puntatore a una stringa costante con terminazione Null che specifica il nome DNS dell'host che ha assegnato una segnalazione di indirizzo IP. Questo parametro viene ignorato a meno che il parametro ServiceName non specifichi un indirizzo IP.

[in, optional] InTargetInfo

Puntatore a una stringa con terminazione Null che indica la destinazione del contesto.

[in, out] Spn

Puntatore a una stringa Unicode che riceve la stringa del nome del provider del servizio di sicurezza creata da questa funzione.

[out, optional] TotalSize

Puntatore a un ULONG che riceve la lunghezza effettiva del nome SPN creato, incluso il carattere Null di terminazione.

[in] Allocate

Variabile booleana che indica se la memoria usata per archiviare la stringa Unicode Spn deve essere allocata da questa funzione. Se questo parametro è TRUE, la memoria per Spn verrà allocata dal pool di paging.

[in] IsTargetInfoMarshaled

Variabile booleana che indica che il chiamante ha fornito una struttura InTargetInfo con marshalling. Se IsTargetInfoMarshaled è TRUE, InTargetInfo-Buffer> punta a una rappresentazione stringa della struttura CREDENTIAL_TARGET_INFORMATION restituita dalla funzione CredMarshalTargetInfo.

Valore restituito

SecMakeSPNEx2 restituisce STATUS_SUCCESS in caso di esito positivo o uno dei codici di errore seguenti in caso di errore.

Codice restituito Descrizione
STATUS_BUFFER_OVERFLOW Il parametro Allocate è stato impostato su false e si è verificata una delle condizioni seguenti: (1) Il parametro Spn era un puntatore NULL. (2) La lunghezza massima per il parametro stringa Unicode Spn era troppo piccola.
STATUS_INVALID_PARAMETER Una lunghezza totale del parametro Spn supera i 65535 byte.
STATUS_NO_MEMORY Il parametro Allocate è stato impostato su true, ma la richiesta di allocazione della memoria non è riuscita.

Commenti

SecMakeSPNEx2 è una versione avanzata di SecMakeSPNEx.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h, FltKernel.h)
Libreria Ksecdd.lib
IRQL <= APC_LEVEL

Vedi anche

SecMakeSPN

SecMakeSPNEx