Click here to Skip to main content
16,004,969 members
Home / Discussions / C#
   

C#

 
GeneralRe: A problem with transactions.. Pin
Heath Stewart9-Apr-04 3:14
protectorHeath Stewart9-Apr-04 3:14 
GeneralThread ID for current thread Pin
Grimolfr8-Apr-04 9:16
Grimolfr8-Apr-04 9:16 
GeneralRe: Thread ID for current thread Pin
jqd20018-Apr-04 10:30
jqd20018-Apr-04 10:30 
GeneralRe: Thread ID for current thread Pin
Grimolfr9-Apr-04 8:44
Grimolfr9-Apr-04 8:44 
GeneralControlDesigner on Windows Form Pin
Jamie Nordmeyer8-Apr-04 8:44
Jamie Nordmeyer8-Apr-04 8:44 
GeneralRe: ControlDesigner on Windows Form Pin
Jamie Nordmeyer8-Apr-04 9:56
Jamie Nordmeyer8-Apr-04 9:56 
GeneralMarshal an object [] to ptr Pin
joeyespo8-Apr-04 8:30
joeyespo8-Apr-04 8:30 
GeneralRe: Marshal an object [] to ptr Pin
Heath Stewart8-Apr-04 8:55
protectorHeath Stewart8-Apr-04 8:55 
An array is already a reference type, so unless you have to marshal it as an IntPtr, just declare your P/Invoke method using the array of whatever Type is needed (if that's what the native API expects).

Otherwise, you must get the address of it by fixing it in memory. See the fixed keyword in the .NET Framework SDK for more information.

Another way to do this (basically, what fixed compiles down to) is to use the GCHandle to pin the object in memory so it doesn't get moved by the garbage collector (GC):
GCHandle handle = GCHandle.Alloc(myObjArray);
IntPtr ptr = handle.AddrOfPinnedObject();
// Do something with ptr
handle.Free();


 

Microsoft MVP, Visual C#
My Articles
GeneralUsing String Buffers of Win32 Libraries in C# Pin
yyf8-Apr-04 5:27
yyf8-Apr-04 5:27 
GeneralRe: Using String Buffers of Win32 Libraries in C# Pin
Heath Stewart8-Apr-04 5:51
protectorHeath Stewart8-Apr-04 5:51 
QuestionXML via Socket? Pin
rbarzallo8-Apr-04 4:40
rbarzallo8-Apr-04 4:40 
AnswerRe: XML via Socket? Pin
Colin Angus Mackay8-Apr-04 5:16
Colin Angus Mackay8-Apr-04 5:16 
AnswerRe: XML via Socket? Pin
Judah Gabriel Himango8-Apr-04 5:16
sponsorJudah Gabriel Himango8-Apr-04 5:16 
GeneralRe: XML via Socket? Pin
Heath Stewart8-Apr-04 5:48
protectorHeath Stewart8-Apr-04 5:48 
GeneralRe: XML via Socket? Pin
Judah Gabriel Himango8-Apr-04 6:25
sponsorJudah Gabriel Himango8-Apr-04 6:25 
GeneralRe: XML via Socket? Pin
jqd20018-Apr-04 7:33
jqd20018-Apr-04 7:33 
GeneralRe: XML via Socket? Pin
Heath Stewart8-Apr-04 8:20
protectorHeath Stewart8-Apr-04 8:20 
GeneralConverting double to string Pin
kskris8-Apr-04 4:33
kskris8-Apr-04 4:33 
GeneralRe: Converting double to string Pin
Mike Dimmick8-Apr-04 5:34
Mike Dimmick8-Apr-04 5:34 
GeneralRe: Converting double to string Pin
Heath Stewart8-Apr-04 5:46
protectorHeath Stewart8-Apr-04 5:46 
GeneralRe: Converting double to string Pin
kskris8-Apr-04 7:08
kskris8-Apr-04 7:08 
GeneralClosing a crashed application. Pin
mcgahanfl8-Apr-04 4:29
mcgahanfl8-Apr-04 4:29 
GeneralRe: Closing a crashed application. Pin
Judah Gabriel Himango8-Apr-04 5:09
sponsorJudah Gabriel Himango8-Apr-04 5:09 
GeneralRe: Closing a crashed application. Pin
mcgahanfl8-Apr-04 8:46
mcgahanfl8-Apr-04 8:46 
GeneralC# ListView Control - Events Pin
Jacobus8-Apr-04 3:44
Jacobus8-Apr-04 3:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.