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 |