English
Regulars table & Café

MapGenericMask.

 


Description:

MapGenericMask GetControlParas (B Generic-rights in a Zugriffsmaske in its standard and specific rights circa and removes not defined ? Happen?. MapGenericMask is among other things at Compare of Zugriffsrechten a very useful function. These API there only NT-based Windowssystemen.




Deklaration:

Def @MapGenericMask(2) !advapi32,MapGenericMask




Parameter:

1.Parameter: 4 byte Memory-Variable or address of/ one LongInt-variables, The The umzusetzenden Zugriffsrechte contains. Kehrt The function back, stand here The transformed Zugriffsrechte.
2.Parameter: GENERIC_MAPPING Structure or 16 Bytes large Memory-Variable which angibt, as rights umgesetzt go should. there The u.a. The specific rights from the manner the Zugriffsmaske take down (z.B. Files, Registry...), hang The here einzusetzenden values of it ex, on what itself the grabbed relating.
- byte 0-4 = Kombinationsflag from standard and specific Rechten, The together GENERIC_READ correspond to. what here einzusetzen is, depends of it ex on what the Zugriffsmaske relating (z.B. Files, Registry...). with Files would the worth here $120089.
- byte 4-8 = Kombinationsflag from standard and specific Rechten, The together GENERIC_WRITE correspond to. what here einzusetzen is, depends of it ex on what the Zugriffsmaske relating (z.B. Files, Registry...). with Files would the worth here $120116.
- byte 8-12 = Kombinationsflag from standard and specific Rechten, The together GENERIC_EXECUTE correspond to. what here einzusetzen is, depends of it ex on what the Zugriffsmaske relating (z.B. Files, Registry...). with Files would the worth here $1200A0.
- byte 12-16 = Kombinationsflag from standard and specific Rechten, The together GENERIC_ALL correspond to. what here einzusetzen is, depends of it ex on what the Zugriffsmaske relating (z.B. Files, Registry...). with Files would the worth here $1F01FF.



Return Value:

The function gives none worth back.


Examples:

CompileMarkSeparation
Def @MapGenericMask(2) !"advapi32","MapGenericMask"
Windowstyle 31
Windowtitle "Generic Mapping"
Window 0,0-640,440
Declare GEN_ACCESS&,READ&,WRITE&,EXECUTE&,OK&,ALL&,MAPPED_ACCESS#
Let Read&=@CreateCheckBox(%HWND,"GENERIC_READ",10,20,200,30)
Let Write&=@CreateCheckBox(%HWND,"GENERIC_WRITE",10,100,200,30)
Let EXECUTE&=@CreateCheckBox(%HWND,"GENERIC_EXECUTE",10,180,200,30)
Let ALL&=@CreateCheckBox(%HWND,"GENERIC_ALL",10,260,200,30)
LET OK&=@CreateButton(%HWND,"Mappen!",10,350,200,30)

While 0=0

    Waitinput

    IF @Getfocus(OK&)

        LET GEN_ACCESS&=0

        IF @Getcheck(READ&)

            LET GEN_ACCESS&=@or(GEN_ACCESS&,$80000000)

        endif

        IF @Getcheck(WRITE&)

            LET GEN_ACCESS&=@or(GEN_ACCESS&,$40000000)

        endif

        IF @Getcheck(EXECUTE&)

            LET GEN_ACCESS&=@or(GEN_ACCESS&,$20000000)

        endif

        IF @Getcheck(ALL&)

            LET GEN_ACCESS&=@or(GEN_ACCESS&,$10000000)

        endif

        ADDSTRING "*** Zugriffsrechte vor Mapping ***"
        ADDSTRING "Accessmaske=$"+@HEX$(GEN_ACCESS&)

        IF @or(GEN_ACCESS&,$1F01FF)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_ALL_ACCESS (Vollzugriff)"

        endif

        IF @or(GEN_ACCESS&,$1)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)"

        endif

        IF @or(GEN_ACCESS&,$2)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)"

        endif

        IF @or(GEN_ACCESS&,$4)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_APPEND_DATA (Erlaubt Daten anzuhängen)"

        endif

        IF @or(GEN_ACCESS&,$8)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)"

        endif

        IF @or(GEN_ACCESS&,$10)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)"

        endif

        IF @or(GEN_ACCESS&,$20)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_EXECUTE (Erlaubt eine Datei auszuführen)"

        endif

        IF @or(GEN_ACCESS&,$80)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_READ_ATTRIBUTES (Lesen der Fileattribute)"

        endif

        IF @or(GEN_ACCESS&,$100)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)"

        endif

        IF @or(GEN_ACCESS&,$00040000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=WRITE_DAC (Ändern der DACL Einträge)"

        endif

        IF @or(GEN_ACCESS&,$00020000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=READ_CONTROL (Lesen der DACL Einträge und Besitzer)"

        endif

        IF @or(GEN_ACCESS&,$00100000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)"

        endif

        IF @or(GEN_ACCESS&,$40)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=File_Delete _Child (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)"

        endif

        IF @or(GEN_ACCESS&,$01000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=ACCESS_SYSTEM_SECURITY (Zugriff auf den SACL)"

        endif

        IF @or(GEN_ACCESS&,$10000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_ALL"

        endif

        IF @or(GEN_ACCESS&,$20000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_EXECUTE"

        endif

        IF @or(GEN_ACCESS&,$40000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_WRITE"

        endif

        IF @or(GEN_ACCESS&,$80000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_READ"

        endif

        IF @or(GEN_ACCESS&,$80000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=WRITE_OWNER (Eigentümer ändern)"

        endif

        IF @or(GEN_ACCESS&,$10000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=_DELETE (Datei löschen)"

        endif

        DIM MAPPED_ACCESS#,16
        Long MAPPED_ACCESS#,0=$20000 | $1 | $8 | $80 | $100000
        Long MAPPED_ACCESS#,4=$20000 | $2 | $10 | $100 | $100000 | $4
        Long MAPPED_ACCESS#,8=$20000 | $20 | $80 | $100000
        Long MAPPED_ACCESS#,12=$F0000 | $1FF | $100000
        @MapGenericMask(@ADDR(GEN_ACCESS&),MAPPED_ACCESS#)
        Dispose MAPPED_ACCESS#
        ADDSTRING ""
        ADDSTRING "*** Zugriffsrechte nach Mapping ***"
        ADDSTRING "Accessmaske=$"+@HEX$(GEN_ACCESS&)

        IF @or(GEN_ACCESS&,$80000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_READ"
            LET GEN_ACCESS&=GEN_ACCESS&-$80000000

        endif

        IF @or(GEN_ACCESS&,$1)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)"
            LET GEN_ACCESS&=GEN_ACCESS&-$1

        endif

        IF @or(GEN_ACCESS&,$2)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)"
            LET GEN_ACCESS&=GEN_ACCESS&-$2

        endif

        IF @or(GEN_ACCESS&,$4)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_APPEND_DATA (Erlaubt Daten anzuhängen)"
            LET GEN_ACCESS&=GEN_ACCESS&-$4

        endif

        IF @or(GEN_ACCESS&,$8)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)"
            LET GEN_ACCESS&=GEN_ACCESS&-$8

        endif

        IF @or(GEN_ACCESS&,$10)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)"
            LET GEN_ACCESS&=GEN_ACCESS&-$10

        endif

        IF @or(GEN_ACCESS&,$20)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_EXECUTE (Erlaubt eine Datei auszuführen)"
            LET GEN_ACCESS&=GEN_ACCESS&-$20

        endif

        IF @or(GEN_ACCESS&,$80)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_READ_ATTRIBUTES (Lesen der Fileattribute)"
            LET GEN_ACCESS&=GEN_ACCESS&-$80

        endif

        IF @or(GEN_ACCESS&,$100)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)"
            LET GEN_ACCESS&=GEN_ACCESS&-$100

        endif

        IF @or(GEN_ACCESS&,$40000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=WRITE_DAC (Ändern der DACL Einträge)"
            LET GEN_ACCESS&=GEN_ACCESS&-$40000

        endif

        IF @or(GEN_ACCESS&,$20000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=READ_CONTROL (Lesen der DACL Einträge und Besitzer)"
            LET GEN_ACCESS&=GEN_ACCESS&-$20000

        endif

        IF @or(GEN_ACCESS&,$100000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)"
            LET GEN_ACCESS&=GEN_ACCESS&-$100000

        endif

        IF @or(GEN_ACCESS&,$40)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=File_Delete _Child (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)"
            LET GEN_ACCESS&=GEN_ACCESS&-$40

        endif

        IF @or(GEN_ACCESS&,$1000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=ACCESS_SYSTEM_SECURITY (Zugriff auf den SACL)"
            LET GEN_ACCESS&=GEN_ACCESS&-$1000000

        endif

        IF @or(GEN_ACCESS&,$10000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_ALL"
            LET GEN_ACCESS&=GEN_ACCESS&-$10000000

        endif

        IF @or(GEN_ACCESS&,$20000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_EXECUTE"
            LET GEN_ACCESS&=GEN_ACCESS&-$20000000

        endif

        IF @or(GEN_ACCESS&,$40000000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=GENERIC_WRITE"
            LET GEN_ACCESS&=GEN_ACCESS&-$40000000

        endif

        IF @or(GEN_ACCESS&,$80000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=WRITE_OWNER (Eigentümer ändern)"
            LET GEN_ACCESS&=GEN_ACCESS&-$80000

        endif

        IF @or(GEN_ACCESS&,$10000)=GEN_ACCESS&

            ADDSTRING "Enthaltenes Recht=_DELETE (Datei löschen)"
            LET GEN_ACCESS&=GEN_ACCESS&-$10000

        endif

        ADDSTRING ""
        ADDSTRING "*** Kontrolle ***"
        ADDSTRING "Überschuß bei File-Access=$"+@HEX$(GEN_ACCESS&)
        @EDITBOX(&quo
ing Rückgaben",1) Clearlist endif wend

[keywords:e9426c3e21]
Umsetzen rights Zugrif Zugriffe Mapping GENERIC GENERIC_READ GENERIC_WRITE GENERIC_EXECUTE GENERIC_ALL map mapping Access mask mask
[/keywords:e9426c3e21]
 
07/01/05  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

1.472 Views

Untitledvor 0 min.

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie