Moin Fredi,
grundsätzlich sollte man WNetEnumResource (usw.) rekursiv benutzen, da man nicht sicher sein kann, wie viele Ebenen die Struktur umfasst.
Eine Resource selber sollte dadurch gekennzeichnet sein, dass Usage <> RESOURCEUSAGE_CONTAINER ist.
Dann bliebe nur noch die Prüfung, ob es sich nun um RESOURCETYPE_DISK oder PRINT handelt.
Wenn Du also eine Liste mit Rechnern erhältst, müsste die nächste Ebene die Resourcen enthalten (Shares oder Printer).
Ich bin übrigens gerade zufällig über eine
API gestolpert, die das ganze wahrscheinlich einfacher macht: EnumPrinters.
Schau Dir die doch mal im
PSDK oder im
MSDN einfach mal an.