Español
Incluye

Eigentümer uno Expediente conjunto

 
El Incluir SET_FILE_OWNER.INC ändert el Eigentümer uno Expediente. Eigentümer puede sólo el aktuelle User o Gruppen voluntad, el en el Token des aktuellen Users dafür gekennzeichnet son. A Übenahme muß el Privileg SeTakeOwnership en el Token des aktuellen Users disponible ser (el Aktivierung übernimmt Incluya el). Außerdem necesario el Zugriffsrechte WRITE_OWNER READ_CONTROL en el Security-Descriptor el Expediente para el aktuellen User bestehen.
El Incluir läßt se relativ simplemente otro Objetos (Registry, Prozesse, Hilos) erweitern oder umschreiben.
KompilierenMarcaSeparación
DEF @OW_IsValidSecurityDescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
DEF @OW_GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @OW_GetLastError(0) !"KERNEL32","GetLastError"
DEF @OW_SetLastError(1) !"KERNEL32","SetLastError"
DEF @OW_GetSecurityDescriptorOwner(3) !"ADVAPI32","GetSecurityDescriptorOwner"
DEF @OW_IsValidSid(1) !"ADVAPI32","IsValidSid"
DEF @OW_LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
DEF @OW_SetSecurityDescriptorOwner(3) !"ADVAPI32","SetSecurityDescriptorOwner"
Def @OW_GetVolumeInformation(8) !"KERNEL32","GetVolumeInformationA"
DEF @OW_LookupAccountName(7) !"advapi32","LookupAccountNameA"
DEF @OW_InitializeSecurityDescriptor(2) !"ADVAPI32","InitializeSecurityDescriptor"
DEF @OW_SetFileSecurity(3) !"ADVAPI32","SetFileSecurityA"
DEF @OW_LookupPrivilegeValue(3) !"advapi32","LookupPrivilegeValueA" Ermittelt aus dem Namen eines Privilegs dessen Luid.
DEF @OW_OpenProcessToken(3) !"advapi32","OpenProcessToken" Öffnet Einstellprozess.
DEF @OW_AdjustTokenPrivileges(6) !"advapi32","AdjustTokenPrivileges" Stellt Privilegien ein.
DEF @OW_GetCurrentProcess(0) !"kernel32","GetCurrentProcess" Ermittel das Handle des aktiven Prozesses.
DEF @OW_CopyMemory(3) !"kernel32","RtlMoveMemory"
DEF @OW_GetLastError(0) !"KERNEL32","GetLastError"
Declare LOG_EINTRÄGE&

