다음을 통해 공유


인증 함수

인증 함수는 다음과 같이 사용량에 따라 분류됩니다.

SSPI 함수

SSPI(보안 지원 공급자 인터페이스) 함수는 다음과 같은 주요 범주에 속합니다.

패키지 관리

SSPI 패키지 관리 함수는 보안 패키지를 시작하고, 사용 가능한 패키지를 열거하고, 보안 패키지의 특성을 쿼리합니다. 다음 SSPI 함수는 보안 패키지에 대한 관리 서비스를 제공합니다.

함수 설명
SecurityPackage 열거 사용 가능한 보안 패키지 및 해당 기능을 나열합니다.
InitSecurityInterface SSP(보안 지원 공급자) 디스패치 테이블에 대한 포인터를 검색합니다.
QuerySecurityPackageInfo 지정된 보안 패키지에 대한 정보를 검색합니다. 이 정보에는 인증 정보, 자격 증명 및 컨텍스트의 크기에 대한 범위가 포함됩니다.

자격 증명 관리

SSPI 자격 증명 관리 함수는 보안 주체에 액세스하기 위한 자격 증명 핸들, 불투명 보안 개체에 대한 참조를 제공합니다. 애플리케이션은 구조체의 실제 내용이 아닌 핸들에만 액세스할 수 있으므로 보안 개체는 불투명합니다.

자격 증명 컨텍스트의 내용에 대한 모든 참조는 개체의 핸들을 통해서이며 보안 패키지 는 핸들을 역참조하여 자격 증명의 세부 사항에 액세스합니다. 자격 증명 핸들은 {0x00000000, 0x00000000} 및 {0xFFFFFFFF, 0xFFFFFFFE}사이의 64비트 값입니다.

애플리케이션은 컨텍스트 관리 함수와 함께 자격 증명 핸들을 사용하여 보안 컨텍스트만듭니다.

또한 자격 증명 관리 함수는 자격 증명 핸들을 해제하고 자격 증명 특성을 쿼리합니다. 현재 자격 증명과 연결된 이름은 쿼리할 수 있는 유일한 특성입니다.

다음 함수는 자격 증명 관리와 함께 사용됩니다.

함수 설명
AcquireCredentialsHandle(일반) 지정된 보안 주체의 기존 자격 증명에 대한 핸들을 가져옵니다.
ExportSecurityContext 보안 컨텍스트를 컨텍스트 버퍼로 내보냅니다.
FreeCredentialsHandle 자격 증명 핸들 및 관련 리소스를 해제합니다.
ImportSecurityContext ExportSecurityContext를 사용하여 내보낸 보안 컨텍스트를 현재 프로세스로 가져옵니다.
QueryCredentialsAttributes 자격 증명과 연결된 이름과 같은 자격 증명특성을 검색합니다.

컨텍스트 관리

SSPI 컨텍스트 관리 함수는 보안 컨텍스트를 만들고 사용합니다.

통신 링크에서 클라이언트와 서버는 협력하여 공유 보안 컨텍스트를 만듭니다. 클라이언트와 서버는 모두 메시지 지원 함수와 함께 보안 컨텍스트를 사용하여 연결 중에 메시지 무결성개인 정보를 보장합니다.

보안 컨텍스트는 불투명한 보안 개체입니다. 보안 컨텍스트의 정보는 애플리케이션에서 사용할 수 없습니다. 컨텍스트 관리 함수는 컨텍스트 핸들을 만들고 사용하며 보안 패키지는 컨텍스트 핸들을 역참조하여 해당 보안 콘텐츠에 액세스합니다.

컨텍스트 핸들은 {0x00000000, 0x00000000} 및 {0xFFFFFFFF, 0xFFFFFFFE} 사이의 64비트 값입니다.

다음 함수는 컨텍스트 관리와 함께 사용됩니다.

함수 설명
AcceptSecurityContext(일반) 서버에서 클라이언트로부터 받은 불투명 메시지를 기반으로 보안 컨텍스트를 만드는 데 사용됩니다.
ApplyControlToken 기존 보안 컨텍스트에 추가 보안 메시지를 적용합니다.
CompleteAuthToken 인증 토큰을 완료합니다. 이 함수는 전송 애플리케이션이 일부 메시지 매개 변수를 업데이트한 후 보안 정보를 수정해야 하는 DCE와 같은 프로토콜에서 사용됩니다.
DeleteSecurityContext 보안 컨텍스트 및 관련 리소스를 해제합니다.
FreeContextBuffer 보안 패키지에서 할당한 메모리 버퍼를 해제합니다.
ImpersonateSecurityContext 시스템에 클라이언트로 표시되도록 보안 컨텍스트를 가장합니다.
InitializeSecurityContext(일반) 서버에 전달할 불투명 메시지를 생성하여 클라이언트에서 보안 컨텍스트를 시작하는 데 사용됩니다.
QueryContextAttributes(일반) 전송 애플리케이션이 보안 컨텍스트의 특정 특성에 대한 보안 패키지를 쿼리할 수 있도록 합니다.
QuerySecurityContextToken 클라이언트 보안 컨텍스트대한 액세스 토큰을 가져오고 직접 사용합니다.
SetContextAttributes 전송 애플리케이션이 보안 패키지에 대한 보안 컨텍스트의 특성을 설정할있도록 합니다. 이 함수는 Schannel 보안 패키지에서만 지원됩니다.
RevertSecurityContext 보안 패키지호출자의 가장을 중단하고 자체 보안 컨텍스트를 복원할 수 있도록 허용합니다.

메시지 지원

SSPI 메시지 지원 함수를 사용하면 애플리케이션이 변조 방지 메시지를 전송 및 수신하고 메시지를 암호화하고 해독할 수 있습니다. 이러한 함수는 메시지를 포함하는 하나 이상의 버퍼와 컨텍스트 관리 함수에서 만든 보안 컨텍스트에서 작동합니다. 함수의 동작은 연결, 데이터그램 또는 스트림 컨텍스트가 사용 중인지 여부에 따라 다릅니다. 이러한 차이점에 대한 설명은 SSPI 컨텍스트 의미 체계를 참조 하세요.

다음 함수는 메시지에 대한 보안 지원을 제공합니다.

함수 설명
DecryptMessage(일반) 보안 컨텍스트에서 세션 키를 사용하여 암호화된 메시지의 암호를 해독합니다.
EncryptMessage(일반) 보안 컨텍스트에서 세션 키를 사용하여 메시지를 암호화합니다.
MakeSignature 메시지의 암호화 체크섬을 생성하고 메시지 손실 또는 삽입을 방지하기 위한 시퀀싱 정보도 포함합니다.
VerifySignature MakeSignature 함수를 사용하여 보낸 사람에서 서명한 메시지의 서명을 확인합니다.

SSP/AP에서 구현되는 함수

다음 함수는 SSP(보안 지원 공급자/인증 패키지)에 포함된 보안 패키지에 의해 구현됩니다.

다음 표에서 첫 번째 함수 집합은 Windows XP SSP/AP 보안 패키지에 의해 구현됩니다. 두 번째 함수 집합은 SSP/AP 보안 패키지에서만 구현됩니다.

LSA(로컬 보안 기관)는 SSP/AP의 SpLsaModeInitialize 함수에서 제공하는 SECPKG_FUNCTION_TABLE 구조를 사용하여 이러한 함수에 액세스합니다.

