다음을 통해 공유


SpExchangeMetaDataFn 콜백 함수(ntsecpkg.h)

보안 지원 공급자에게 메타데이터를 보냅니다. 이 함수에서 보낸 메타데이터는 이전에 SpQueryMetaDataFn 함수를 호출하여 가져옵니다.

구문

SpExchangeMetaDataFn Spexchangemetadatafn;

NTSTATUS Spexchangemetadatafn(
  [in]           LSA_SEC_HANDLE CredentialHandle,
  [in, optional] PUNICODE_STRING TargetName,
  [in]           ULONG ContextRequirements,
  [in]           ULONG MetaDataLength,
  [in]           PUCHAR MetaData,
  [in, out]      PLSA_SEC_HANDLE ContextHandle
)
{...}

매개 변수

[in] CredentialHandle

보안 컨텍스트에 사용할 자격 증명 에 대한 핸들입니다. ContextHandle 매개 변수가 입력 시 NULL을 가리키는 경우 이 함수는 이 매개 변수의 값을 사용하여 보안 컨텍스트를 만듭니다.

ContextHandle 매개 변수가 입력에서 NULL을 가리키는 경우 이 매개 변수의 값은 NULL일 수 없습니다.

[in, optional] TargetName

컨텍스트의 대상 이름을 포함하는 UNICODE_STRING 대한 포인터입니다.

[in] ContextRequirements

클라이언트에 필요한 컨텍스트 특성을 나타내는 플래그입니다.

다음은 유효한 값입니다. 논리 OR 연산을 사용하여 값을 결합할 수 있습니다.

의미
ISC_REQ_DELEGATE
서버는 클라이언트를 가장할 수 있습니다.
ISC_REQ_MUTUAL_AUTH
클라이언트와 서버 모두 ID를 증명해야 합니다.
ISC_REQ_REPLAY_DETECT
보안 컨텍스트는 재생된 패킷의 검색을 지원합니다.
ISC_REQ_SEQUENCE_DETECT
보안 컨텍스트는 순서가 다른 메시지의 검색을 지원합니다.
ISC_REQ_USE_SESSION_KEY
세션 키를 협상해야 합니다.
ISC_REQ_PROMPT_FOR_CREDS
클라이언트가 대화형 사용자인 경우 패키지는 가능한 경우 사용자에게 적절한 자격 증명을 묻는 메시지를 표시해야 합니다.
ISC_REQ_USE_SUPPLIED_CREDS
입력 버퍼에는 연결을 인증하는 데 사용해야 하는 패키지별 자격 증명 정보가 포함되어 있습니다.
ISC_REQ_ALLOCATE_MEMORY
패키지는 메모리를 할당해야 합니다. 호출자는 결국 FreeContextBuffer 함수를 호출하여 패키지에서 할당한 메모리를 해제해야 합니다.
ISC_REQ_USE_DCE_STYLE
호출자는 3개 다리 상호 인증 트랜잭션을 예상합니다.
ISC_REQ_DATAGRAM
데이터그램 형식 통신 채널을 사용해야 합니다. 자세한 내용은 Datagram 컨텍스트를 참조하세요.
ISC_REQ_CONNECTION
연결 형식 통신 채널을 사용해야 합니다. 자세한 내용은 연결 지향 컨텍스트를 참조하세요.
ISC_REQ_EXTENDED_ERROR
컨텍스트가 실패하면 오류 응답 메시지를 생성하여 클라이언트로 다시 보냅니다.
ISC_REQ_STREAM
스트림 형식 통신 채널을 사용해야 합니다. 자세한 내용은 Stream 컨텍스트를 참조하세요.
ISC_REQ_INTEGRITY
버퍼 무결성이 확인되었습니다. 그러나 재생된 메시지와 순서가 벗어난 메시지는 검색되지 않습니다.

[in] MetaDataLength

MetaData 버퍼의 크기(문자)입니다.

[in] MetaData

보낼 메타데이터입니다.

[in, out] ContextHandle

사용할 보안 핸들에 대한 핸들입니다. 이 매개 변수가 입력 시 NULL 을 가리키는 경우 이 함수는 CredentialHandleTargetName 매개 변수의 값을 사용하여 보안 컨텍스트를 할당하고 초기화합니다.

이 매개 변수가 입력에서 NULL 을 가리키는 경우 CredentialHandle은NULL일 수 없습니다.

반환 값

함수가 성공하면 STATUS_SUCCESS 또는 정보 상태 코드를 반환합니다.

함수가 실패하면 실패한 이유를 나타내는 NTSTATUS 오류 코드를 반환합니다. 자세한 내용은 설명 부분을 참조하세요.

설명

SpExchangeMetaDataFn 함수에 대한 포인터는 SpLsaModeInitialize 함수에서 받은 SECPKG_FUNCTION_TABLE 구조에서 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntsecpkg.h