다음을 통해 공유


SecMakeSPNEx 함수(ntifs.h)

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

통사론

KSECDDDECLSPEC NTSTATUS SecMakeSPNEx(
  [in]            IN PUNICODE_STRING     ServiceClass,
  [in]            IN PUNICODE_STRING     ServiceName,
  [in]            IN PUNICODE_STRING     InstanceName,
  [in, optional]  IN USHORT              InstancePort,
  [in, optional]  IN PUNICODE_STRING     Referrer,
  [in, optional]  IN PUNICODE_STRING     TargetInfo,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             Length,
  [in]            IN BOOLEAN             Allocate
);

매개 변수

[in] ServiceClass

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

[in] ServiceName

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

[in] InstanceName

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

[in, optional] InstancePort

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

[in, optional] Referrer

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

[in, optional] TargetInfo

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

[in, out] Spn

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

[out, optional] Length

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

[in] Allocate

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

반환 값

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

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

발언

SecMakeSPNExSecMakeSPN향상된 버전입니다.

요구 사항

요구
지원되는 최소 클라이언트 이 함수는 Windows XP에만 해당합니다.
대상 플랫폼 보편적
헤더 ntifs.h(Ntifs.h, FltKernel.h 포함)
라이브러리 Ksecdd.lib
IRQL <= APC_LEVEL

참고 항목

SecMakeSPN

SecMakeSPNEx2