다음 함수는 모든 인증 패키지에서 구현됩니다.

함수 설명
LsaApCallPackage LSA에 대한 신뢰할 수 있는 연결을 가진 로그온 애플리케이션이 LsaCallAuthenticationPackage 함수를 호출하고 인증 패키지의 식별자를 지정하는 경우 LSA(로컬 보안 기관)에서 호출됩니다.
LsaApCallPackagePassthrough LsaCallAuthenticationPackage 함수로 전송된 통과 로그온 요청에 대한 디스패치 함수
LsaApCallPackageUntrusted LSA에 대한 신뢰할 수 없는 연결이 있는 애플리케이션이 LsaCallAuthenticationPackage 함수를 호출하고 인증 패키지의 식별자를 지정하는 경우 LSA(로컬 보안 기관)에서 호출됩니다.
LsaApInitializePackage 시스템 초기화 중에 LSA(로컬 보안 기관)에서 한 번 호출하여 인증 패키지를 초기화할 기회를 제공합니다.
LsaApLogonTerminated 로그온 세션이 종료되면 인증 패키지에 알리는 데 사용됩니다. 로그온 세션을 참조하는 마지막 토큰이 삭제되면 로그온 세션이 종료됩니다.
LsaApLogonUser 사용자의 로그온 자격 증명을 인증합니다.
LsaApLogonUserEx 사용자의 로그온 자격 증명을 인증합니다.
LsaApLogonUserEx2 사용자의 초기 로그온에서 사용자 로그온 시도를 인증하는 데 사용됩니다. 사용자에 대한 새 로그온 세션이 설정되고 사용자에 대한 유효성 검사 정보가 반환됩니다.

다음 추가 함수는 SSP/AP 보안 패키지에 의해 구현됩니다.

함수 설명
SpAcceptCredentials 인증된 보안 주체에 대해 저장된 자격 증명을 보안 패키지에 전달하기 위해 LSA(로컬 보안 기관)에서 호출합니다.
SpAcceptLsaModeContext 서버 및 클라이언트에서 공유하는 보안 컨텍스트만드는 데 사용되는 서버 디스패치 함수입니다.
SpAcquireCredentialsHandle 보안 주체의 자격 증명에 대한 핸들을 가져오기 위해 호출됩니다.
SpAddCredentials 보안 주체에 대한 자격 증명 추가하는 데 사용됩니다.
SpApplyControlToken 보안 컨텍스트에 컨트롤 토큰을 적용합니다. 이 함수는 현재 LSA(로컬 보안 기관)에서 호출되지 않습니다.
SpDeleteContext 보안 컨텍스트삭제합니다.
SpDeleteCredentials 보안 패키지의 기본 또는 추가 자격 증명 목록에서 자격 증명을 삭제합니다.
SpFreeCredentialsHandle SpAcquireCredentialsHandle 함수를 호출하여 획득한 자격 증명을 해제합니다.
SpGetCredentials 사용자 자격 증명을 검색합니다.
SpGetExtendedInformation 보안 패키지에 대한 확장 정보를 제공합니다.
SpGetInfo 보안 패키지대한 일반 정보(예: 이름 및 기능)를 제공합니다.
SpGetUserInfo 로그온 세션에 대한 정보를 검색합니다.
SPInitialize LSA(로컬 보안 기관)에서 일반 보안 정보와 지원 함수의 디스패치 테이블을 제공하는 보안 패키지를호출합니다.
SpInitLsaModeContext 서버와 클라이언트 간에 보안 컨텍스트설정하는 데 사용되는 클라이언트 디스패치 함수입니다.
SpQueryContextAttributes 보안 컨텍스트의 특성을 검색합니다.
SpQueryCredentialsAttributes 자격 증명의 특성을 검색합니다.
SpSaveCredentials 사용자 개체에 추가 자격 증명 을 저장합니다.
SpSetExtendedInformation 보안 패키지대한 확장 정보를 설정합니다.
SpShutdown SSP/AP가 언로드되기 전에 필요한 정리를 수행합니다.
SslCrackCertificate 지정된 인증서 BLOB에 포함된 정보를 사용하여 X509Certificate 구조를 반환합니다.
SslEmptyCache Schannel 캐시에서 지정된 문자열을 제거합니다.
SslFreeCertificate SslCrackCertificate 함수에 대한 이전 호출에 의해 할당된 인증서를 해제합니다 .

사용자 모드 SSP/AP에서 구현되는 함수

다음 함수는 클라이언트/서버 애플리케이션에 로드할 수 있는 SSP/AP(보안 지원 공급자/인증 패키지)에 의해 구현됩니다.

SSP/AP는 SpInitLsaModeContext SpAcceptLsaModeContext 함수의 MappedContext 매개 변수에서 TRUE 를 반환하여 사용자 모드 함수를 구현한다는 것을 나타냅니다. SpInitLsaModeContext 함수는 전송 수준 애플리케이션의 클라이언트 쪽에서 사용되고 SpAcceptLsaModeContext는 서버 쪽에서 사용됩니다.

클라이언트 프로세스 또는 서버 프로세스에 SSP/AP를 로드하는 작업은 Security.dll 또는 Secur32.dll 보안 공급자 DLL에 의해 처리됩니다. 보안 공급자 DLL은 SSP/AP에서 구현한 SpUserModeInitialize 함수의 주소를 찾아 호출하여 SSP/AP를 로드합니다. 이 함수는 각 보안 패키지에 구현된 사용자 모드 함수에 대한 포인터를 포함하는 테이블 집합을 반환합니다.

SSP/AP가 클라이언트 또는 서버 프로세스에 로드되면 LSA(로컬 보안 기관)는 보안 컨텍스트 정보(SpInitLsaModeContext 또는 SpAcceptLsaModeContext에서 반환됨) 및 추가 컨텍스트 관련 데이터를 프로세스에 복사하고 보안 패키지의 SpInitUserModeContext 함수를 호출합니다.

클라이언트/서버 애플리케이션은 SSPI(보안 지원 공급자 인터페이스) 함수를 호출하여 사용자 모드 기능에 액세스합니다. SSPI 함수는 패키지에서 제공하는 SECPKG_USER_FUNCTION_TABLE 사용하여 보안 공급자 DLL에 의해 매핑됩니다.

함수 설명
SpCompleteAuthToken 인증 토큰을 완료합니다.
SSPI CompleteAuthToken 함수를 구현합니다.
SpDeleteContext 보안 컨텍스트삭제합니다.
SSPI DeleteSecurityContext 함수를 구현합니다.
SpExportSecurityContext 보안 컨텍스트를 다른 프로세스로 내보냅니다.
SSPI ExportSecurityContext 함수를 구현합니다.
SpFormatCredentials 사용자 개체에 저장할 자격 증명 의 형식을 지정합니다.
SpGetContextToken 가장할 토큰을 가져옵니다.
SSPI ImpersonateSecurityContext 함수에서 사용됩니다.
SpImportSecurityContext 다른 프로세스에서 보안 컨텍스트를 가져옵니다.
SSPI ImportSecurityContext 함수를 구현합니다.
SpInitUserModeContext 압축된 LSA(로컬 보안 기관) 모드 컨텍스트에서 사용자 모드 보안 컨텍스트를 만듭니다.
SpInstanceInit SSP/AP에서 사용자 모드 보안 패키지를 초기화합니다.
SpMakeSignature 지정된 메시지 및 보안 컨텍스트에 따라 서명을 생성합니다.
SSPI MakeSignature 함수를 구현합니다.
SpMarshallSupplementalCreds 공용 형식의 추가 자격 증명을 로컬 프로시저 호출에 적합한 형식으로 변환합니다.
SpQueryContextAttributes 보안 컨텍스트의 특성을 검색합니다.
SSPI QueryContextAttributes(일반) 함수를 구현합니다.
SpSealMessage 클라이언트와 서버 간에 교환되는 메시지를 암호화합니다.
SSPI EncryptMessage(일반) 함수를 구현합니다.
SpUnsealMessage 이전에 SpSealMessage 함수로 암호화된 메시지의 암호를 해독합니다.
SSPI DecryptMessage(일반) 함수를 구현합니다.
SpUserModeInitialize SSP/AP(보안 지원 공급자/인증 패키지) DLL이 클라이언트/서버 애플리케이션의 프로세스 공간에 로드될 때 호출됩니다. 이 함수는 SSP/AP DLL의 보안 패키지에 대한 SECPKG_USER_FUNCTION_TABLE 테이블을 제공합니다.
SpVerifySignature 받은 메시지가 서명에 따라 올바른지 확인합니다.
SSPI VerifySignature 함수를 구현합니다.

SSP/AP에서 호출되는 LSA 함수

LSA(로컬 보안 기관)는 SSP/AP(보안 지원 공급자/인증 패키지)에 배포된 보안 패키지 다음 기능을 제공합니다. 함수는 LSA_SECPKG_FUNCTION_TABLE 구조에서 사용할 수 있으며 SSP/AP가 LSA의 프로세스 공간에 로드되는 동안 호출할 수 있습니다. 다음 함수는 모든 AP에서 사용할 수 있습니다.

함수 설명
AddCredential 사용자 자격 증명을 추가합니다.
AllocateClientBuffer 패키지 클라이언트의 주소 공간에 메모리를 할당합니다.
AllocateLsaHeap 힙에 메모리를 할당합니다. LSA로 다시 전달되는 일부 정보는 이 함수를 사용하여 할당되어야 합니다.
CopyFromClientBuffer 클라이언트 프로세스의 주소 공간에서 현재 프로세스의 버퍼로 정보를 복사합니다.
CopyToClientBuffer 현재 프로세스의 버퍼에서 클라이언트 프로세스의 주소 공간으로 정보를 복사합니다.
CreateLogonSession 로그온 세션을 만듭니다.
DeleteCredential 사용자 자격 증명을 삭제합니다.
DeleteLogonSession LSA 로그온 세션을 삭제합니다.
FreeClientBuffer 패키지 클라이언트의 주소 공간에서 메모리를 해제합니다.
FreeLsaHeap AllocateLsaHeap에서 이전에 할당한 힙 메모리 할당을 취소합니다.
GetCredentials 로그온 세션과 연결된 자격 증명을 검색합니다.

다음 함수는 SSP/AP에서 사용할 수 있습니다.

함수 설명
AllocateSharedMemory 공유 메모리의 섹션을 할당합니다.
AuditAccountLogon 로그온 시도에 대한 감사 레코드를 만듭니다.
AuditLogon 로그온 세션에 대한 감사 내역을 만듭니다.
CallPackage 패키지를 호출합니다.
CallPackageEx 다른 패키지를 호출합니다.
CallPackagePassthrough 한 보안 패키지를 다른 보안 패키지에서 호출합니다.
CancelNotification 특수 이벤트에 대한 알림을 취소합니다.
ClientCallback 보안 패키지가 클라이언트 프로세스에서 함수를 호출할 수 있도록 허용합니다.
ClientCallback 함수 프로토타입은 ClientCallback 함수 프로토타입을 참조하세요.
CloseSamUser 보안 계정 관리자 데이터베이스 항목에 대한 핸들을 닫습니다.
ConvertAuthDataToToken 권한 부여 데이터를 사용자 토큰으로 변환합니다.
CrackSingleName 이름을 한 형식에서 다른 형식으로 변환합니다.
CreateSharedMemory 클라이언트와 SSP/AP 간에 공유되는 메모리 섹션을 만듭니다.
CreateThread 새 스레드를 만듭니다.
CreateToken 토큰을 만듭니다.
DeleteSharedMemory 공유 메모리의 섹션을 삭제합니다.
DuplicateHandle 핸들을 복제합니다.
FreeReturnBuffer LSA에서 할당한 버퍼를 해제합니다.
FreeSharedMemory 공유 메모리의 섹션을 해제합니다.
GetAuthDataForUser 사용자 계정에 대한 권한 부여 데이터를 검색합니다.
GetCallInfo 최신 함수 호출에 대한 정보를 검색합니다.
GetClientInfo 보안 패키지의 사용자 프로세스에 대한 정보를 검색합니다.
GetUserAuthData 사용자의 권한 부여 데이터를 반환합니다.
GetUserCredentials 아직 구현되지 않았습니다.
ImpersonateClient 패키지 사용자를 가장하기 위해 보안 패키지에서 호출됩니다.
MapBuffer SecBuffer 구조를 SSP/AP(보안 지원 공급자/인증 패키지)의 주소 공간에 매핑합니다.
OpenSamUser SAM(보안 계정 관리자) 데이터베이스에서 사용자 계정에 대한 핸들을 검색합니다.
RegisterNotification 보안 패키지알림을 제공하는 메커니즘을 제공합니다. 알림은 일정한 간격으로, 이벤트 개체에 신호를 보낼 때 또는 특정 시스템 이벤트 중에 발생할 수 있습니다.
SaveSupplementalCredentials 사용되지 않습니다. 사용하지 마십시오.
UnloadPackage SSP/AP(보안 지원 공급자/인증 패키지)를 언로드합니다.
UpdateCredentials 보안 패키지가 다른 패키지에 로그온 세션 자격 증명이 변경되었음을 알리는 메커니즘을 제공합니다.

사용자 모드 SSP/AP에서 호출되는 LSA 함수

사용자 모드 프로세스에서 실행되는 SSP/AP(보안 지원 공급자/인증 패키지)의 보안 패키지는 SECPKG_DLL_FUNCTIONS 테이블의 포인터를 사용하여 다음 함수에 액세스할 수 있습니다.

함수 PSDK 상태
AllocateHeap LSA(로컬 보안 기관)에 반환되는 버퍼에 대한 메모리를 할당합니다.
FreeHeap AllocateHeap을 사용하여 이전에 할당된 메모리를 해제합니다.
RegisterCallback 사용자 모드 콜백 함수를 등록합니다.

GINA 내보내기 함수

GINA DLL은 다음 함수를 내보내야 합니다.

참고 항목

GINA DLL은 Windows Vista에서 무시됩니다.

