Zitat von
pitti platsch:
Es muss wscanf(L"%S", &principal); und nicht wscanf(L"%s", &principal); heißen also ein "%S" statt "%s".
Mit "%s" ließt man char* ein. Mit "%S" wchar_t*
Stimmt, habe ich uebersehen. Allerdings muss der Adressoperator da garnicht stehen. Hatte ich oben schonmal erwaehnt.
Zitat von
Luckie:
Wenn ich das grosse S nehme, dann kommt in der Funktion GetStrSID nur Mist an.
Ich habe jetzt mal die standard Aufrufkonvention in den Projekteigenschaften von __cdecl auf __stdcall umgestellt, aber das hilft leider auch nicht.
Das sollte nichts aendern. Ich schaue mal eben kurz drueber.
Code:
#if(_WIN32_WINNT >= 0x0500)
in der sddl.h hattest du aber gesehen?