LSA_GET_CREDENTIALS 콜백 함수(ntsecpkg.h)
로그온 세션과 연결된 자격 증명을 검색합니다.
이 함수는 Kerberos와 같은 최신 인증 패키지에서 사용되지 않습니다.
구문
LSA_GET_CREDENTIALS LsaGetCredentials;
NTSTATUS LsaGetCredentials(
[in] PLUID LogonId,
[in] ULONG AuthenticationPackage,
[in, out] PULONG QueryContext,
[in] BOOLEAN RetrieveAllCredentials,
[in, out] PLSA_STRING PrimaryKeyValue,
[out] PULONG PrimaryKeyLength,
[out] PLSA_STRING Credentials
)
{...}
매개 변수
[in] LogonId
자격 증명을 검색할 로그온 세션의 세션 ID를 포함하는 LUID 구조체에 대한 포인터입니다.
[in] AuthenticationPackage
호출 인증 패키지의 인증 패키지 ID입니다. 인증 패키지는 자체 자격 증명만 검색해야 합니다.
[in, out] QueryContext
여러 자격 증명을 검색하기 위해 연속 호출에서 사용되는 서명되지 않은 LONG 값에 대한 포인터입니다. 이 함수를 처음 사용할 때 이 인수가 가리키는 값은 0이어야 합니다. 그 후 이 값은 중단된 위치에서 검색을 계속할 수 있도록 업데이트됩니다. 따라서 이 값은 지정된 쿼리 작업의 모든 자격 증명을 검색할 때까지 변경되지 않아야 합니다.
[in] RetrieveAllCredentials
지정된 로그온 세션에 대한 모든 자격 증명을 검색해야 하는지(TRUE) 또는 지정된 PrimaryKeyValue (FALSE)와 일치하는 자격 증명만 검색해야 하는지 여부를 나타냅니다.
[in, out] PrimaryKeyValue
이 매개 변수는 두 가지 용도로 사용됩니다. RetrieveAllCredentials 매개 변수가 FALSE이면 이 문자열에는 기본 조회 키로 사용할 값이 포함됩니다. 이 경우 이 값과 일치하는 기본 조회 키가 있는 올바른 로그온 세션에 속한 자격 증명만 검색됩니다.
RetrieveAllCredentials가 TRUE이면 입력 시 이 문자열의 값이 무시되고 검색된 각 자격 증명의 기본 조회 키가 이 문자열에 반환됩니다.
[out] PrimaryKeyLength
RetrieveAllCredentials 매개 변수가 TRUE이면 이 매개 변수는 PrimaryKeyValue 문자열을 저장하는 데 필요한 길이를 받습니다.
[out] Credentials
검색된 자격 증명을 수신하는 버퍼에 대한 포인터입니다. 각 호출에 대해 하나의 자격 증명만 검색됩니다. 자격 증명은 AllocateLsaHeap 함수를 호출하여 함수가 할당하는 버퍼에 반환됩니다. FreeLsaHeap을 호출하여 더 이상 필요하지 않은 경우 자격 증명 버퍼를 해제하는 것은 호출자의 책임입니다.
반환 값
함수가 성공하면 함수는 자격 증명이 성공적으로 검색되었음을 나타내는 STATUS_SUCCESS NTSTATUS 코드를 반환합니다.
함수가 실패하면 반환 값은 다음 값 중 하나 또는 LSA 정책 함수 반환 값 중 하나일 수 있는 NTSTATUS 코드입니다.
반환 코드 | 설명 |
---|---|
|
더 이상 자격 증명을 사용할 수 없습니다. 이 코드가 첫 번째 호출에서 반환되는 경우 선택 조건과 일치하는 자격 증명이 없습니다. |
|
PrimaryKeyValue를 받기 위해 제공된 문자열이 데이터를 저장할 만큼 크지 않았습니다. 이 경우 데이터가 검색되지 않고 QueryContext 값이 수정되지 않습니다. 이렇게 하면 더 큰 문자열 버퍼를 사용하여 동일한 호출을 다시 수행할 수 있습니다. |
|
지정된 로그온 세션을 찾을 수 없습니다. |
LsaNtStatusToWinError 함수는 NTSTATUS 코드를 Windows 오류 코드로 변환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ntsecpkg.h |