Método ICredentialProviderCredential2::GetUserSid (credentialprovider.h)
Recupera el identificador de seguridad (SID) del usuario asociado a esta credencial.
Sintaxis
HRESULT GetUserSid(
[out] LPWSTR *sid
);
Parámetros
[out] sid
La dirección de un puntero a un búfer que, cuando este método devuelve correctamente, recibe el SID del usuario.
Valor devuelto
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
La interfaz de usuario de inicio de sesión usará el SID devuelto de este método para asociar el icono de credenciales a un icono de usuario. Para asociar la credencial con el icono de usuario "Otro usuario" en la interfaz de usuario de inicio de sesión, este método debe devolver S_FALSE y un SID nulo. El icono "Otro usuario" normalmente solo es válido cuando el equipo está unido a un dominio.
Ejemplos
En el ejemplo siguiente se muestra una implementación de ejemplo de este método. Recupera el SID del usuario que corresponde a la credencial.
Se supone que la variable _pszUserSid usada aquí es un miembro privado de la clase, definida fuera de este método y establecida en el SID del usuario.
La interfaz de usuario de inicio de sesión liberará el recurso al que apunta ppszSid , por lo que no es necesario liberar aquí.
Si el SID del usuario no está disponible, el método devuelve S_FALSE con un SID nulo, que asocia la credencial a un icono de usuario anónimo. Esto hará que el icono aparezca cuando se selecciona el icono "Otro usuario" en un equipo unido a un dominio.
// 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;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | credentialprovider.h |