SecMakeSPNEx2 함수(ntifs.h)

SecMakeSPNEx2 는 특정 보안 서비스 공급자와 통신할 때 사용할 수 있는 서비스 공급자 이름 문자열을 만듭니다.

구문

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

매개 변수

[in] ServiceClass

보안 서비스 공급자에 대한 서비스 클래스를 지정하는 유니코드 문자열에 대한 포인터입니다.

[in] ServiceName

보안 서비스 공급자의 서비스 이름을 지정하는 유니코드 문자열에 대한 포인터입니다.

[in, optional] InstanceName

보안 서비스 공급자와 연결하는 데 사용되는 instance 이름을 지정하는 선택적 유니코드 문자열에 대한 포인터입니다.

[in, optional] InstancePort

서비스의 instance 포트 번호입니다. 기본 포트에 0을 사용합니다. 이 매개 변수가 0이면 SPN에 포트 번호가 포함되지 않습니다.

[in, optional] Referrer

IP 주소 조회를 제공한 호스트의 DNS 이름을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다. ServiceName 매개 변수가 IP 주소를 지정하지 않으면 이 매개 변수는 무시됩니다.

[in, optional] InTargetInfo

컨텍스트의 대상을 나타내는 null로 끝나는 문자열에 대한 포인터입니다.

[in, out] Spn

이 함수에서 만든 보안 서비스 공급자 이름 문자열을 수신하는 유니코드 문자열에 대한 포인터입니다.

[out, optional] TotalSize

종료 null 문자를 포함하여 생성된 SPN의 실제 길이를 수신하는 ULONG에 대한 포인터입니다.

[in] Allocate

Spn 유니코드 문자열을 저장하는 데 사용되는 메모리를 이 함수에서 할당해야 하는지 여부를 나타내는 부울 변수입니다. 이 매개 변수가 TRUE이면 Spn 에 대한 메모리가 페이징 풀에서 할당됩니다.

[in] IsTargetInfoMarshaled

호출자가 마샬링된 InTargetInfo 구조를 제공했음을 나타내는 부울 변수입니다. IsTargetInfoMarshaled가 TRUE이면 InTargetInfo-Buffer>는 CredMarshalTargetInfo 함수에서 반환된 CREDENTIAL_TARGET_INFORMATION 구조체의 문자열 표현을 가리킵니다.

반환 값

SecMakeSPNEx2 는 성공 시 STATUS_SUCCESS 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_BUFFER_OVERFLOW Allocate 매개 변수가 false로 설정되었고 다음 조건 중 하나가 발생했습니다. (1) Spn 매개 변수가 NULL 포인터였습니다. (2) Spn 유니코드 문자열 매개 변수의 최대 길이가 너무 작습니다.
STATUS_INVALID_PARAMETER Spn 매개 변수의 총 길이가 65535바이트보다 큽니다.
STATUS_NO_MEMORY Allocate 매개 변수가 true로 설정되었지만 메모리 할당 요청이 실패했습니다.

설명

SecMakeSPNEx2SecMakeSPNEx의 향상된 버전입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h, FltKernel.h 포함)
라이브러리 Ksecdd.lib
IRQL <= APC_LEVEL

추가 정보

SecMakeSPN

SecMakeSPNEx