Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than kernel32, prefix the name with the module name and a period.
<DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function SetVolumeLabel(ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Boolean
End Function
using System;
using System.Runtime.InteropServices;
''' <summary>
''' Managed wrapper for changing the drive label
''' </summary>
Public Module VolumeLabel
<DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Function SetVolumeLabel(ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Boolean
End Function
namespace PInvoke.Test
{
Public Property DriveLabel(ByVal DrivePath As String) As String
Get
Return Dir(DrivePath, FileAttribute.Volume)
End Get
Set(ByVal value As String)
If Not SetVolumeLabel(DrivePath, value) Then Throw New Win32Exception(Marshal.GetLastWin32Error())
End Set
End Property
End Module
[STAThread]
public static void Main()
{
if(SetVolumeLabel("C:\\","PInvokeC Drive"))
Console.WriteLine("Name Changed");
else
Console.WriteLine("Unable to change");
}
}
}
Alternative Managed API:
Dim Drive As New System.IO.DriveInfo("C:\")
MessageBox.Show(Drive.VolumeLabel & " [" & Drive.Name & "]")
Drive.VolumeLabel = "Test volume label"
''' <summary>
''' Managed wrapper for changing the drive label
''' </summary>
Public Module VolumeLabel
<DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Function SetVolumeLabel(ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Boolean
End Function
Public Property DriveLabel(ByVal DrivePath As String) As String
Get
Return Dir(DrivePath, FileAttribute.Volume)
End Get
Set(ByVal value As String)
If Not SetVolumeLabel(DrivePath, value) Then Throw New Win32Exception(Marshal.GetLastWin32Error())
End Set
End Property
End Module
Alternative Managed API:
Dim Drive As New System.IO.DriveInfo("C:\")
MessageBox.Show(Drive.VolumeLabel & " [" & Drive.Name & "]")
Drive.VolumeLabel = "Test volume label"
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).