다음을 통해 공유


LSA_AP_CALL_PACKAGE 콜백 함수(ntsecpkg.h)

LSA에 대한 신뢰할 수 있는 연결이 있는 로그온 애플리케이션이 LsaCallAuthenticationPackage 함수를 호출하고 인증 패키지의 식별자를 지정하면 LSA(로컬 보안 기관)에서 호출됩니다.

LsaApCallPackage 는 로그온 애플리케이션에 대해서만 호출됩니다. SeTcbPrivilege 권한이 없는 애플리케이션의 호출은 대신 지정된 인증 패키지의 LsaApCallPackageUntrusted 함수로 라우팅됩니다.

구문

LSA_AP_CALL_PACKAGE LsaApCallPackage;

NTSTATUS LsaApCallPackage(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  PVOID ProtocolSubmitBuffer,
  [in]  PVOID ClientBufferBase,
  [in]  ULONG SubmitBufferLength,
  [out] PVOID *ProtocolReturnBuffer,
  [out] PULONG ReturnBufferLength,
  [out] PNTSTATUS ProtocolStatus
)
{...}

매개 변수

[in] ClientRequest

LSA 클라이언트의 요청을 나타내는 불투명 LSA_CLIENT_REQUEST 버퍼에 대한 포인터입니다.

[in] ProtocolSubmitBuffer

인증 패키지와 관련된 프로토콜 메시지를 제공합니다.

[in] ClientBufferBase

프로토콜 메시지의 클라이언트 프로세스 내에서 주소를 제공합니다. ProtocolSubmitBuffer 버퍼 내의 포인터를 다시 매핑하는 데 필요할 수 있습니다.

[in] SubmitBufferLength

ProtocolSubmitBuffer 버퍼의 길이를 바이트 단위로 지정합니다.

[out] ProtocolReturnBuffer

클라이언트 프로세스 내에서 출력 버퍼의 주소를 반환합니다. 인증 패키지는 AllocateClientBuffer 함수를 호출하여 클라이언트 프로세스 내에서 버퍼를 할당합니다. 이 버퍼의 내용은 인증 패키지와 관련이 있습니다.

[out] ReturnBufferLength

ProtocolReturnBuffer 버퍼의 길이를 바이트 단위로 반환하는 ULONG에 대한 포인터입니다.

[out] ProtocolStatus

NTSTATUS 값에 대한 포인터입니다. 함수가 STATUS_SUCCESS 반환하면 ProtocolStatus는 인증 패키지에서 설정한 완료 상태 반환합니다. ProtocolStatus 값은 인증 패키지와 관련이 있습니다.

NTSTATUS 코드에 대한 자세한 내용은 플랫폼 SDK와 함께 제공되는 Subauth.h 파일에서 찾을 수 있습니다.

반환 값

함수가 성공하면 STATUS_SUCCESS 반환합니다. 이 반환 값은 인증 패키지가 요청된 서비스를 제공하려고 했음을 나타냅니다. ProtocolStatus 매개 변수를 사용하여 서비스 요청의 완료 상태 반환합니다.

인증 패키지가 요청을 처리할 수 없으므로 요청된 서비스를 제공하려고 시도하지 않은 경우 문제를 나타내는 NTSTATUS 코드를 반환합니다. 이 코드는 다음 값 또는 LSA 정책 함수 반환 값 중 하나일 수 있습니다.

반환 코드 설명
STATUS_NO_MEMORY
클라이언트의 메모리 할당량이 출력 버퍼를 할당하기에 충분하지 않습니다.

설명

이 함수는 인증 패키지에 의해 구현되어야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntsecpkg.h

추가 정보

AllocateClientBuffer

LsaApCallPackageUntrusted

LsaCallAuthenticationPackage