SecMakeSPN 함수(ntifs.h)
SecMakeSPN 특정 보안 서비스 공급자와 통신할 때 사용할 수 있는 서비스 공급자 이름 문자열을 만듭니다.
통사론
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
);
매개 변수
[in] ServiceClass
보안 서비스 공급자에 대한 서비스 클래스를 지정하는 유니코드 문자열에 대한 포인터입니다.
[in] ServiceName
보안 서비스 공급자의 서비스 이름을 지정하는 유니코드 문자열에 대한 포인터입니다.
[in, optional] InstanceName
보안 서비스 공급자와 연결하기 위한 인스턴스 이름을 지정하는 선택적 유니코드 문자열에 대한 포인터입니다.
[in, optional] InstancePort
서비스 인스턴스의 포트 번호입니다. 기본 포트에 0을 사용합니다. 이 매개 변수가 0이면 SPN에 포트 번호가 포함되지 않습니다.
[in, optional] Referrer
IP 주소 조회를 제공한 호스트의 DNS 이름을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다. ServiceName 매개 변수가 IP 주소를 지정하지 않는 한 이 매개 변수는 무시됩니다.
[in, out] Spn
이 함수에서 만든 보안 서비스 공급자 이름 문자열을 저장하기 위한 유니코드 문자열에 대한 포인터입니다.
[out, optional] Length
종료 null 문자를 포함하여 생성된 SPN의 실제 길이를 수신하는 ULONG에 대한 포인터입니다.
[in] Allocate
이 함수에서 Spn 유니코드 문자열을 저장하기 위한 메모리를 할당해야 하는지 여부를 나타내는 부울 변수입니다. 이 매개 변수가 true이면 페이징된 풀에서 Spn 대한 메모리가 할당됩니다.
반환 값
SecMakeSPN 성공 시 STATUS_SUCCESS 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.
반환 코드 | 묘사 |
---|---|
STATUS_BUFFER_OVERFLOW | Allocate 매개 변수가 false로 설정되었고 다음 조건 중 하나가 발생했습니다. (1) Spn 매개 변수가 NULL 포인터였습니다. (2) Spn 유니코드 문자열 매개 변수의 최대 길이가 너무 작습니다. |
STATUS_INVALID_PARAMETER | Spn 매개 변수의 총 길이가 65535바이트를 초과합니다. |
STATUS_NO_MEMORY | Allocate 매개 변수가 true로 설정되었지만 메모리 할당 요청이 실패했습니다. |
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h, FltKernel.h 포함) |
라이브러리 | Ksecdd.lib |
IRQL |
<= APC_LEVEL |