So also ich hab mich bei der Dokumentation verlesen, aber anscheinend ist ein "out DWORD" doch richtig, jedenfalls funktioniert der Code dann damit und man erhaelt als Rückgabe "C0000004" = STATUS_INFO_LENGTH_MISMATCH + die Richtige Laenge in ReturnSize.
[This function may be changed or removed from Windows without further notice.] -> mit Windows7 /D2007 hier getestet
Edit2:
bin ich blöd?:
"optional pointer to a location" = "Adresse eines Speicherbereichs" oder? -> demnach
MSDN richtig und muss ein "out DWORD" besser "PDWORD" sein da optional, also ggf nil.