함수 설명
WlxActivateUserShell 사용자 셸 프로그램을 활성화합니다.
WlxDisplayLockedNotice GINA에서 워크스테이션을 잠근 사용자 및 잠금 시기와 같은 잠금에 대한 정보를 표시할 수 있습니다.
WlxDisplaySASNotice Winlogon 은 로그온한 사용자가 없을 때 이 함수를 호출합니다.
WlxDisplayStatusMessage Winlogon 은 GINA DLL이 메시지를 표시해야 하는 경우 이 함수를 호출합니다.
WlxGetConsoleSwitchCredentials Winlogon 은 이 함수를 호출하여 현재 로그온한 사용자의 자격 증명을 읽어 대상 세션으로 투명하게 전송합니다.
WlxGetStatusMessage Winlogon 은 이 함수를 호출하여 GINA DLL에 의해 표시되는 상태 메시지를 가져옵니다.
WlxInitialize Winlogon은 컴퓨터에 있는 각 창 스테이션에 대해 이 함수를 한 번 호출합니다. 현재 운영 체제는 워크스테이션당 하나의 창 스테이션을 지원합니다.
WlxIsLockOk Winlogon은 워크스테이션을 잠그기 전에 이 함수를 호출합니다.
WlxIsLogoffOk Winlogon 은 사용자가 로그오프 작업을 시작할 때 이 함수를 호출합니다.
WlxLoggedOnSAS Winlogon은 사용자가 로그온되고 워크스테이션이 잠겨 있지 않은 동안 SAS(보안 주의 순서) 이벤트를 받으면 이 함수를 호출합니다.
WlxLoggedOutSAS Winlogon은 사용자가 로그온되지 않은 상태에서 SAS(보안 주의 순서) 이벤트를 수신할 때 이 함수를 호출합니다.
WlxLogoff Winlogon 은 이 함수를 호출하여 GINA에 이 워크스테이션에서 로그오프 작업을 알리고 GINA가 필요할 수 있는 모든 로그오프 작업을 수행할 수 있도록 합니다.
WlxNegotiate WlxNegotiate 함수는 대체 GINA DLL에 의해 구현되어야 합니다. Winlogon에서 GINA DLL에 대한 첫 번째 호출입니다. WlxNegotiate 를 사용하면 GINA가 설치된 Winlogon 버전을 지원하는지 확인할 수 있습니다.
WlxNetworkProviderLoad Winlogon은 이 함수를 호출하여 유효한 인증 및 식별 정보를 수집합니다.
WlxRemoveStatusMessage Winlogon 은 이 함수를 호출하여 GINA DLL에 상태 메시지 표시를 중지하도록 지시합니다.
WlxScreenSaverNotify Winlogon 은 화면 보호기가 활성화되기 직전에 이 함수를 호출하여 GINA가 화면 보호기 프로그램과 상호 작용할 수 있도록 합니다.
WlxShutdown Winlogon은 종료 직전에 이 함수를 호출하여 GINA가 판독기에서 스마트 카드를 꺼내는 것과 같은 모든 종료 작업을 수행할 수 있도록 합니다.
WlxStartApplication Winlogon은 시스템에서 사용자의 컨텍스트에서 애플리케이션을 시작해야 하는 경우 이 함수를 호출합니다.
WlxWkstaLockedSAS Winlogon은 SAS(보안 주의 순서)를 수신하고 워크스테이션이 잠겨 있을 때 이 함수를 호출합니다.

로그온 사용자 함수

다음 함수는 사용자에 로그온하는 기능을 제공합니다.

함수 설명
LogonUser 로컬 컴퓨터에 사용자를 로그온하려고 시도합니다.
LogonUserEx 로컬 컴퓨터에 사용자를 로그온하려고 시도합니다. 이 함수는 LogonUser 함수의 확장 버전이며 로그온한 사용자의 SID(보안 식별자), 프로필 및 할당량 제한에 대한 정보를 검색합니다.
LogonUserExExW LogonUserExExW 함수는 사용자를 로컬 컴퓨터에 로그온하려고 시도합니다. 이 함수는 공용 헤더에 선언되지 않으며 연결된 가져오기 라이브러리가 없습니다. LoadLibrary GetProcAddress 함수를 사용하여 Advapi32.dll 동적으로 연결해야 합니다.

Winlogon 지원 함수

GINA DLL은 다음 Winlogon 지원 함수를 호출할 수 있습니다.

참고 항목

GINA DLL은 Windows Vista에서 무시됩니다.

함수 GINA에서 호출됨
WlxAssignShellProtection 새로 로그온한 사용자의 셸 프로그램에 보호를 할당하기 위해 GINA 에서 호출합니다.
WlxChangePasswordNotify 암호가 변경되었음을 나타내기 위해 GINA 에서 호출합니다.
WlxChangePasswordNotifyEx GINA에서 호출하여 특정 네트워크 공급자(또는 모든 네트워크 공급자)에게 암호가 변경되었음을 알립니다.
WlxCloseUserDesktop GINA에서 호출하여 대체 사용자 데스크톱을 닫고 데스크톱을 닫은 후 정리합니다.
WlxCreateUserDesktop GINA에서 호출하여 사용자에 대한 대체 애플리케이션 데스크톱을 만듭니다.
WlxDialogBox 대화 상자 템플릿에서 모달 대화 상자를 만들기 위해 GINA 에서 호출됩니다.
WlxDialogBoxIndirect GINA에서 호출하여 메모리의 대화 상자 템플릿에서 모달 대화 상자를 만듭니다.
WlxDialogBoxIndirectParam GINA에서 호출하여 대화 상자 컨트롤을 초기화한 다음 메모리의 대화 상자 템플릿에서 모달 대화 상자를 만듭니다.
WlxDialogBoxParam GINA에서 호출하여 대화 상자 컨트롤을 초기화한 다음 대화 상자 템플릿 리소스에서 모달 대화 상자를 만듭니다.
WlxDisconnect 터미널 서비스를 사용하는 경우 대체 GINA DLL에 의해 호출됩니다. GINA는 터미널 서비스 네트워크 세션에서 연결을 끊기 위해 이 함수를 호출합니다.
WlxGetOption 옵션의 현재 값을 검색하기 위해 GINA에서 호출됩니다.
WlxGetSourceDesktop Winlogon이 Winlogon 데스크톱으로 전환되기 전에 현재 데스크톱의 이름과 핸들을 확인하기 위해 GINA에서 호출되었습니다.
WlxMessageBox 메시지 상자를 만들고 표시하고 작동하기 위해 GINA에서 호출합니다.
WlxQueryClientCredentials 터미널 서비스를 사용하는 경우 대체 GINA DLL에 의해 호출됩니다. GINA는 이 함수를 호출하여 인터넷 커넥터 라이선스를 사용하지 않는 원격 터미널 서비스 클라이언트의 자격 증명을 검색합니다.
WlxQueryConsoleSwitchCredentials GINA임시 세션의 Winlogon에서 대상 세션의 Winlogon으로 전송된 자격 증명을 읽기 위해 호출합니다.
WlxQueryInetConnectorCredentials 터미널 서비스를 사용하는 경우 대체 GINA DLL에 의해 호출됩니다. GINA는 이 함수를 호출하여 터미널 서버가 인터넷 커넥터 라이선스를 사용하고 있는지 확인하고 자격 증명 정보를 검색합니다.
WlxQueryTerminalServicesData 사용자가 로그온한 후 터미널 서비스 사용자 구성 정보를 검색하기 위해 GINA 에서 호출됩니다.
WlxSasNotify GINA Winlogon에 SAS(보안 주의 순서) 이벤트를 알리기 위해 호출합니다.
WlxSetContextPointer GINA에서 호출하여 Winlogon에서 GINA 함수에 대한 모든 이후 호출에 대한 첫 번째 매개 변수로 전달되는 컨텍스트 포인터를 지정합니다.
WlxSetOption 옵션 값을 설정하기 위해 GINA에서 호출됩니다.
WlxSetReturnDesktop GINA에서 호출하여 Winlogon 현재 SAS(보안 주의 시퀀스) 이벤트 처리 함수가 완료될 때 전환할 대체 애플리케이션 데스크톱을 지정합니다.
WlxSetTimeout 대화 상자와 연결된 제한 시간을 변경하기 위해 GINA에서 호출됩니다. 기본 제한 시간은 2분입니다.
WlxSwitchDesktopToUser 애플리케이션 데스크톱으로 전환하기 위해 GINA 에서 호출됩니다.
WlxSwitchDesktopToWinlogon GINA DLL을 Winlogon 데스크톱으로 전환할 수 있습니다.
WlxUseCtrlAltDel GINA가 표준 Ctrl+Alt+DEL 키 조합을 SAS(보안 주의 시퀀스)로 사용하도록 Winlogon에 지시하기 위해 GINA호출합니다.
WlxWin31Migrate 터미널 서비스를 사용하는 경우 대체 GINA DLL에 의해 호출됩니다. GINA는 이 함수를 호출하여 터미널 서비스 클라이언트의 설정을 완료합니다.

