Seite 1 von 2

ConvertStringSidToSid

Verfasst: 02.01.2009 20:28
von Oliver1994
Hallo!

Weiß jemand wie man: ConvertStringSidToSid

in PureBasic anwendet?

Gruß

JENS

Verfasst: 02.01.2009 20:34
von Kaeru Gaman
ich habs mal auf der MSDN nachgeschaut:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

das müsste dann eigentlich so aussehen:

Code: Alles auswählen

Define *pointer.s

StringSid.s = "xxxxxxxxxxx"

ConvertStringSidToSid_( StringSid, *pointer )
statt den "xxxx" musst du natürlich ne echte StringSid übergeben...

Verfasst: 02.01.2009 20:35
von DarkDragon
Kaeru Gaman hat geschrieben:ich habs mal auf der MSDN nachgeschaut:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

das müsste dann eigentlich so aussehen:

Code: Alles auswählen

Define *pointer.i

StringSid$ = "xxxxxxxxxxx"

ConvertStringSidToSid_( StringSid$, *pointer )
statt den "xxxx" musst du natürlich ne echte StringSid übergeben...
ConvertStringSidToSid_ gibts nicht. Ich glaube das ist sein Problem. Auch mit einem Import schaffe ich es irgendwie nicht den Befehl zu bekommen:

Code: Alles auswählen

Import "Advapi32.lib"
  ConvertStringSidToSid(StringSid.s, *Sid) As "ConvertStringSidToSidA"
EndImport

*pointer = 0
StringSid.s = "xxxxxxxxxxx"

ConvertStringSidToSid(StringSid, @*pointer)

Verfasst: 02.01.2009 20:36
von Kaeru Gaman
aha.... auf der MSDN steht aber nix davon, dass es in XP nicht drin ist.

Verfasst: 02.01.2009 20:36
von cxAlex
Ich habs auch mit Import Probiert, aber er findet die Funktion nicht. Per Prototyp funzts auch nicht:

Code: Alles auswählen

Prototype _ConvertStringSidToSid(StringSid.s, *Sid)

Global ConvertStringSidToSid._ConvertStringSidToSid

tLib = OpenLibrary(#PB_Any, "Advapi32.dll")
If tLib
  ConvertStringSidToSid = GetFunction(tLib, "ConvertStringSidToSid")
  CloseLibrary(tLib)
EndIf


ConvertStringSidToSid("mySid",@mySId)
Müsste eigentlich ins englische Forum, ist doch eine Standard - API Funktion?

Verfasst: 02.01.2009 20:40
von DarkDragon
Kaeru Gaman hat geschrieben:aha.... auf der MSDN steht aber nix davon, dass es in XP nicht drin ist.
Ja, die PureBasic .lib Bibos sind nicht dieselben wie die von Windows und den Microsoft Programmiersprachenderivaten glaube ich.

Verfasst: 02.01.2009 20:42
von cxAlex
Juhu, Habs geschaft:

Code: Alles auswählen

Prototype _ConvertStringSidToSid(StringSid.s, *Sid)

Global ConvertStringSidToSid._ConvertStringSidToSid

tLib = OpenLibrary(#PB_Any, "Advapi32.dll")
If tLib
  ConvertStringSidToSid = GetFunction(tLib, "ConvertStringSidToSidA")
  CloseLibrary(tLib)
EndIf

Debug ConvertStringSidToSid("mySid", @mySId)
Natürlich kommt da jetzt nichts vernünftiges Raus, aber mit nem echten SID sollte das gehen.

Verfasst: 02.01.2009 20:43
von Oliver1994
Das war auch mein Problem (das er den nicht findet!) und desswegen habe ich gedacht im mache was Falsch!

Gibt es den quasi einen Ersatz für diese API! (Ich miene eine andere API)

Aber schonmal Danke für eure Hilfe!

Gruß

JENS

Verfasst: 02.01.2009 20:52
von ts-soft
Kaeru Gaman hat geschrieben:ich habs mal auf der MSDN nachgeschaut:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

das müsste dann eigentlich so aussehen:

Code: Alles auswählen

Define *pointer.s

StringSid.s = "xxxxxxxxxxx"

ConvertStringSidToSid_( StringSid, *pointer )
statt den "xxxx" musst du natürlich ne echte StringSid übergeben...

Code: Alles auswählen

Define *pointer.s
Also nein :shock:

Verfasst: 02.01.2009 21:02
von Kaeru Gaman
öh... achja...

Code: Alles auswählen

.STRING
ja sorry ich war in Eile..