Share via


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

추가 정보

ICredentialProviderCredential2

ICredentialProviderUser::GetSid