네트워크 공급자 함수

다음 항목에서는 네트워크 공급자 함수에 대한 참조 정보를 제공합니다.

항목 설명
네트워크 공급자가 구현하는 함수 네트워크 공급자가 구현할 수 있는 세부 정보 함수입니다.
지원 함수 운영 체제에서 구현되고 네트워크 공급자가 호출할 수 있는 함수에 대해 자세히 설명합니다.
연결 알림 함수 네트워크 리소스가 연결되거나 연결이 끊어지면 MPR(다중 공급자 라우터)에서 알림을 받아야 하는 애플리케이션에서 구현하는 세부 정보 함수입니다.

네트워크 공급자가 구현하는 함수

다음 함수는 네트워크 공급자가 구현할 수 있습니다. 네트워크 공급자가 지원하는 데 필요한 유일한 함수는 NPGetCaps입니다.

함수 설명
NPAddConnection 로컬 디바이스를 네트워크 리소스에 연결합니다.
NPAddConnection3 로컬 디바이스를 네트워크 리소스에 연결합니다.
NPCancelConnection 네트워크 연결을 끊습니다.
NPCloseEnum 열거형을 닫습니다.
NPDeviceMode 디바이스의 부모 창을 지정합니다. 이 창에는 디바이스에서 시작된 모든 대화 상자가 있습니다.
NPDirectoryNotify 네트워크 공급자에게 특정 디렉터리 작업을 알 수 있습니다.
NPEnumResource NPOpenEnum에서 반환된 핸들을 기반으로 열거형을 수행합니다.
NPFormatNetworkName 컨트롤에 표시할 네트워크 이름을 공급자별 형식으로 서식을 지정합니다.
NPGetCaps 네트워크에서 지원되는 서비스에 대한 정보를 반환합니다.
NPGetConnection 연결에 대한 정보를 검색합니다.
NPGetConnection3 현재 연결이 끊긴 경우에도 네트워크 연결에 대한 정보를 검색합니다.
NPGetConnectionPerformance 네트워크 리소스에 액세스하는 데 사용되는 연결의 예상 성능에 대한 정보를 반환합니다. 요청은 현재 연결된 네트워크 리소스에 대해서만 가능합니다.
NPGetDirectoryType 네트워크 디렉터리의 유형을 결정합니다.
NPGetPropertyText 네트워크 리소스의 속성 대화 상자에 추가할 단추의 이름을 검색합니다.
NPGetResourceInformation WNet API를 통해 액세스하는 네트워크 리소스의 부분을 리소스 유형과 관련된 API를 통해 액세스하는 부분과 구분합니다.
NPGetResourceParent 찾아보기 계층에서 지정된 네트워크 리소스의 부모를 검색합니다.
NPGetUniversalName 네트워크 리소스의 범용 이름을 검색합니다. NPGetUniversalName 함수는 UNC 형식 또는 이전 원격 이름 형식으로 이 유니버설 이름을 검색할 수 있습니다.
NPGetUser 네트워크 연결을 설정하는 데 사용되는 현재 기본 사용자 이름 또는 사용자 이름의 값을 검색합니다.
NPOpenEnum 네트워크 리소스 또는 기존 연결의 열거형을 엽니다. 열거형에 유효한 핸들을 가져오려면 NPOpenEnum 함수를 호출해야 합니다.
NPPropertyDialog 사용자가 NPPropertyDialog 함수를 사용하여 추가된 단추를 클릭하면 호출됩니다. NPPropertyDialog 함수는 파일 및 디렉터리 네트워크 속성에 대해서만 호출됩니다.
NPSearchDialog 네트워크 공급업체는 연결 대화 상자에 표시된 계층적 보기를 넘어 고유한 형태의 검색 및 검색을 제공할 수 있습니다.

지원 함수

다음 함수는 운영 체제에서 구현되며 네트워크 공급자가 호출할 수 있습니다.

함수 설명
WNetSetLastError 확장 오류 정보를 설정합니다. 네트워크 공급자는 SetLastError 대신 이 함수를 호출해야 합니다.

연결 알림 함수

다음 함수는 네트워크 리소스가 연결되거나 연결이 끊어지면 MPR(다중 공급자 라우터)에서 알림을 받아야 하는 애플리케이션에 의해 구현됩니다. 이러한 알림을 받는 애플리케이션을 작성하는 방법에 대한 자세한 내용은 연결 알림 수신을 참조 하세요.

함수 설명
AddConnectNotify 각 연결 추가 작업(WNetAddConnection, WNetAddConnection2WNetAddConnection3) 전후에 호출됩니다.
CancelConnectNotify 각 연결 취소 작업 전후에 호출됩니다(WNetCancelConnection 또는 WNetCancelConnection2).

LSA 로그온 함수

다음 LSA(로컬 보안 기관 ) 인증 기능은 사용자를 인증하고 로그온하며 로그온 세션 정보를 제공합니다.

함수 설명
LsaCallAuthenticationPackage 인증 패키지에서 패키지별 서비스를 요청합니다.
LsaConnectUntrusted LSA에 대한 신뢰할 수 없는 연결을 설정합니다.
LsaDeregisterLogonProcess LSA에서 연결을 끊고 호출자의 컨텍스트에 할당된 리소스를 해제합니다.
LsaEnumerateLogonSessions 기존 로그온 세션에 대한 LU ID(로컬 고유 식별자 )를 검색합니다.
LsaFreeReturnBuffer 호출자에게 반환되는 버퍼에 할당된 메모리를 해제합니다.
LsaGetLogonSessionData 지정된 로그온 세션에 대한 정보를 검색합니다.
LsaLogonUser 저장된 자격 증명에 대해 사용자 로그온 데이터를 인증합니다. 성공하면 새 로그온 세션을 만들고 사용자 토큰을 반환합니다.
LsaLookupAuthenticationPackage 인증 패키지의 고유 식별자를 가져옵니다.
LsaQueryDomainInformationPolicy Policy 개체에서 도메인 정보를 검색합니다.
LsaQueryForestTrustInformation 지정된 로컬 보안 기관 TrustedDomain 개체에 대한 포리스트 트러스트 정보를 검색합니다.
LsaRegisterLogonProcess LSA 서버에 대한 연결을 설정하고 호출자가 로그온 애플리케이션인지 확인합니다.
LsaSetDomainInformationPolicy 도메인 정보를 Policy 개체로 설정합니다.
LsaSetForestTrustInformation 는 지정된 로컬 보안 기관 TrustedDomain 개체에 대한 포리스트 트러스트 정보를 설정합니다.

