Funzione ZwSetInformationToken (ntifs.h)
La routine ZwSetInformationToken modifica le informazioni in un token specificato. Per impostare le informazioni, il processo chiamante deve disporre dei diritti di accesso appropriati.
Sintassi
NTSYSAPI NTSTATUS ZwSetInformationToken(
[in] HANDLE TokenHandle,
[in] TOKEN_INFORMATION_CLASS TokenInformationClass,
[in] PVOID TokenInformation,
[in] ULONG TokenInformationLength
);
Parametri
[in] TokenHandle
Handle per un token di accesso in cui devono essere modificate le informazioni.
[in] TokenInformationClass
Valore del TOKEN_INFORMATION_CLASS tipo enumerato che identifica il tipo di informazioni da modificare. I valori possibili per questo parametro sono elencati nella colonna
[in] TokenInformation
Puntatore a un buffer fornito dal chiamante contenente le informazioni da modificare nel token. La struttura delle informazioni in questo buffer dipende dal valore di TokenInformationClass, come illustrato nella tabella seguente. Tutte le strutture devono essere allineate su un limite a 32 bit.
Valore TokenInformationClass | Effetto sul buffer TokenInformation |
---|---|
TokenDefaultDacl | Il buffer contiene una struttura |
TokenGroups | Classe di informazioni non valida. Queste informazioni sono di sola lettura. |
TokenOwner | Il buffer contiene una struttura TOKEN_OWNER che specifica il proprietario predefinito SID per gli oggetti appena creati. TOKEN_ADJUST_DEFAULT'accesso è necessario per impostare queste informazioni. I valori di proprietario che possono essere specificati sono limitati agli ID utente e gruppo con un attributo che indica che possono essere assegnati come proprietario di oggetti. |
TokenPrimaryGroup | Il buffer contiene una struttura TOKEN_PRIMARY_GROUP che specifica il gruppo primario predefinito SID per gli oggetti appena creati. TOKEN_ADJUST_DEFAULT'accesso è necessario per impostare queste informazioni. Deve essere uno degli ID gruppo già presenti nel token. |
TokenPrivileges | Classe di informazioni non valida. Queste informazioni sono di sola lettura. |
TokenSource | Classe di informazioni non valida. Queste informazioni sono di sola lettura. |
tokenStatistics | Classe di informazioni non valida. Queste informazioni sono di sola lettura. |
TokenUser | Classe di informazioni non valida. Queste informazioni sono di sola lettura. |
[in] TokenInformationLength
Dimensioni, in byte, della struttura passata nel buffer TokenInformation
Valore TokenInformationClass | Minimum TokenInformationLength |
---|---|
TokenDefaultDacl | sizeof(TOKEN_DEFAULT_DACL) |
TokenOwner | sizeof(TOKEN_OWNER) |
TokenPrimaryGroup | sizeof(TOKEN_PRIMARY_GROUP) |
Valore restituito
ZwSetInformationToken restituisce STATUS_SUCCESS o uno stato di errore appropriato. I codici di stato di errore possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_ACCESS_DENIED | tokenHandle non dispone dell'accesso necessario. |
STATUS_ALLOTTED_SPACE_EXCEEDED | Lo spazio assegnato per l'archiviazione del controllo di accesso discrezionale predefinito e l'ID gruppo primario non è sufficiente per accettare il nuovo valore di uno di questi campi. |
STATUS_INFO_LENGTH_MISMATCH | Il valore di TokenInformationLength era inferiore al minimo richiesto. |
STATUS_INSUFFICIENT_RESOURCES | Impossibile acquisire le informazioni di sicurezza del proprietario predefinito specificato. |
STATUS_INVALID_HANDLE | TokenHandle non è un handle valido. |
STATUS_INVALID_INFO_CLASS | tokenInformationClass non era una classe di informazioni token valida. |
STATUS_INVALID_OWNER | Il chiamante non può impostare l'ID specificato come proprietario (o proprietario predefinito) di un oggetto. |
STATUS_INVALID_PRIMARY_GROUP | Il chiamante non può impostare l'ID specificato come gruppo primario di un oggetto. |
STATUS_INVALID_SID | Le informazioni di sicurezza del proprietario predefinito specificate non sono valide. |
STATUS_OBJECT_TYPE_MISMATCH | tokenHandle non era un handle di token. |
Osservazioni
Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere modello di sicurezza di Windows per sviluppatori di driver e la documentazione su questi argomenti in Windows SDK.
Nota
Se la chiamata alla funzione ZwSetInformationToken si verifica in modalità utente, devi usare il nome NtSetInformationToken" anziché "ZwSetInformationToken".
Per le chiamate da driver in modalità kernel, le NtXxx e ZwXxx versioni di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 7 |
piattaforma di destinazione | Universale |
intestazione |
ntifs.h (include Ntifs.h) |
libreria |
NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Vedere anche
PsDereferenceImpersonationToken
uso di versioni Nt e Zw delle routine di Servizi di sistema nativi