ICredentialProviderCredential2::GetUserSid-Methode (credentialprovider.h)

Ruft den Sicherheitsbezeichner (SID) des Benutzers ab, der diesen Anmeldeinformationen zugeordnet ist.

Syntax

HRESULT GetUserSid(
  [out] LPWSTR *sid
);

Parameter

[out] sid

Die Adresse eines Zeigers auf einen Puffer, der bei erfolgreicher Rückgabe dieser Methode die SID des Benutzers empfängt.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Die Anmeldeoberfläche verwendet die von dieser Methode zurückgegebene SID, um die Kachel "Anmeldeinformationen" einer Benutzerkachel zuzuordnen. Um die Anmeldeinformationen der Benutzerkachel "Anderer Benutzer" auf der Anmeldeoberfläche zuzuordnen, sollte diese Methode S_FALSE und eine NULL-SID zurückgeben. Die Kachel "Anderer Benutzer" ist normalerweise nur gültig, wenn der PC einer Domäne angehört.

Beispiele

Das folgende Beispiel zeigt eine Beispielimplementierung dieser Methode. Es ruft die SID des Benutzers ab, die den Anmeldeinformationen entspricht.

Die hier verwendete _pszUserSid Variable wird als privates Element der Klasse angenommen, das außerhalb dieser Methode definiert und auf die SID des Benutzers festgelegt ist.

Die Ressource, auf die von ppszSid verwiesen wird, wird von der Anmeldeoberfläche freigegeben, sodass sie hier nicht freigegeben werden muss.

Wenn die SID des Benutzers nicht verfügbar ist, gibt die Methode S_FALSE mit einer NULL-SID zurück, die die Anmeldeinformationen einer anonymen Benutzerkachel ordnet. Dadurch wird die Kachel angezeigt, wenn die Kachel "Anderer Benutzer" auf einem in die Domäne eingebundenen PC ausgewählt ist.


// 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;
}                     
                    

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile credentialprovider.h

Weitere Informationen

ICredentialProviderCredential2

ICredentialProviderUser::GetSid