I privilegi necessari per usare la LogonUser variano a seconda della versione di Windows; tu su quale versione stai lavorando? Che utente stai cercando di impersonare? È la LogonUser o la ImpersonateLoggedOnUser a fallire? Cosa restituisce GetLastError dopo la chiamata che fallisce?