i'v got:
[DllImport("KERNEL32.DLL")]
public static extern int ReadFile(
IntPtr hFile,
IntPtr lpBuffer,
uint nNumberOfBytesToRead,
ref uint lpNumberOfBytesRead,
uint lpOverlapped);
to map:
BOOL ReadFile(
HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
LPOVERLAPPED lpOverlapped
);
my call in C# is:
byte[] buf = new byte[512];
uint NumberOfBytesRead;
Win32.ReadFile(handle, buf, (uint)buf.Length, ref NumberOfBytesRead, 0);
but of course, buf is not a IntPtr
so, my questions are:
- what is the best signature for ReadFile ?
- id byte[] is adequate for LPVOID ? 2 5242
Hi,
I don't have a lot of time today but I give you a tip that maybe it helps you,
you can use System.InteropServices.Marshal to cast unmanaged to managed and
viceversa.
I think there is a function called Marshal.StructureToPtr()
hope this helps, otherwise tomorrow I can answer with my VS in front of me.
best regards
"Herbert VON GRÃœNENWALD" wrote: i'v got:
[DllImport("KERNEL32.DLL")] public static extern int ReadFile( IntPtr hFile, IntPtr lpBuffer, uint nNumberOfBytesToRead, ref uint lpNumberOfBytesRead, uint lpOverlapped);
to map:
BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped );
my call in C# is:
byte[] buf = new byte[512]; uint NumberOfBytesRead; Win32.ReadFile(handle, buf, (uint)buf.Length, ref NumberOfBytesRead, 0);
but of course, buf is not a IntPtr
so, my questions are: - what is the best signature for ReadFile ? - id byte[] is adequate for LPVOID ?
ok, i've found, it was just evident:
[DllImport("KERNEL32.DLL")]
ublic static extern int ReadFile(
IntPtr hFile,
byte[] lpBuffer,
uint nNumberOfBytesToRead,
ref uint lpNumberOfBytesRead,
uint lpOverlapped
); This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Ray Z |
last post by:
So far, I get the idea that if I want to use both the unmanaged and managed
memory, I can not avoid memory copy. But I DO need to avoid it. I get a idea
that maybe I could use "union" to convert...
|
by: wbaccay |
last post by:
I have a byte of binary data received from a NetworkStream (C# code) that I need to pass to the IWMWriter object in a DLL written in Managed extensions for C++ (since the Windows Media SDK is not...
|
by: Ekim |
last post by:
hello,
I'm allocating a byte-Array in C# with byte byteArray = new byte;
Now I want to pass this byte-Array to a managed C++-function by reference,
so that I'm able to change the content of the...
|
by: Olaf Baeyens |
last post by:
I am porting some of my buffer class code for C++ to C#.
This C++ class allocates a block of memory using
m_pBuffer=new BYTE;
But since the class is also used for pointers for funtions that uses...
|
by: _BNC |
last post by:
I've converted " byte" to "byte *" at times, using 'unsafe' and
fixed { .... }, but the reverse does not seem to work.
In this case, a C++ DLL returns a byte * and a length. What is the best...
|
by: Howard Weiss |
last post by:
I am reading a file (containing short integers). To read the file, I use
the following
FileStream *myFile = new FileStream(FileName, FileMode::Open,
FileAccess::Read);
__int64 myFileSize =...
|
by: Fireangel |
last post by:
I want to cast a class into a byte array. I've seen some examples of this
floating around, but they all have simple data members. What happens if I
cast something that has a ArrayList or an...
|
by: sebascomeau |
last post by:
Hi everyone,
Hello my name is Sebastien and I need some help. He have one week
past and I search to do one thing but I can't. If someone help me, I'll
be so happy :). My problem is I want to...
|
by: ThunderMusic |
last post by:
Hi,
The subject says it all... I want to use a byte and use it as byte* so I
can increment the pointer to iterate through it.
What is the fastest way of doing so in C#?
Thanks
ThunderMusic
|
by: eitanyan |
last post by:
I am trying to create a Java to .Net interop and the way I am doing it is by creating a C# com object and a native unmanaged c++ dll that uses JNIEnv of java.
the java is loading the native c++ dll...
|
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
|
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...
|
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...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
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,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
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: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
| |