Je suis conscient que l'en-tête NT a toutes les constantes définies comme SE_TAKE_OWNERSHIP_NAME
, et donc il existe des fonctions disponibles pour convertir ces en forme lisible par l'homme (Take ownership of files or other objects
).Énumération des privilèges (stratégie de sécurité locale)
Ma question est de savoir comment énumérer ces noms? Avec différentes versions de Windows, tous les noms SE ne sont pas applicables (c'est-à-dire que les privilèges peuvent ne pas être disponibles sur un système NT particulier). S'il est vrai que Windows7/2008 est l'en-tête le plus récent et le plus approprié, tous les répertoires sont listés. Si l'application fonctionne sur une plate-forme inférieure, la fonction qui prend les noms SE échoue simplement pour le nom étant donné que OS ne supporte pas (comme LsaEnumerateAccountsWithUserRight
échouerait).
Mais comment rendre l'application compatible à l'avenir qui peut faciliter la liste de tous les privilèges pour les futures versions de Windows OS?
En conservant votre code, bien sûr. –
Réponse non attrayante. Je pose des questions sur la compatibilité des applications, pas sur la compatibilité du code. – Ajay