Es handelt sich hier um eine C-Funktion, C kennt kein explizites call-by-reference, dementsprechend nimmt die Funktion einen Zeiger entgegen, der auf eine Variable zeigen muss, in die die Funktion dann reinschreiben kann. (LPDWORD ist MS-Notation für Zeiger auf DWORD)
Aaah, genau so etwas hatte ich im Verdacht - aber nicht genug Wissen, um es zu beheben, weil laut MSDN ein Argument vom Typ LPDWORD erwartet wird. Hatte auch versucht einen Zeiger drauf zu übergeben, das hat dann nicht so wirklich geklappt