| |
|
|
|
Descripción:
GetSecurityDescriptorOwner ermittelt el SID des Eigentümers uno Objektes de el Security Descriptor. Diese Función hay sólo bajo NT-basierten Windowssystemen.
Deklaration:
DEF @GetSecurityDescriptorOwner(3) !ADVAPI32,GetSecurityDescriptorOwner
Parámetro:
1.Parámetro: Bereichsvariable con uno SECURITY_DESCRIPTOR Struktur, de el uno el Eigentümer auslesen voluntad. 2.Parámetro: 4 Byte Bereichsvariable, el el Adresse uno SID Struktur aufnimmt, el el Eigentümer des Objektes angibt. 3.Parámetro: 2 Byte große Bereichsvariable oder SECURITY_DESCRIPTOR_CONTROL Struktur, deren Valor angibt, si el Eigentümer por una Default-Mechanismus festgelegt wurde. (=0 nein, <>0 sí)
Rückgabewert:
1 en Erfolg, 0 en Fehler.
Beispiele:
DEF @IsValidSecurityDescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @SetLastError(1) !"KERNEL32","SetLastError"
DEF @GetSecurityDescriptorOwner(3) !"ADVAPI32","GetSecurityDescriptorOwner"
DEF @IsValidSid(1) !"ADVAPI32","IsValidSid"
DEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
Declarar NEEDED#,SIDa#,Fehler&,NEEDED&,PSECURITY_DESCRIPTOR#
Declarar FILENAME$,SID#,GFLAG#,SYstem$
Declarar SID_NAME_USE#,ACCOUNT_NAME#,Domain#
Declarar SIZE_ACCOUNT#,SIZE_DOMAIN#
DIM Needed#,4
LET FILENAME$=@LOADFILE$("Datei wählen","*.*")
ADDSTRING "Security Descriptor de "+FILENAME$
Claro Needed#
LET Fehler&=@GetFileSecurity(@ADDR(Filename$),$1 | $2 | $4,0,0,Needed#)
ADDSTRING "Rückgabe de GetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET NEEDED&=@LONG(Needed#,0)
ADDSTRING "Erforderliche Longitud des Security Descriptor="+@STR$(Needed&)
CASE NEEDED&=0 : LET NEEDED&=1024
DIM PSECURITY_DESCRIPTOR#,Needed&
Claro PSECURITY_DESCRIPTOR#
@SetLastError(0)
LET Fehler&=@GetFileSecurity(@ADDR(Filename$),$1 | $2 | $4,PSECURITY_DESCRIPTOR#,NEEDED&,Needed#)
ADDSTRING "Rückgabe de GetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR#)
ADDSTRING "Rückgabe de IsValidSecurityDescriptor="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
DIM SID#,4
DIM GFlag#,2
Claro SID#
Claro GFLAG#
LET FEHLER&=@GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR#,SID#,GFLAG#)
ADDSTRING "Rückgabe de GetSecurityDescriptorOwner="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSid(@long(SID#,0))
ADDSTRING "Rückgabe de IsValidSid para el Besitzer="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSid(@long(SID#,0))
ADDSTRING "Rückgabe de IsValidSid para el Besitzer="+@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
Claro SID_NAME_USE#,SYSTEM$
Claro ACCOUNT_NAME#,Domain#
LONG SIZE_ACCOUNT#,0=255
LONG SIZE_DOMAIN#,0=255
LET FEHLER&=@LookupAccountSid(@ADDR(Sistema$),@Largo(SID#,0),ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "Rückgabe de LookupAccountSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers se durchgeführt"
@SetLastError(0)
ADDSTRING "Besitzer el Datei="+@String$(ACCOUNT_NAME#,0)
ADDSTRING "Control Flag="+@STR$(@Word(GFLAG#,0))
Disponer SID_NAME_USE#
Disponer ACCOUNT_NAME#
Disponer Domain#
Disponer SIZE_ACCOUNT#
Disponer SIZE_DOMAIN#
Disponer NEEDED#
Disponer PSECURITY_DESCRIPTOR#
Disponer SID#
Disponer GFLAG#
@EDITBOX("Rückgaben",1)
[keywords:b74f001168] Eigentümer Owner Besitzer Expediente Objeto Key Registry Security Descriptor SID Security Identifier [/keywords:b74f001168] |
|
|
| |
|
|