Français
Stammtisch & le café

ConvertStringSidToSid.

 


Beschreibung:

ConvertStringSidToSid wandelt une String-SID dans un SID Struktur um. cet Funktion gibt es seulement sous Windows2000/XP. qui erhaltene Speicherbereich doit avec LocalFree wieder freigegeben volonté.




Deklaration:

DEF @ConvertStringSidToSid(2) !ADVAPI32,ConvertStringSidToSidA




paramètre:

1.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui den String-SID contient.
2.paramètre: Ausreichend dimensionierte Bereichsvariable, qui qui SID Struktur aufnimmt.



Rückgabewert:

0 chez Erfolg, ansonsten un Fehlercode.


Beispiele:

KompilierenMarqueSéparation
Def @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
Def @RegEnumKey(4) !"ADVAPI32","RegEnumKeyA"
Def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
DEF @ConvertStringSidToSid(2) !"ADVAPI32","ConvertStringSidToSidA"
DEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
Def @RegEnumValue(8) !"ADVAPI32","RegEnumValueA"
DEF @LocalFree(1) !"KERNEL32","LocalFree"
Windowstyle 31
Windowtitle "String-SID in Accountnamen umwandeln"
Window 0,0-640,440
declare ergebnis#,Error&,Handle&,Key$,Zähler%,SID#,SID$,Fehler&,SYSTEM$
Declare Ergebnis#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare VALUESIZE#,Typ#,Wert#,Buffersize#,Zähler&
dim Ergebnis#,261--Länge des zu erwartenden Namens
DIM SID#,4
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
DIM TYP#,4
DIM Wert#,261
DIM Buffersize#,4
DIM VALUESIZE#,4
Key$=""
 $80000003=HKEY_USERS   $F003F = KEY_ALL_ACCESS
Error&=@RegOpenKeyEx($80000003,addr(Key$),0,$F003F,addr(Handle&))
PRINT "OpenKey (0=OK) : ",Error&
LET Zähler%=0

whilenot Error&

    Error&=@RegEnumKey(Handle&,Zähler%,Ergebnis#,261)

    IF Error& =0

        PRINT @string$(Ergebnis#,0)
        LET SID$=@string$(Ergebnis#,0)
        CLEAR SID#
        LET FEHLER&=@ConvertStringSidToSid(@ADDR(SID$),SID#)

        IF Fehler&<>0

            Clear SID_NAME_USE#
            Clear ACCOUNT_NAME#
            Clear Domain#,SYSTEM$
            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#)
            @LocalFree(@LONG(SID#,0))

            IF @AND(FEHLER&=1,@STRING$(ACCOUNT_NAME#,0)<>"")

                ADDSTRING @STRING$(ACCOUNT_NAME#,0)+": "+SID$

            ENDIF

        ENDIF

    endif

    inc Zähler%
    endwhile @RegCloseKey(Handle&)
    LET Key$="SoftwareMicrosoftWindowsCurrentVersionGroup PolicyGroupMembership"
     $80000001=HKEY_CURRENT_USER   $F003F = KEY_ALL_ACCESS
    Error&=@RegOpenKeyEx($80000001,addr(Key$),0,$F003F,@addr(Handle&))
    PRINT ""
    Let Zähler&=0

    whilenot Error&

        LONG BUFFERSIZE#,0=261
        LONG VALUESIZE#,0=261
        Clear Ergebnis#,TYP#,Wert#
        Error&=@RegEnumValue(Handle&,Zähler&,Ergebnis#,VALUESIZE#,0,TYP#,Wert#,Buffersize#)

        IF Error&=0

            IF @or(@LONG(TYP#,0)=$2,@LONG(TYP#,0)=$1)

                PRINT @string$(Ergebnis#,0)+"="+@string$(WERT#,0)
                LET SID$=@string$(WERT#,0)
                CLEAR SID#
                LET FEHLER&=@ConvertStringSidToSid(@ADDR(SID$),SID#)

                IF Fehler&<>0

                    Clear SID_NAME_USE#
                    Clear ACCOUNT_NAME#
                    Clear Domain#,SYSTEM$
                    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#)

                    IF @AND(FEHLER&=1,@STRING$(ACCOUNT_NAME#,0)<>"")

                        ADDSTRING @STRING$(ACCOUNT_NAME#,0)+": "+SID$

                    ENDIF

                ENDIF

            endif

        endif

        LET Zähler&=Zähler&+1
        endwhile @RegCloseKey(Handle&)
        dispose Ergebnis#
        Dispose SID#
        Dispose ACCOUNT_NAME#
        Dispose SIZE_ACCOUNT#
        Dispose Domain#
        Dispose SIZE_DOMAIN#
        Dispose SID_NAME_USE#
        Dispose TYP#
        Dispose Wert#
        Dispose Buffersize#
        Dispose VALUESIZE#
        @Listbox$(
class=s3>"SID comme Accountname et comme SID-String",1)

[keywords:2a2fd3ff2b]
SID Montrer String transformer Registry
[/keywords:2a2fd3ff2b]
 
23.05.2005  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.226 Views

Untitledvor 0 min.
rquindt06.12.2015

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie