469,304 Members | 2,303 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,304 developers. It's quick & easy.

using System.IntPtr

I need to get a pointer of a variable...
How can I get it ?

for example:
Dim a() as CStructure
Dim z as System.IntPtr

z = ??????

Sushi
Nov 21 '05 #1
6 22242
The Marshal class has methods to help in this.

See Marshal.UnsafeAddressOfPinnedArrayElement.

You can create and use unmananged blocks of memory with Marshal.AllocHGlobal
and it's related methods

Vou can copy to and from C structs with StructureToPtr and PtrToStructure.

HTH

--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.

"Sushi" <su********@hotmail.com> wrote in message
news:e7**************@TK2MSFTNGP14.phx.gbl...
I need to get a pointer of a variable...
How can I get it ?

for example:
Dim a() as CStructure
Dim z as System.IntPtr

z = ??????

Sushi

Nov 21 '05 #2
"Sushi" <su********@hotmail.com> schrieb:
I need to get a pointer of a variable...
Variables that are declared as a reference type are "type-safe pointers":

\\\
Dim f1 As New Foo()
Dim f2 As Foo = f1 ' Points to the same instance as 'f1'.
///
How can I get it ?

for example:
Dim a() as CStructure
Dim z as System.IntPtr


What exactly do you want to archieve/to do with the pointer?

--
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
I will try to explain better

I want to execute some TrackServer functions...
Follow the prototype

COMSVCSLib.IGetAppData.GetApps(ByRef nApps As System.UInt32, ByVal aAppData
As System.IntPtr)

So
aAppData is pointer of an array of COMSVCSLib.CAppData

In another words...
pAppData() As COMSVCSLib.CAppData
aAppData As IntPtr = pAppData
Well...
After I get this IntPtr, I will need to convert this IntPtr to the pAppData
array
Did you understand me ?

Thanks for all,
Sushi
Nov 21 '05 #4
You need to declare a VB structure that corresponds to the layout of the C
structure that you are passed from the unmanaged side. Once you have that
you can use Marshal.PtrToStructure to obtain the contents of your structure.
For an array of structures you need to modify the IntPtr that you have to
the offset of the particular array element that you wish to access.

Unfortunately I can't find a reference to the structure you're trying to
grab.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.

"Sushi" <su********@terra.com.br> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
I will try to explain better

I want to execute some TrackServer functions...
Follow the prototype

COMSVCSLib.IGetAppData.GetApps(ByRef nApps As System.UInt32, ByVal
aAppData
As System.IntPtr)

So
aAppData is pointer of an array of COMSVCSLib.CAppData

In another words...
pAppData() As COMSVCSLib.CAppData
aAppData As IntPtr = pAppData
Well...
After I get this IntPtr, I will need to convert this IntPtr to the
pAppData
array
Did you understand me ?

Thanks for all,
Sushi

Nov 21 '05 #5
I'm sure that if you can obtain this book it will be useful...

http://www.webtropy.com/articles/art...rop=COMSVCSLib

--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.

"Sushi" <su********@terra.com.br> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
I will try to explain better

I want to execute some TrackServer functions...
Follow the prototype

COMSVCSLib.IGetAppData.GetApps(ByRef nApps As System.UInt32, ByVal
aAppData
As System.IntPtr)

So
aAppData is pointer of an array of COMSVCSLib.CAppData

In another words...
pAppData() As COMSVCSLib.CAppData
aAppData As IntPtr = pAppData
Well...
After I get this IntPtr, I will need to convert this IntPtr to the
pAppData
array
Did you understand me ?

Thanks for all,
Sushi

Nov 21 '05 #6
thanks... I will try to create a structure in vb.net...

the reference is COMSVCSLib...
I already saw this article... but it's doesn't help me more than the object
browser for COMSVCS :-))))

"Bob Powell [MVP]" <bob@_spamkiller_bobpowell.net> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I'm sure that if you can obtain this book it will be useful...

http://www.webtropy.com/articles/art...rop=COMSVCSLib

--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.

"Sushi" <su********@terra.com.br> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
I will try to explain better

I want to execute some TrackServer functions...
Follow the prototype

COMSVCSLib.IGetAppData.GetApps(ByRef nApps As System.UInt32, ByVal
aAppData
As System.IntPtr)

So
aAppData is pointer of an array of COMSVCSLib.CAppData

In another words...
pAppData() As COMSVCSLib.CAppData
aAppData As IntPtr = pAppData
Well...
After I get this IntPtr, I will need to convert this IntPtr to the
pAppData
array
Did you understand me ?

Thanks for all,
Sushi


Nov 21 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by C | last post: by
4 posts views Thread by Daisy | last post: by
2 posts views Thread by ScOe | last post: by
4 posts views Thread by marcelino | last post: by
4 posts views Thread by Manuel Costa | last post: by
11 posts views Thread by Ed Bitzer | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
reply views Thread by harlem98 | last post: by
1 post views Thread by Geralt96 | last post: by
reply views Thread by harlem98 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.