Thank you, this information has been a great help. Simon Powell Dresdner Klienwort Wasserstein
-----Original Message----- From: Mattias Sjögren [mailto:[EMAIL PROTECTED]] Sent: 20 May 2002 11:23 To: [EMAIL PROTECTED] Subject: Re: [DOTNET] .NET and using APIs Simon, Try it like this: [DllImport("netapi32.dll", CharSet=CharSet.Unicode)] static extern int NetWkstaUserEnum( string servername, int level, out IntPtr bufptr, int prefmaxlen, out int entriesread, out int totalentries, ref int resume_handle); [DllImport("netapi32.dll")] static extern int NetApiBufferFree( IntPtr Buffer); // for use on Win NT/2000 only [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)] public struct WKSTA_USER_INFO_0 { public string wkui0_username; } [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)] public struct WKSTA_USER_INFO_1 { public string wkui1_username; public string wkui1_logon_domain; public string wkui1_oth_domains; public string wkui1_logon_server; } // ... IntPtr bufptr = IntPtr.Zero; int dwEntriesread; int dwTotalentries = 0; int dwResumehandle = 0; int nStatus; Type tWui1 = typeof(WKSTA_USER_INFO_1); int nStructSize = Marshal.SizeOf( tWui1 ); WKSTA_USER_INFO_1 wui1; this.listView1.Items.Clear(); do { nStatus = NetWkstaUserEnum( textBox1.Text, 1, out bufptr, MAX_PREFERRED_LENGTH, out dwEntriesread, out dwTotalentries, ref dwResumehandle ); // // If the call succeeds, // if ((nStatus == NERR_SUCCESS) | (nStatus == ERROR_MORE_DATA)) { if (dwEntriesread > 0) { IntPtr pstruct = bufptr; // // Loop through the entries. // for (int i = 0; i < dwEntriesread; i++) { wui1 = (WKSTA_USER_INFO_1)Marshal.PtrToStructure( pstruct, tWui1 ); MessageBox.Show(wui1.wkui1_username); pstruct = (IntPtr)((int)pstruct + nStructSize); } } else { MessageBox.Show("A system error has occurred : " + nStatus); } } if ( bufptr != IntPtr.Zero ) NetApiBufferFree( bufptr ); } while(nStatus == ERROR_MORE_DATA); >If anyone can help or point me in the direction of a good book it would >be much appreciated. ".NET and COM: The Complete Interoperability Guide" by Adam Nathan, ISDN 067232170X. Mattias === Mattias Sjögren [EMAIL PROTECTED] You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. ---------------------------------------------------------------------- If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. ---------------------------------------------------------------------- You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.