Deutsch
Forum

Die API LsaEnumerateAccountRights

 
Hallo Profaner...

Mit der API LsaEnumerateAccountRights kann ich mir die in einem Login Profile vorhandenen Privilegien listen lassen:
[quote:024a74784e]
NTSTATUS LsaEnumerateAccountRights(
LSA_HANDLE PolicyHandle,
PSID AccountSid,
PLSA_UNICODE_STRING* UserRights,
PULONG CountOfRights
);
Parameters
PolicyHandle
[in] Handle to a Policy object. The handle must have the POLICY_LOOKUP_NAMES access right. For more information, see Opening a Policy Object Handle.
AccountSid
[in] Pointer to the SID of the account for which to enumerate privileges.
UserRights
[out] Receives a pointer to an array of LSA_UNICODE_STRING structures. Each structure contains the name of a privilege held by the account. For a list of privilege names, see Privilege Constants

When you no longer need the information, pass the returned pointer to LsaFreeMemory.
CountOfRights
[out] Pointer to a variable that receives the number of privileges in the UserRights array.
[/quote:024a74784e]
Der Rest ist klar - aber was für ein Array - und wie komme ich über den Pointer an die Elemente?? Hat jemand eine Idee?
 
17.12.2004  
 




Michael
Dell
Hallo Andreas,

in der Beschreibung der Funktion LsaEnumerateAccountsWithUserRight steht bezüglich des zweiten Parameters:
[quote:ef715ce69e]UserRights
[in] Pointer to an LSA_UNICODE_STRING structure that specifies the name of a privilege.
For a list of privileges, see Privilege Constants and Account Rights Constants.[/quote:ef715ce69e]
Daher nehme ich an das auch die Ausgabe von LsaEnumerateAccountRights nichts anderes ist
als ein Zeiger auf LSA_UNICODE_STRING.

Gruß...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
17.12.2004  
 



Hallo Michael...

Leider nicht. Bei LsaEnumerateAccountRights ist dieses Array ein Rückgabewert der Funktion. Hier stehen die Privilegien, die ein spezieller User mit dem SID in Parameter 2 hat. Das sind in der Regel mehere Rechte => deshalb Array.
Egal was ich hier einsetze, ich bekomme nur einen Long-Wert zurück und kein Array. Ich nehme mal an, das ist ein Zeiger auf einen anderen Speicherbereich - dieser Speicherbereich muß dann mit LsaFreeMemory wieder freigegeben werden, weil ihn ja mein Programm direkt nicht verwaltet.
Wenn ich damit nicht ganz auf dem Holzweg bin, wie komme ich dann aber an das Array??
 
17.12.2004  
 




Michael
Dell
Hi nochmal,

ich fürchte da ist ein Array der LSA_UNICODE_STRING - Struktur gemeint, also ein Bereichs- Array.
Das läßt sich direkt aber erst mit XProfan 9 lösen, oder mit Trick ab XProfan 8 (siehe Stefan Schnells XProfan- Hilfe). Vieleicht gehts auch vorher, leider kenn ich mich damit nicht so gut aus.

Gruß...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
17.12.2004  
 



Hallo Michael...

Besten Dank für deinen Hinweis. Da ich nir sowieso im nächsten Jahr XProfan9 zulegen werden, werde ich die Lösung des Problems noch bis dahin verschieben. Ich nehme an, daß es dann für mich übersichtlicher und einfacher wird.
 
18.12.2004  
 



Hallo Profaner...

Das Problem ist gelöst. Das Umbiegen eines Bereiches auf einen Pointer scheint bei Globalen Speicherbereichen nicht zu funktionieren. Hier hat mir die API CopyMemory weitergeholfen, damit funktionierts problemlos...
 
30.12.2004  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.338 Betrachtungen

Unbenanntvor 0 min.

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

unbekannt (4x)
Michael Dell (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie