| |
|
|
|
Beschreibung:
IsValidSecurityDescriptor erprüft einen Security Descriptor (SECURITY_DESCRIPTOR Struktur) auf seine Gültigkeit. Diese Funktion gibt es nur unter NT-basierten Windowssystemen.
Deklaration:
DEF @IsValidSecurityDescriptor(1) !ADVAPI32,IsValidSecurityDescriptor
Parameter:
1.Parameter: Bereichsvariable mit einer SECURITY_DESCRIPTOR Struktur oder Adresse einer SECURITY_DESCRIPTOR Struktur.
Rückgabewert:
1 wen der Security Descriptor gültig ist, 0 andernfalls.
Beispiele:
KompilierenMarkierenSeparierenDEF @IsValidSecurityDescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @SetLastError(1) !"KERNEL32","SetLastError"
Declare NEEDED#,SIDa#,Fehler&,NEEDED&,PSECURITY_DESCRIPTOR#
Declare FILENAME$
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())
Dispose NEEDED#
Dispose PSECURITY_DESCRIPTOR#
@EDITBOX("Rückgaben",1pan class=s2>)
[keywords:3e5cd78005] gültig Gültigkeit valide überprüfen Security Descriptor SECURITY_DESCRIPTOR [/keywords:3e5cd78005] |
|
|
| |
|
|