| |
|
|
|
Description:
GetSecurityDescriptorGroup determined whom SID the Primären group one Objektes from the Security Descriptor. These function there only NT-based Windowssystemen.
Deklaration:
Def @Getsecuritydescriptorgroup(3) !ADVAPI32,GetSecurityDescriptorGroup
Parameter:
1.Parameter: Memory-Variable with of/ one SECURITY_DESCRIPTOR structure, from the one The Primären group read wants. 2.Parameter: 4 byte Memory-Variable, The The address of/ one SID structure aufnimmt, The The Primären group the Objektes angibt. 3.Parameter: 2 byte large Memory-Variable or SECURITY_DESCRIPTOR_CONTROL structure, its worth angibt, whether The Primären group by a Default-machinery set watts. (=0 No, <>0 Yes)
Return Value:
1 with success, 0 with Error.
Examples:
CompileMarkSeparationDef @Isvalidsecuritydescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
Def @Getfilesecurity(5) !"ADVAPI32","GetFileSecurityA"
Def @Getlasterror(0) !"KERNEL32","GetLastError"
Def @Setlasterror(1) !"KERNEL32","SetLastError"
Def @Isvalidsid(1) !"ADVAPI32","IsValidSid"
Def @Lookupaccountsid(7) !"ADVAPI32","LookupAccountSidA"
Def @Getsecuritydescriptorgroup(3) !"ADVAPI32","GetSecurityDescriptorGroup"
Declare Needed#,Sida#,Fehler&,Needed&,Psecurity_descriptor#
Declare Filename$,Sid#,Gflag#,System$
Declare Sid_name_use#,Account_name#,Domain#
Declare Size_account#,Size_domain#
Dim Needed#,4
Let Filename$=@Loadfile$("Datei wählen","*.*")
Addstring "Security Descriptor von "+Filename$
Clear Needed#
Let Fehler&=@Getfilesecurity(@Addr(Filename$),$1 | $2 | $4,0,0,Needed#)
Addstring "Rückgabe von GetFileSecurity="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Let Needed&=@Long(Needed#,0)
Addstring "Erforderliche Länge des Security Descriptor="+@Str$(Needed&)
Case Needed&=0 : Let Needed&=1024
Dim Psecurity_descriptor#,Needed&
Clear Psecurity_descriptor#
@Setlasterror(0)
Let Fehler&=@Getfilesecurity(@Addr(Filename$),$1 | $2 | $4,Psecurity_descriptor#,Needed&,Needed#)
Addstring "Rückgabe von GetFileSecurity="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Let Fehler&=@Isvalidsecuritydescriptor(Psecurity_descriptor#)
Addstring "Rückgabe von IsValidSecurityDescriptor="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Dim Sid#,4
Dim Gflag#,2
Clear Sid#
Clear Gflag#
Let Fehler&=@Getsecuritydescriptorgroup(Psecurity_descriptor#,Sid#,Gflag#)
Addstring "Rückgabe von Getsecuritydescriptorgroup="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Let Fehler&=@Isvalidsid(@Long(Sid#,0))
Addstring "Rückgabe von IsValidSid für die Primäre Gruppe="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Let Fehler&=@Isvalidsid(@Long(Sid#,0))
Addstring "Rückgabe von IsValidSid für die Primäre Gruppe="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Dim Account_name#,256
Dim Size_account#,4
Dim Domain#,256
Dim Size_domain#,4
Dim Sid_name_use#,4
Clear Sid_name_use#,System$
Clear Account_name#,Domain#
Long Size_account#,0=255
Long Size_domain#,0=255
Let Fehler&=@Lookupaccountsid(@Addr(System$),@Long(Sid#,0),Account_name#,Size_account#,Domain#,Size_domain#,Sid_name_use#)
Addstring "Rückgabe von LookupAccountSid="+@Str$(Fehler&)
Addstring "Letzter API-Fehler="+@Str$(@Getlasterror())
Addstring "Reset des API-Fehlers wird durchgeführt"
@Setlasterror(0)
Addstring "die Primäre Gruppe der Datei="+@String$(Account_name#,0)
Addstring "Control Flag="+@Str$(@Word(Gflag#,0))
Dispose Sid_name_use#
Dispose Account_name#
Dispose Domain#
Dispose Size_account#
Dispose Size_domain#
Dispose Needed#
Dispose Psecurity_descriptor#
Dispose Sid#
Dispose Gflag#
@Editbox("R en", 1)
[keywords:0a26e8f7ef] group Primäre primary group File Objekt Key Registry Security Descriptor SID Security Identifier [/keywords:0a26e8f7ef] |
|
|
| |
|
|