@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The GetLogicalDriveStrings API !!!!C# Signature: [DllImport("kernel32.dll")] // static extern uint GetLogicalDriveStrings(uint nBufferLength, // [Out] StringBuilder lpBuffer); --- Don't do this! // if we were to use the StringBuilder, only the first string would be returned // so, since arrays are reference types, we can pass an array of chars // just initialize it prior to call the function as // char[] lpBuffer = new char[nBufferLength]; static extern uint GetLogicalDriveStrings(uint nBufferLength, [Out] char[] lpBuffer); !!!!User-Defined Types: None. !!!!Notes: None. !!!!Tips & Tricks: Please add some! !!!!Sample Code: using System; using System.Collections.Specialized; using System.Runtime.InteropServices; public class Mainline { [DllImport("kernel32.dll")] static extern uint GetLogicalDriveStrings(uint nBufferLength, [Out] char[] lpBuffer); public static void Main() { const int size = 512; char[] buffer = new char[size]; uint code = GetLogicalDriveStrings(size, buffer); if (code == 0) { Console.WriteLine("Call failed"); return; } StringCollection list = new StringCollection(); int start = 0; for (int i = 0; i < code; ++i) { if (buffer[i] == 0) { string s = new string(buffer, start, i - start); list.Add(s); start = i + 1; } } foreach (string s in list) Console.WriteLine(s); } } !!!!Alternative Managed API: public static string[] System.Environment.GetLogicalDrives(); public static System.IO.DriveInfo[] System.IO.DriveInfo.GetDrives(); Documentation: GetLogicalDriveStrings@msdn on MSDN
Edit kernel32.getlogic...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.