인증 패키지에 의해 구현되는 함수

사용자 지정 인증 패키지는 LSA(로컬 보안 기관)에서 호출하는 이러한 함수를 구현해야 합니다. 이러한 함수는 Microsoft에서 제공하는 MSV1_0 및 Kerberos 인증 패키지에 의해 구현됩니다.

함수 설명
LsaApCallPackage 신뢰할 수 있는 연결을 사용하는 애플리케이션에서 LsaCallAuthenticationPackage 호출에서 인증 패키지의 식별자를 지정한 경우 호출됩니다.
이 함수는 로그온 애플리케이션이 인증 패키지와 직접 통신하는 방법을 제공합니다.
LsaApCallPackagePassthrough 통과 로그온 요청에 대한 LsaCallAuthenticationPackage 호출에서 인증 패키지의 식별자를 지정한 경우 호출됩니다.
LsaApCallPackageUntrusted 신뢰할 수 없는 연결을 사용하는 애플리케이션에서 LsaCallAuthenticationPackage 호출에서 인증 패키지의 식별자를 지정한 경우 호출됩니다. 이 함수는 SeTcbPrivilege 권한이 없는 프로세스와 통신하는 데 사용됩니다.
LsaApInitializePackage 시스템 초기화 중에 호출하여 인증 패키지가 초기화 작업을 수행할 수 있도록 허용합니다.
LsaApLogonTerminated 로그온 세션이 종료될 때 호출되어 인증 패키지가 로그온 세션에 할당된 모든 리소스를 해제할 수 있도록 허용합니다.
LsaApLogonUser LsaLogonUser 호출에서 인증 패키지가 지정된 경우 호출 됩니다. 이 함수는 보안 주체의 로그온 데이터를 인증합니다.
LsaApLogonUserEx 감사 목적으로 워크스테이션 이름을 반환한다는 점을 제외하고 LsaApLogonUser와 동일합니다.
인증 패키지는 LsaApLogonUser, LsaApLogonUserEx 또는 LsaApLogonUserEx2를 구현할 수 있습니다. 모두 구현할 필요는 없습니다.
LsaApLogonUserEx2 보안 주체의 기본 및 추가 자격 증명을 반환한다는 점을 제외하고 LsaApLogonUserEx와 동일합니다. 인증 패키지는 LsaApLogonUser, LsaApLogonUserEx 또는 LsaApLogonUserEx2를 구현할 수 있습니다. 모두 구현할 필요는 없습니다.

인증 패키지에서 호출되는 LSA 함수

다음 LSA(로컬 보안 기관 ) 함수는 사용자 지정 인증 패키지에서 호출할 수 있습니다. LSA가 LsaApInitializePackage를 호출하여 패키지를 초기화하면 지원 함수 테이블이 전달됩니다.

함수 설명
AddCredential 로그온 세션에 자격 증명을 추가합니다.
AllocateClientBuffer 클라이언트의 주소 공간에 버퍼를 할당합니다.
AllocateLsaHeap 인증 패키지에서 LSA로 반환해야 하는 버퍼를 할당합니다.
CopyFromClientBuffer 클라이언트의 주소 공간에 있는 버퍼의 내용을 로컬 버퍼에 복사합니다.
CopyToClientBuffer 로컬 버퍼의 내용을 클라이언트의 주소 공간에 복사합니다.
CreateLogonSession 인증 패키지에서 로그온 세션을 만드는 데 사용됩니다.
DeleteCredential 기존 자격 증명을 삭제합니다.
DeleteLogonSession 사용자의 인증 정보가 합법적인지 여부를 확인하면서 생성된 로그온 세션을 정리합니다.
FreeClientBuffer AllocateClientBuffer 함수를 사용하여 이전에 할당된 클라이언트 버퍼를 해제합니다.
FreeLsaHeap AllocateLsaHeap 함수를 사용하여 이전에 할당된 버퍼를 해제합니다.
GetCredentials AddCredential에서 이전에 캐시 한 자격 증명을 검색합니다.

하위 인증 함수

다음 하위 인증 함수는 Microsoft에서 제공하는 인증 패키지에서 호출하여 사용자가 만든 추가 로그온 인증을 제공할 수 있습니다.

함수 설명
Msv1_0SubAuthenticationFilter 도메인 컨트롤러와 관련된 사용자 로그온 인증을 수행합니다.
Msv1_0SubAuthenticationRoutine 클라이언트/서버별 인증을 수행합니다.

자격 증명 관리 함수

다음 항목에서는 자격 증명 관리 함수에 대한 참조 정보를 제공합니다.

항목 설명
자격 증명 관리 UI 함수 자격 증명 관리 UI에 사용되는 세부 정보 함수입니다.
하위 수준 자격 증명 관리 함수 하위 수준 자격 증명 관리에 사용되는 세부 정보 함수입니다.
자격 증명 관리 알림 함수 인증 정보가 변경될 때 알림을 받기 위해 자격 증명 관리자가 구현하는 세부 정보 함수입니다.

자격 증명 관리 UI 함수

다음은 자격 증명 관리 UI 함수입니다.

함수 설명
CredUICmdLinePromptForCredentials 명령줄 프로그램에서 작업하는 사용자의 사용자 자격 증명 정보를 묻는 메시지를 표시하고 수락합니다.
CredUIConfirmCredentials CredUIPromptForCredentials 또는 CredUICmdLinePromptForCredentials에서 반환된 자격 증명의 유효성을 확인합니다.
CredUIParseUserName 정규화된 사용자 이름에서 도메인 및 사용자 계정 이름을 추출합니다.
CredUIPromptForCredentials 사용자의 자격 증명 정보를 허용하는 대화 상자를 표시합니다.
CredUIPromptForWindowsCredentials 로컬 컴퓨터에 설치된 자격 증명 공급자를 사용하여 사용자가 자격 증명 정보를 제공할 수 있는 구성 가능한 대화 상자를 만들고 표시합니다.
CredUIReadSSOCredW 단일 로그온 자격 증명의 사용자 이름을 검색합니다.
CredUIStoreSSOCredW 단일 로그온 자격 증명을 저장합니다.

하위 수준 자격 증명 관리 함수

다음은 하위 수준 자격 증명 관리 함수입니다.

