Metode ICredentialProviderCredential2::GetUserSid (credentialprovider.h)
Mengambil pengidentifikasi keamanan (SID) pengguna yang terkait dengan kredensial ini.
Sintaks
HRESULT GetUserSid(
[out] LPWSTR *sid
);
Parameter
[out] sid
Alamat pointer ke buffer yang, ketika metode ini berhasil kembali, menerima SID pengguna.
Nilai kembali
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
UI Masuk akan menggunakan SID yang dikembalikan dari metode ini untuk mengaitkan petak kredensial dengan petak peta pengguna. Untuk mengaitkan kredensial dengan petak peta pengguna "Pengguna lain" di UI Masuk, metode ini harus mengembalikan S_FALSE dan SID null. Petak peta "Pengguna lain" biasanya hanya valid ketika PC bergabung ke domain.
Contoh
Contoh berikut menunjukkan contoh implementasi metode ini. Ini mengambil SID pengguna yang sesuai dengan kredensial.
Variabel _pszUserSid yang digunakan di sini diasumsikan sebagai anggota privat kelas, yang ditentukan di luar metode ini dan diatur ke SID pengguna.
Sumber daya yang ditujukkan oleh ppszSid akan dikosongkan oleh UI masuk, sehingga tidak perlu dikosongkan di sini.
Jika SID pengguna tidak tersedia, metode mengembalikan S_FALSE dengan SID null, yang mengaitkan kredensial dengan petak pengguna anonim. Ini akan menyebabkan petak peta muncul ketika petak peta "Pengguna lain" dipilih pada PC yang bergabung dengan domain.
// 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;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | credentialprovider.h |