Moin Blechwolf,
die
Unit SHLOBJ ist, im wesentlichen, eine Übersetzung der gleichnamigen Header Datei von Microsoft (shlobj.h), nach Pascal.
Um näheres über diese Datei bzw. deren Inhalt zu erfahren, solltest Du Dir mal das
PSDK anschauen, oder die Funktionen, Strukturen usw. im
MSDN nachschlagen.
Eine unmittelbare Hilfe zu der
Unit gibt es nicht.

Zitat von
Blechwolf:
Warum benutze ich im zweiten Beispiel den PMalloc-Zeiger, und im ersten nicht ?
Wenn Du Dir mal den zweiten von Dir angegebenen Thread durchliest, und den Abschnit SHGetSpecialFolderLocation im
PSDK, wirst Du feststellen, dass das ein Fehler im Code des ersten Threads ist.
Auszug zur Beschreibung des 3. Parameters

Zitat von
PSDK - SHGetSpecialFolderLocation:
The calling application is responsible for freeing this pointer with the Shell's IMalloc interface (see SHGetMalloc).