함수 설명
CredDelete 사용자의 자격 증명 집합에서 자격 증명을 삭제합니다.
CredEnumerate 사용자의 자격 증명 집합에 자격 증명을 나열합니다.
CredFindBestCredential CredMan(자격 증명 관리) 데이터베이스에서 현재 로그온 세션과 연결되고 지정된 대상 리소스와 가장 일치하는 일반 자격 증명 집합을 검색합니다.
CredFree 자격 증명 관리 함수에서 반환하는 버퍼에 사용되는 메모리를 해제합니다.
CredGetSessionTypes 현재 로그온 세션에서 지원하는 최대 지속성을 검색합니다.
CredGetTargetInfo 명명된 리소스에 대한 알려진 모든 대상 이름 정보를 검색합니다.
CredIsMarshaledCredential 지정된 사용자 이름 문자열이 이전에 CredMarshalCredential에 의해 마샬링된 마샬링된 자격 증명인지 여부를 확인합니다.
CredIsProtected CredProtect 함수에 대한 이전 호출을 통해 지정된 자격 증명을 암호화할지 여부를 지정합니다.
CredMarshalCredential 자격 증명을 텍스트 문자열로 변환합니다.
CredPackAuthenticationBuffer 문자열 사용자 이름 및 암호를 인증 버퍼로 변환합니다.
CredProtect 현재 보안 컨텍스트만 암호를 해독할 수 있도록 지정된 자격 증명을 암호화합니다.
CredRead 사용자의 자격 증명 집합에서 자격 증명을 읽습니다.
CredReadDomainCredentials 사용자의 자격 증명 집합에서 도메인 자격 증명을 읽습니다.
CredRename 사용자의 자격 증명 집합에서 자격 증명의 이름을 바꿉니다.
CredUnmarshalCredential 마샬링된 자격 증명 문자열을 다시 비마샬 형식으로 변환합니다.
CredUnPackAuthenticationBuffer CredUIPromptForWindowsCredentials 함수를 호출하여 반환된 인증 버퍼를 문자열 사용자 이름 및 암호로 변환합니다 .
CredUnprotect CredProtect 함수를 사용하여 이전에 암호화된 자격 증명의 암호를 해독합니다.
CredWrite 새 자격 증명을 만들거나 사용자의 자격 증명 집합에서 기존 자격 증명을 수정합니다.
CredWriteDomainCredentials 사용자의 자격 증명 집합에 도메인 자격 증명을 씁니다.

자격 증명 관리 알림 함수

다음 함수는 인증 정보가 변경될 때 알림을 수신하도록 자격 증명 관리자에 의해 구현됩니다.

함수 설명
NPLogonNotify MPR은 이 함수를 호출하여 자격 증명 관리자에게 로그온 이벤트가 발생했음을 알리고 자격 증명 관리자가 로그온 스크립트를 반환할 수 있도록 합니다.
NPPasswordChangeNotify MPR은 이 함수를 호출하여 자격 증명 관리자에게 암호 변경 이벤트를 알립니다.

스마트 카드 함수

스마트 카드 SDK는 다음 함수를 제공합니다.

함수 설명
GetOpenCardName 스마트 카드 카드 선택 대화 상자를 표시하는 SCardUIDlgSelectCard로 대체되었습니다.
SCardAccessStartedEvent 스마트 카드 리소스 관리자의 시작 신호를 받을 때 이벤트 핸들을 가져옵니다.
SCardAddReaderToGroup 판독기 그룹에 판독 기를 추가합니다.
SCardAudit Windows 애플리케이션 로그 Microsoft-Windows-SmartCard-Audit/Authentication에 이벤트 메시지를 씁니다.
SCardBeginTransaction 트랜잭션시작합니다.
SCardCancel 컨텍스트 내에서 처리 중인 모든 작업을 종료합니다.
SCardCancelTransaction 향후 사용을 위해 예약되어 있습니다.
SCardConnect 호출 애플리케이션과 스마트 카드 간의 연결을 설정합니다.
SCardControl SCardConnect가 호출된 후 판독기의 직접 제어를 가져옵니다.
SCardDisconnect 호출 애플리케이션과 스마트 카드 간의 연결을 종료합니다.
SCardEndTransaction 트랜잭션완료합니다.
SCardEstablishContext 스마트 카드 데이터베이스에 액세스하기 위한 리소스 관리자 컨텍스트 를 설정합니다.
SCardForgetCardType 스마트 카드 하위 시스템의 이전에 정의된 스마트 카드를 제거합니다.
SCardForgetReader 스마트 카드 하위 시스템의 이전에 정의된 판독기를 제거합니다.
SCardForgetReaderGroup 스마트 카드 하위 시스템의 이전에 정의된 판독기 그룹을 제거합니다.
SCardFreeMemory 리소스 관리자가 할당한 메모리를 해제합니다.
SCardGetAttrib 지정된 판독기, 드라이버 또는 스마트 카드에서 현재 판독기 특성을 가져옵니다.
SCardGetCardTypeProviderName 카드 이름 및 공급자 유형이 지정된 공급자 이름을 가져옵니다.
SCardGetDeviceTypeId 지정된 판독기 이름에 대한 카드 판독기의 디바이스 유형 식별자를 가져옵니다. 이 함수는 판독기의 상태에 영향을 주지 않습니다.
SCardGetProviderId 스마트 카드에 대한 기본 서비스 공급자식별자(GUID)를 가져옵니다.
SCardGetReaderDeviceInstanceId 지정된 판독기 이름에 대한 카드 판독기의 디바이스 인스턴스 식별자를 가져옵니다. 이 함수는 판독기의 상태에 영향을 주지 않습니다.
SCardGetReaderIcon 지정된 판독기 이름에 대한 스마트 카드 판독기의 아이콘을 가져옵니다.
SCardGetStatusChange 판독기의 상태가 변경될 때까지 실행을 차단합니다.
SCardGetTransmitCount 지정된 카드 판독기를 삽입한 이후 완료된 전송 작업 수를 검색합니다.
SCardIntroduceCardType 스마트 카드 하위 시스템에 새 스마트 카드를 소개합니다.
SCardIntroduceReader 스마트 카드 하위 시스템에 새 판독기를 소개합니다.
SCardIntroduceReaderGroup 스마트 카드 하위 시스템에 새 판독기 그룹을 소개합니다.
SCardIsValidContext 스마트 카드 컨텍스트 핸들을 확인합니다.
SCardListCards 하위 시스템에 이미 도입된 스마트 카드 목록을 제공합니다.
SCardListInterfaces 지정된 스마트 카드에서 제공하는 인터페이스 목록을 제공합니다.
SCardListReaderGroups 하위 시스템에 이미 도입된 판독기 그룹 목록을 제공합니다.
SCardListReaders 하위 시스템에 이미 도입된 판독기 목록을 제공합니다.
SCardListReadersWithDeviceInstanceId 디바이스 인스턴스 식별자를 제공한 판독기 목록을 가져옵니다. 이 함수는 판독기의 상태에 영향을 주지 않습니다.
SCardLocateCards 지정된 ATR 문자열과 일치하는 카드를 찾습니다.
SCardLocateCardsByATR 지정된 ATR 문자열과 일치하는 카드를 찾습니다.
SCardReadCache 스마트 카드 리소스 관리자가 유지 관리하는 전역 캐시에서 이름-값 쌍의 값 부분을 검색합니다.
SCardReconnect 호출 애플리케이션에서 스마트 카드로의 기존 연결을 다시 설정합니다.
SCardReleaseContext 설정된 리소스 관리자 컨텍스트닫습니다.
SCardReleaseStartedEvent SCardAccessStartedEvent 함수를 사용하여 획득한 핸들의 참조 수를 줄입니다.
SCardRemoveReaderFromGroup 기존 판독기 그룹에서 판독기를 제거합니다.
SCardSetAttrib 지정된 판독기 특성을 설정합니다.
SCardSetCardTypeProviderName 카드 이름 및 공급자 유형의 공급자 이름을 설정합니다.
SCardStatus 판독기의 현재 상태를 가져옵니다.
SCardTransmit 스마트 카드에 서비스 요청을 보냅니다.
SCardUIDlgSelectCard 스마트 카드 카드 선택 대화 상자를 표시합니다.
SCardWriteCache 스마트 카드에서 스마트 카드 리소스 관리자가 유지 관리하는 전역 캐시에 이름-값 쌍을 씁니다.