PROC SET_FILE_OWNER

    Parameters Filename_OW_$,OWNER_OW_$,Datei_NUMMER%,LOG_NUMMER&
    Declare NEEDED_ow_#,SIDa_ow_#,Fehler_ow_&,NEEDED_ow_&,PSECURITY_DESCRIPTOR_ow_#
    Declare SID_ow_#,GFLAG_ow_#,System_ow_$
    Declare SID_NAME_USE_ow_#,ACCOUNT_NAME_ow_#,Domain_ow_#
    Declare SIZE_ACCOUNT_ow_#,SIZE_DOMAIN_ow_#
    Declare LAUFWERK_OW_$,Label_OW_#,LFlags_OW_#,DAT_OW_#
    Declare OldOwner_OW_$,TOKEN_OW_#
    Declare NewState_OW_#,Privileg_OW_#,LUID_OW_#
    Declare ADDR_NEWSTATE_OW_&
    DIM Label_OW_#,256
    DIM LFlags_OW_#,4
    DIM DAT_OW_#,256
    LET LOG_EINTRÄGE&=LOG_NUMMER&
    LET OldOwner_OW_$=""

    IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

        APPEND #Datei_Nummer%
        PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Zu bearbeitende Datei: "+FILENAME_ow_$
        CLOSE #Datei_Nummer%
        LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

    endif

    LET LAUFWERK_OW_$=@LEFT$(FILENAME_ow_$,3)
    LET Fehler_ow_&=@OW_GetVolumeInformation(@ADDR(LAUFWERK_OW_$),Label_OW_#,256,0,0,LFlags_OW_#,DAT_OW_#,256)

    IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

        APPEND #Datei_Nummer%
        PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von GetVolumeInformation: "+@STR$(Fehler_OW_&)
        CLOSE #Datei_Nummer%
        LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

    endif

    IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

        APPEND #Datei_Nummer%
        PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
        CLOSE #Datei_Nummer%
        LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

    endif

    IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

        APPEND #Datei_Nummer%
        PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Laufwerksflags: "+@BIN$(@LONG(LFLAGS_OW_#,0))
        CLOSE #Datei_Nummer%
        LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

    endif

    IF @LONG(LFLAGS_OW_#,0) | $8 = @LONG(LFLAGS_OW_#,0)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Zugriff auf Datei/Ordner ist einschränkbar"
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Ausgelesene Partition: "+@String$(Dat_OW_#,0)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        dim token_OW_#,4
        DIM NewState_OW_#,16
        DIM Luid_OW_#,8
        DIM Privileg_OW_#,33
        Clear NewState_OW_#
        Long NewState_OW_#,0=1 Nur ein Privileg soll geändert werden
        Long NewState_OW_#,12=$00000002 Das Privileg soll eingeschaltet werden
        Clear Privileg_OW_#
        Clear LUID_OW_#
        LET FEHLER_OW_&=@OW_OpenProcessToken(@OW_GetCurrentProcess(),$0020 | $0008,Token_OW_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von OpenProcessToken: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        STRING Privileg_OW_#,0="SeTakeOwnershipPrivilege"
        LET Fehler_OW_&=@OW_LookupPrivilegeValue(@addr(System_OW_$),Privileg_OW_#,LUID_OW_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von LookupPrivilegeValue für SeTakeOwnershipPrivilege: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET ADDR_NEWSTATE_OW_&=NewState_OW_#
        LET ADDR_NEWSTATE_OW_&=ADDR_NEWSTATE_OW_&+4
        @OW_CopyMemory(ADDR_NEWSTATE_OW_&,Luid_OW_#,8)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler nach CopyMemory: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        Let Fehler_OW_&=@OW_AdjustTokenPrivileges(@LONG(Token_OW_#,0),0,NewState_OW_#,0,0,0)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von AdjustTokenPrivileges: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        DIM Needed_ow_#,4
        Clear Needed_ow_#
        LET Fehler_ow_&=@OW_GetFileSecurity(@ADDR(FILENAME_ow_$),$1 | $2 | $4,0,0,Needed_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von GetFileSecurity: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET NEEDED_ow_&=@LONG(Needed_ow_#,0)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Erforderliche Länge des Security Descriptor: "+@STR$(NEEDED_ow_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        CASE NEEDED_ow_&=0 : LET NEEDED_ow_&=1024
        DIM PSECURITY_DESCRIPTOR_ow_#,NEEDED_ow_&
        Clear PSECURITY_DESCRIPTOR_ow_#
        @OW_SetLastError(0)
        LET Fehler_ow_&=@OW_GetFileSecurity(@ADDR(FILENAME_ow_$),$1 | $2 | $4,PSECURITY_DESCRIPTOR_ow_#,NEEDED_ow_&,Needed_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von GetFileSecurity: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET Fehler_ow_&=@OW_IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von IsValidSecurityDescriptor: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        DIM SID_ow_#,4
        DIM GFlag_ow_#,4
        Clear SID_ow_#
        Clear GFLAG_ow_#
        LET Fehler_ow_&=@OW_GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR_ow_#,SID_ow_#,GFLAG_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von GetSecurityDescriptorOwner: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET Fehler_ow_&=@OW_IsValidSid(@long(SID_ow_#,0))

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von IsValidSid: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        DIM ACCOUNT_NAME_ow_#,256
        DIM SIZE_ACCOUNT_ow_#,4
        DIM Domain_ow_#,256
        DIM SIZE_DOMAIN_ow_#,4
        DIM SID_NAME_USE_ow_#,4
        Clear SID_NAME_USE_ow_#,System_ow_$
        Clear ACCOUNT_NAME_ow_#,Domain_ow_#
        LONG SIZE_ACCOUNT_ow_#,0=255
        LONG SIZE_DOMAIN_ow_#,0=255
        LET Fehler_ow_&=@OW_LookupAccountSid(@ADDR(System_ow_$),@Long(SID_ow_#,0),ACCOUNT_NAME_ow_#,SIZE_ACCOUNT_ow_#,Domain_ow_#,SIZE_DOMAIN_ow_#,SID_NAME_USE_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von LookupAccountSid: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET OldOwner_OW_$=@String$(ACCOUNT_NAME_ow_#,0)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Besitzer der Datei: "+@String$(ACCOUNT_NAME_ow_#,0)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Control Flag: "+@STR$(@Long(GFLAG_ow_#,0))
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        Dispose SID_ow_#
        DIM SID_OW_#,1
        Clear SID_OW_#,SIZE_ACCOUNT_OW_#,Domain_OW_#,SIZE_Domain_OW_#,SID_NAME_USE_OW_#
        LONG SIZE_ACCOUNT_OW_#,0=1
        LONG SIZE_Domain_OW_#,0=256
        LET FEHLER_OW_&=@OW_LookupAccountName(@ADDR(System_OW_$),@addr(OWNER_OW_$),SID_OW_#,SIZE_ACCOUNT_OW_#,Domain_OW_#,SIZE_Domain_OW_#,SID_NAME_USE_OW_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von LookupAccountName: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        Dispose SID_OW_#
        DIM SID_ow_#,@LONG(SIZE_ACCOUNT_OW_#,0)
        Clear SID_OW_#,Domain_OW_#,SIZE_Domain_OW_#,SID_NAME_USE_OW_#
        LONG SIZE_Domain_OW_#,0=256
        LET FEHLER_OW_&=@OW_LookupAccountName(@ADDR(System_OW_$),@addr(OWNER_OW_$),SID_OW_#,SIZE_ACCOUNT_OW_#,Domain_OW_#,SIZE_Domain_OW_#,SID_NAME_USE_OW_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von LookupAccountName: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET FEHLER_OW_&=@OW_InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR_ow_#,$1)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von InitializeSecurityDescriptor: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET FEHLER_OW_&=@OW_SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR_ow_#,SID_OW_#,0)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von SetSecurityDescriptorOwner: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET FEHLER_OW_&=@OW_IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von IsValidSecurityDescriptor für den geänderten Security Descriptor: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        LET FEHLER_OW_&=@OW_SetFileSecurity(@ADDR(Filename_OW_$),$1,PSECURITY_DESCRIPTOR_ow_#)

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Rückgabe von SetFileSecurity: "+@STR$(Fehler_OW_&)
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Letzter API-Fehler: "+@STR$(@OW_GetLastError())
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

        Dispose Luid_OW_#
        Dispose Privileg_OW_#
        Dispose NewState_OW_#
        Dispose token_OW_#
        Dispose SID_NAME_USE_ow_#
        Dispose ACCOUNT_NAME_ow_#
        Dispose Domain_ow_#
        Dispose SIZE_ACCOUNT_ow_#
        Dispose SIZE_DOMAIN_ow_#
        Dispose NEEDED_ow_#
        Dispose PSECURITY_DESCRIPTOR_ow_#
        Dispose SID_ow_#
        Dispose GFLAG_ow_#

    else

        IF @and(Datei_Nummer%>0,Datei_NUMMER%<16)

            APPEND #Datei_Nummer%
            PRINT #Datei_Nummer%,@str$(LOG_EINTRÄGE&)+"="+"Zugriff ist nicht einschränkbar"
            CLOSE #Datei_Nummer%
            LET LOG_EINTRÄGE&=LOG_EINTRÄGE&+1

        endif

    endif

    Disponer LFlags_OW_#
    Disponer DAT_OW_#
    CASE OldOwner_OW_$<>"" : Volver OldOwner_OW_$

ENDPROC

 
15.12.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.423 Views

Untitledvor 0 min.
Stringray05.01.2022
Uwe Lang29.11.2021
Manfred Barei31.07.2020
Georg Teles21.05.2020
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie