ConvertStringSidToSid

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

ConvertStringSidToSid

Beitrag von Oliver1994 »

Hallo!

Weiß jemand wie man: ConvertStringSidToSid

in PureBasic anwendet?

Gruß

JENS
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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)
Zuletzt geändert von DarkDragon am 02.01.2009 20:37, insgesamt 1-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

aha.... auf der MSDN steht aber nix davon, dass es in XP nicht drin ist.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag 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?
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag 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.
Zuletzt geändert von cxAlex am 02.01.2009 20:43, insgesamt 1-mal geändert.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

öh... achja...

Code: Alles auswählen

.STRING
ja sorry ich war in Eile..
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten