Funzione SetUserObjectSecurity (winuser.h)

La funzione SetUserObjectSecurity imposta la sicurezza di un oggetto utente. Può trattarsi, ad esempio, di una finestra o di una conversazione DDE.

Sintassi

BOOL SetUserObjectSecurity(
  [in] HANDLE                hObj,
  [in] PSECURITY_INFORMATION pSIRequested,
  [in] PSECURITY_DESCRIPTOR  pSID
);

Parametri

[in] hObj

Handle per un oggetto utente per il quale sono impostate le informazioni di sicurezza.

[in] pSIRequested

Puntatore a un valore che indica i componenti del descrittore di sicurezza da impostare. Questo parametro può essere una combinazione dei valori seguenti.

Valore Significato
DACL_SECURITY_INFORMATION
Imposta l'elenco di controllo di accesso discrezionale (DACL) dell'oggetto . L'handle specificato da hObj deve avere accesso WRITE_DAC oppure il processo chiamante deve essere il proprietario dell'oggetto.
GROUP_SECURITY_INFORMATION
Imposta l'identificatore di sicurezza del gruppo primario (SID) dell'oggetto .
OWNER_SECURITY_INFORMATION
Imposta il SID del proprietario dell'oggetto . L'handle specificato da hObj deve avere accesso WRITE_OWNER oppure il processo chiamante deve essere il proprietario dell'oggetto o disporre del privilegio SE_TAKE_OWNERSHIP_NAME abilitato.
SACL_SECURITY_INFORMATION
Imposta l'elenco di controllo di accesso di sistema (SACL) dell'oggetto . L'handle specificato da hObj deve avere accesso ACCESS_SYSTEM_SECURITY.

Per ottenere l'accesso ACCESS_SYSTEM_SECURITY

  1. Abilitare il privilegio SE_SECURITY_NAME nel token di accesso corrente del chiamante.
  2. Aprire l'handle per l'accesso ACCESS_SYSTEM_SECURITY.
  3. Disabilitare il privilegio.

[in] pSID

Puntatore a una struttura SECURITY_DESCRIPTOR contenente le nuove informazioni di sicurezza.

Questo buffer deve essere allineato su un limite a 4 byte.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero.

Se la funzione ha esito negativo, restituisce zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione SetUserObjectSecurity applica le modifiche specificate in un descrittore di sicurezza al descrittore di sicurezza assegnato a un oggetto utente. Il descrittore di sicurezza dell'oggetto deve essere in formato auto-relativo . Se necessario, questa funzione alloca memoria aggiuntiva per aumentare le dimensioni del descrittore di sicurezza.

Esempio

Per un esempio che usa questa funzione, vedere Avvio di un processo client interattivo.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

GetUserObjectSecurity

Controllo di accesso di basso livello

Funzioni di Controllo di accesso di basso livello

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetFileSecurity

SetKernelObjectSecurity

SetPrivateObjectSecurity