Metodo ISecurityProperty::GetOriginalCallerSID (comsvcs.h)
Recupera l'identificatore di sicurezza del processo di base che ha avviato la sequenza di chiamata al metodo corrente.
Il modo preferito per ottenere informazioni sul chiamante originale consiste nell'usare l'interfaccia ISecurityCallContext .
Sintassi
HRESULT GetOriginalCallerSID(
[out] PSID *pSID
);
Parametri
[out] pSID
Riferimento all'ID di sicurezza del processo di base che ha avviato la sequenza di chiamata al metodo corrente.
Valore restituito
Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
L'ID di sicurezza del processo di base che ha originato la chiamata all'oggetto corrente viene restituito nel parametro pSid. |
|
L'oggetto corrente non dispone di un contesto associato perché il componente non è stato importato in un'applicazione o l'oggetto non è stato creato con uno dei metodi CREATEInstance COM+. |
Commenti
Utilizzare il metodo GetOriginalCallerSID per determinare l'ID di sicurezza del processo originale che ha avviato la sequenza di chiamata al metodo corrente, non l'origine (o il creatore) del processo. Anche se un puntatore a un oggetto può essere passato attraverso una serie di server e utenti, GetOriginalCallerSID restituisce sempre il primo server e l'utente del processo, anche se tale utente non era l'autore originale dell'oggetto. Lo scenario seguente illustra la funzionalità del metodo GetOriginalCallerSID .
- Processo di base 1, in esecuzione nel server A come utente A, crea Object X, nel server B, in esecuzione come utente B.
- Il processo di base 1 passa il riferimento su Object X al processo di base 2, in esecuzione nel server D come utente D.
- Il processo di base 2 usa tale riferimento per chiamare in Object X.
- Object X chiama in Object Y, in esecuzione nel server C. Se Object Y chiama GetOriginalCallerSID, viene restituito l'ID di sicurezza dell'utente D, non l'utente A, che ha originariamente creato l'oggetto.
È necessario chiamare ReleaseSID su un ID di sicurezza al termine dell'uso.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | comsvcs.h |