ICredentialProviderCredential2::GetUserSid 메서드(credentialprovider.h)
이 자격 증명과 연결된 사용자의 SID(보안 식별자)를 검색합니다.
구문
HRESULT GetUserSid(
[out] LPWSTR *sid
);
매개 변수
[out] sid
이 메서드가 성공적으로 반환될 때 사용자의 SID를 수신하는 버퍼에 대한 포인터의 주소입니다.
반환 값
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
로그온 UI는 이 메서드에서 반환된 SID를 사용하여 자격 증명 타일을 사용자 타일과 연결합니다. 자격 증명을 로그온 UI의 "다른 사용자" 사용자 타일과 연결하려면 이 메서드는 S_FALSE 및 null SID를 반환해야 합니다. "다른 사용자" 타일은 일반적으로 PC가 도메인에 가입된 경우에만 유효합니다.
예제
다음 예제에서는 이 메서드의 샘플 구현을 보여줍니다. 자격 증명에 해당하는 사용자의 SID를 검색합니다.
여기서 사용되는 _pszUserSid 변수는 이 메서드 외부에서 정의되고 사용자의 SID로 설정된 클래스의 프라이빗 멤버로 간주됩니다.
ppszSid가 가리키는 리소스는 로그온 UI에 의해 해제되므로 여기에서 해제할 필요가 없습니다.
사용자의 SID를 사용할 수 없는 경우 메서드는 익명 사용자 타일과 자격 증명을 연결하는 null SID를 사용하여 S_FALSE 반환합니다. 이렇게 하면 도메인에 가입된 PC에서 "다른 사용자" 타일을 선택하면 타일이 표시됩니다.
// Gets the SID of the user corresponding to the credential.
HRESULT CSampleCredential::GetUserSid(__deref_out PWSTR *ppszSid)
{
*ppszSid = nullptr;
HRESULT hr = E_UNEXPECTED;
// _pszUserSid is a private member of CSampleCredential
if (_pszUserSid != nullptr)
{
// ppszSid will be freed by Logon UI
hr = SHStrDupW(_pszUserSid, ppszSid);
}
// Return S_FALSE with a null SID in ppszSid for the
// credential to be associated with an anonymous user tile.
else if (_fIsOtherUserTile)
{
hr = S_FALSE;
}
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | credentialprovider.h |