473,387 Members | 3,820 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

GetVolumeNameForVolumeMountPoint Usage

Hi,

I've been having real problems trying to get the above function to work in
my vb .net application which hopefully will assign a new drive letter to a
CD-Rom drive. This is what I've got so far:

Declare Function GetVolumeNameForVolumeMountPoint Lib "kernel32.dll"
Alias "GetVolumeNameForVolumeMountPointA" (ByVal lpszVolumeMountPoint As
String, ByVal lpszVolumeName As String, ByVal cchBufferLength As Integer) As
Integer

public function

Dim iret As Integer
Dim current as string = "Z:\"

Current &= vbNullChar
Dim sTemp = New StringBuilder(50)
sTemp = vbNullChar
iret = GetVolumeNameForVolumeMountPoint(Current, sTemp, 50)
end function

Supposedly the volume name is returned in the sTemp string, but i've yet to
get a return on this. I've also experimented with using pointers to the
strings and altering the function but this also doesn't work.

Any help would be appreciated.

Many Thanks

Mike
(Definitely a beginner)
Nov 21 '05 #1
2 5301
Mike,

Try this: define the second parameter as StringBuilder.
something like:
Declare Function GetVolumeNameForVolumeMountPoint Lib "kernel32.dll" _
Alias "GetVolumeNameForVolumeMountPointA" (ByVal lpszVolumeMountPoint As _
String, ByVal lpszVolumeName As System.Text.StringBuilder, ByVal
cchBufferLength As _
Integer) As Integer

hope this helps..
Imran.

"Mike Warrington" <mi*************@bigfoot.com> wrote in message
news:ut**************@tk2msftngp13.phx.gbl...
Hi,

I've been having real problems trying to get the above function to work in
my vb .net application which hopefully will assign a new drive letter to a
CD-Rom drive. This is what I've got so far:

Declare Function GetVolumeNameForVolumeMountPoint Lib "kernel32.dll"
Alias "GetVolumeNameForVolumeMountPointA" (ByVal lpszVolumeMountPoint As
String, ByVal lpszVolumeName As String, ByVal cchBufferLength As Integer) As Integer

public function

Dim iret As Integer
Dim current as string = "Z:\"

Current &= vbNullChar
Dim sTemp = New StringBuilder(50)
sTemp = vbNullChar
iret = GetVolumeNameForVolumeMountPoint(Current, sTemp, 50)
end function

Supposedly the volume name is returned in the sTemp string, but i've yet to get a return on this. I've also experimented with using pointers to the
strings and altering the function but this also doesn't work.

Any help would be appreciated.

Many Thanks

Mike
(Definitely a beginner)

Nov 21 '05 #2
* "Mike Warrington" <mi*************@bigfoot.com> scripsit:
I've been having real problems trying to get the above function to work in
my vb .net application which hopefully will assign a new drive letter to a
CD-Rom drive. This is what I've got so far:

Declare Function GetVolumeNameForVolumeMountPoint Lib "kernel32.dll"
Alias "GetVolumeNameForVolumeMountPointA" (ByVal lpszVolumeMountPoint As
String, ByVal lpszVolumeName As String, ByVal cchBufferLength As Integer) As
Integer

public function

Dim iret As Integer
Dim current as string = "Z:\"

Current &= vbNullChar
Dim sTemp = New StringBuilder(50)
sTemp = vbNullChar


What's the purpose of the line above? Get rid of it and write 'Dim
sTemp As New StringBuilder(50)' instead.

Deklare the 'lpszVolumeName' parameter as 'StringBuilder' instead of
declaring it as 'String'. Then change the function's return value's
type to 'Boolean' and check if the return value is 'True'. 'True'
indicates that the function call was successful.

<msdn>
lpszVolumeName
[out] Pointer to a string that receives the volume name. This name is
a unique volume name of the form "\\?\Volume{GUID}\" where GUID is the
GUID that identifies the volume.
</msdn>

Then, search for 'ControlChars.NullChar' in 'sTemp.ToString' and take
the part left from the 'NullChar' using the 'Strings.Left' function.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
Nov 21 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: rbt | last post by:
Would a Python process consume more memory on a PC with lots of memory? For example, say I have the same Python script running on two WinXP computers that both have Python 2.4.0. One computer has...
2
by: tomvr | last post by:
Hello I have noticed some 'weird' memory usage in a vb.net windows app The situation is as follows I have an app (heavy on images) with 2 forms (actually there are more forms and on starting...
3
by: Ian Taite | last post by:
Hello, I'm exploring why one of my C# .NET apps has "high" memory usage, and whether I can reduce the memory usage. I have an app that wakes up and processes text files into a database...
26
by: Bruno Jouhier [MVP] | last post by:
I'm currently experiencing a strange phenomenon: At my Office, Visual Studio takes a very long time to compile our solution (more than 1 minute for the first project). At home, Visual Studio...
11
by: Paulo Eduardo | last post by:
Hi, All! We are developing one app for windows 95/98/Me/NT4.0/2000/XP/2003 using Visual C++ 6.0. We need to set the % of CPU Usage to app process. Is there an API to set % of CPU Usage? Can...
10
by: rdemyan via AccessMonster.com | last post by:
My app contains utility meter usage. One of the things we have to deal with is when a usage is clearly incorrect. Perhaps someone wrote the meter reading down incorrectly or made a factor of 10...
3
by: Sirisha | last post by:
I am using the following code to get the CPU usage PerformanceCounter myCounter; myCounter = new PerformanceCounter(); myCounter.CategoryName = "Processor"; myCounter.CounterName = "%...
1
by: spacecoyote | last post by:
I tried this: usage = "Something, by Spacecoyote\nusage: %prog file " parser = OptionParser(usage) test.py --help and I expected: Something, by Spacecoyote usage: test.py file
2
by: jld | last post by:
Hi, I developed an asp.net based eCommerce Website for a client and it is hosted at discount asp. The site is quite interactive, queries a database a lot and uses ajax.asp.net to spice up...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.