Click here to Skip to main content
15,887,416 members
Home / Discussions / C#
   

C#

 
GeneralRe: Dynamic buttons in flowlayout panel Pin
Jon Henry14-Mar-09 7:59
Jon Henry14-Mar-09 7:59 
QuestionMS remote for Media Player Pin
electriac14-Mar-09 6:29
electriac14-Mar-09 6:29 
QuestionFormat date to system timezone Pin
Tony Pottier14-Mar-09 6:24
Tony Pottier14-Mar-09 6:24 
AnswerRe: Format date to system timezone Pin
Christian Graus14-Mar-09 8:15
protectorChristian Graus14-Mar-09 8:15 
QuestionPInvoke void * parameter Pin
Jason McPeak14-Mar-09 5:32
Jason McPeak14-Mar-09 5:32 
AnswerRe: PInvoke void * parameter Pin
Luc Pattyn14-Mar-09 5:56
sitebuilderLuc Pattyn14-Mar-09 5:56 
GeneralRe: PInvoke void * parameter Pin
Jason McPeak14-Mar-09 7:02
Jason McPeak14-Mar-09 7:02 
GeneralRe: PInvoke void * parameter Pin
Luc Pattyn14-Mar-09 7:30
sitebuilderLuc Pattyn14-Mar-09 7:30 
Hi,

1.
yes "fixed" is one way to pin down something, for as long as you are inside its code block.

2.
it is strange to see a Capture() method without any outputs. You should either provide a "string filename" parameter if you want it to save to disk, or return something "... int[] Capture(...)" if you want your app to work on it.
I would suggest something along these lines (note the use of "code block" button resulting in PRE tags which gives a monospaced font and preserves formatting):
public unsafe int[] Capture( Int32 bufferSize ) {
    int[] buf = new int[ bufferSize ];
    fixed ( int* ImageBuffer = buf ) {
        if ( !DcamCaptureReverseX( ImageBuffer, bufferSize ) ) throw new DCamLIBException( this );
    }
    return buf;
}


3.
Once the native world is done with your buffer, it does not need the pinning; and the managed code can operate on it without restrictions, e.g. save it to disk.

4.
remarks:
- it is unusual, and probably not so good, to have exceptions without a string argument, passing some message in.
- there would be no need to zero out the buffer, managed arrays are always zero-filled automatically upon creation; the CLR designers have chosen to do so, in order to eliminate random behavior when you forget to fill it up and start using whatever happens to be there.

5.
are you sure int[] is right? that indicates 32 bit per pixel; would be fine for color images, and probably overkill (and memory waste) for grayscale. Some native C/C++ systems have 16-bit int, in managed languages int is 32-bit.

Smile | :)

Luc Pattyn [Forum Guidelines] [My Articles]

- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets


GeneralRe: PInvoke void * parameter Pin
Jason McPeak14-Mar-09 8:16
Jason McPeak14-Mar-09 8:16 
GeneralRe: PInvoke void * parameter Pin
Luc Pattyn14-Mar-09 9:10
sitebuilderLuc Pattyn14-Mar-09 9:10 
GeneralRe: PInvoke void * parameter Pin
Jason McPeak14-Mar-09 14:10
Jason McPeak14-Mar-09 14:10 
GeneralRe: PInvoke void * parameter Pin
Luc Pattyn14-Mar-09 16:01
sitebuilderLuc Pattyn14-Mar-09 16:01 
AnswerRe: PInvoke void * parameter Pin
Jason McPeak14-Mar-09 7:12
Jason McPeak14-Mar-09 7:12 
QuestionCan not submit to the server. [modified] Pin
sohighthesky14-Mar-09 5:21
sohighthesky14-Mar-09 5:21 
AnswerRe: Can not submit to the server. Pin
Xmen Real 14-Mar-09 5:56
professional Xmen Real 14-Mar-09 5:56 
AnswerRe: Can not submit to the server. Pin
Navneet Hegde14-Mar-09 8:53
Navneet Hegde14-Mar-09 8:53 
QuestionHow to execute Class without Main? [modified] Pin
Akash Chavhan14-Mar-09 5:19
Akash Chavhan14-Mar-09 5:19 
AnswerRe: How to execute Class without Main? [modified] Pin
Eslam Afifi14-Mar-09 5:51
Eslam Afifi14-Mar-09 5:51 
AnswerRe: How to execute Class without Main? Pin
Xmen Real 14-Mar-09 5:53
professional Xmen Real 14-Mar-09 5:53 
AnswerRe: How to execute Class without Main? Pin
Christian Graus14-Mar-09 8:18
protectorChristian Graus14-Mar-09 8:18 
AnswerRe: How to execute Class without Main? Pin
PIEBALDconsult14-Mar-09 15:00
mvePIEBALDconsult14-Mar-09 15:00 
QuestionSockets in C# Pin
mrithula814-Mar-09 4:42
mrithula814-Mar-09 4:42 
AnswerRe: Sockets in C# Pin
Luc Pattyn14-Mar-09 5:01
sitebuilderLuc Pattyn14-Mar-09 5:01 
AnswerRe: Sockets in C# [modified] Pin
Member 349379914-Mar-09 7:02
Member 349379914-Mar-09 7:02 
GeneralRe: Sockets in C# Pin
mrithula814-Mar-09 20:21
mrithula814-Mar-09 20:21 

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.