SASL 함수

SASL(단순 인증 및 보안 계층)은 다음 함수를 제공합니다.

함수 설명
SaslAcceptSecurityContext SSPI AcceptSecurityContext(일반) 함수에 대한 표준 호출을 래핑하고 SASL 서버 쿠키 만들기를 포함합니다.
SaslEnumerateProfiles SASL 인터페이스를 제공하는 패키지를 나열합니다.
SaslGetContextOption 지정된 SASL 컨텍스트의 지정된 속성을 검색합니다.
SaslGetProfilePackage 지정된 패키지에 대한 패키지 정보를 반환합니다.
SaslIdentifyPackage 지정된 SASL 협상 버퍼와 일치하는 협상 접두사를 반환합니다.
SaslInitializeSecurityContext SSPI InitializeSecurityContext(일반) 함수에 대한 표준 호출을 래핑하고 서버에서 SASL 서버 쿠키를 처리합니다.
SaslSetContextOption 지정된 SASL 컨텍스트에 대해 지정된 속성의 값을 설정합니다.

기타 함수

인증에 사용되는 다른 함수는 다음과 같습니다.

함수 설명
AddSecurityPackage Microsoft Negotiate에서 지원하는 공급자 목록에 보안 지원 공급자를 추가합니다.
ChangeAccountPassword 지정된 보안 지원 공급자를 사용하여 Windows 도메인 계정의 암호를 변경합니다.
CredMarshalTargetInfo 지정된 대상을 바이트 값 배열로 직렬화합니다.
DeleteSecurityPackage Microsoft Negotiate에서 지원하는 공급자 목록에서 보안 지원 공급자를 삭제합니다.
LsaManageSidNameMapping LSA 조회 서비스에 등록된 매핑 집합에서 SID/이름 매핑을 추가하거나 제거합니다.
LsaOpenPolicy 로컬 또는 원격 시스템의 Policy 개체에 대한 핸들을 엽니다.
LsaQueryInformationPolicy Policy 개체에 대한 정보를 검색합니다.
LsaSetInformationPolicy Policy 개체의 정보를 수정합니다.
NPFMXEditPerm 네트워크 공급업체가 자체 사용 권한 편집기 대화 상자를 제공할 수 있도록 합니다.
NPFMXGetPermCaps 권한 편집기의 기능을 검색합니다. 반환 값은 파일 관리자에서 사용할 보안 메뉴 항목을 나타내는 비트 마스크입니다.
NPFMXGetPermHelp 파일 관리자의 보안 메뉴에서 메뉴 항목을 선택하고 F1 키를 누르면 사용 권한 편집기 대화 상자의 도움말 파일 및 도움말 컨텍스트를 검색합니다.
SeciAllocateAndSetIPAddress 보안 감사 이벤트에 표시할 호출자 IP 주소를 설정합니다.
SeciFreeCallContext SeciAllocateAndSetIPAddress에서 할당한 메모리를 해제합니다.
SpGetCredUIContextFn 자격 증명 공급자에서 컨텍스트 정보를 검색합니다.
SpLsaModeInitialize SSP/AP DLL의 각 보안 패키지 에서 구현하는 함수에 대한 포인터를 LSA에 제공합니다.
SpQueryMetaDataFn 보안 컨텍스트시작할 때 SSP(보안 지원 공급자)에서 메타데이터를 가져옵니다.
SpUpdateCredentialsFn 지정된 컨텍스트와 연결된 자격 증명을 업데이트합니다.
SspiCompareAuthIdentities 지정된 두 자격 증명을 비교합니다.
SspiCopyAuthIdentity 지정된 불투명 자격 증명 구조의 복사본을 만듭니다.
SspiDecryptAuthIdentity 지정된 암호화된 자격 증명의 암호를 해독합니다.
SspiEncodeAuthIdentityAsStrings 지정된 인증 ID를 세 개의 문자열로 인코딩합니다.
SspiEncodeStringsAsAuthIdentity 세 개의 자격 증명 문자열 집합을 인증 ID 구조로 인코딩합니다.
SspiEncryptAuthIdentity 지정된 ID 구조를 암호화합니다.
SspiExcludePackage 지정된 SSP(보안 지원 공급자 )를 제외하도록 수정된 지정된 ID 구조의 복사본인 새 ID 구조를 만듭니다.
SspiFreeAuthIdentity 지정된 ID 구조에 할당된 메모리를 해제합니다.
SspiGetCredUIContext 자격 증명 공급자에서 컨텍스트 정보를 검색합니다.
SspiGetTargetHostName 지정된 대상과 연결된 호스트 이름을 가져옵니다.
SspiIsAuthIdentityEncrypted 지정된 ID 구조가 암호화되는지 여부를 나타냅니다.
SspiIsPromptingNeeded InitializeSecurityContext 또는 AcceptSecurityContext 함수를 호출한 후 반환된 오류가 SspiPromptForCredentials 함수에 대한 추가 호출이 필요한지 여부를 나타냅니다.
SspiLocalFree 지정된 버퍼와 연결된 메모리를 해제합니다.
SspiMarshalAuthIdentity 지정된 ID 구조를 바이트 배열로 직렬화합니다.
SspiPrepareForCredRead 지정된 ID 구조에서 대상 이름 및 자격 증명 형식을 생성합니다.
SspiPrepareForCredWrite CredWrite 함수 호출에서 매개 변수 값으로 전달될 수 있는 ID 구조에서 값을 생성합니다.
SspiPromptForCredentials SSPI(보안 지원 공급자 인터페이스) 애플리케이션에서 사용자에게 자격 증명을 입력하라는 메시지를 표시할 수 있습니다.
SspiUnmarshalAuthIdentity 지정된 바이트 값 배열을 ID 구조로 역직렬화합니다.
SspiUnmarshalCredUIContext ICredentialProvider::SetSerialization 메서드에 대한 이전 호출 중에 자격 증명 공급자가 가져온 자격 증명 정보를 역직렬화 합니다.
SspiUpdateCredentials 지정된 컨텍스트와 연결된 자격 증명을 업데이트합니다.
SspiValidateAuthIdentity 지정된 ID 구조가 유효한지 여부를 나타냅니다.
SspiZeroAuthIdentity 지정된 ID 구조와 연결된 메모리 블록을 0으로 채웁니다.
WlxQueryTsLogonCredentials 터미널 서비스를 사용하는 경우 대체 GINA DLL에 의해 호출되어 자격 증명 정보를 검색합니다. 그런 다음 GINA DLL은 이 정보를 사용하여 로그온 상자를 자동으로 채우고 사용자를 로그인하려고 시도할 수 있습니다.