i'v got:
[DllImport("KERN EL32.DLL")]
public static extern int ReadFile(
IntPtr hFile,
IntPtr lpBuffer,
uint nNumberOfBytesT oRead,
ref uint lpNumberOfBytes Read,
uint lpOverlapped);
to map:
BOOL ReadFile(
HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberOfBytesT oRead,
LPDWORD lpNumberOfBytes Read,
LPOVERLAPPED lpOverlapped
);
my call in C# is:
byte[] buf = new byte[512];
uint NumberOfBytesRe ad;
Win32.ReadFile( handle, buf, (uint)buf.Lengt h, ref NumberOfBytesRe ad, 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 5271
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.InteropS ervices.Marshal to cast unmanaged to managed and
viceversa.
I think there is a function called Marshal.Structu reToPtr()
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("KERN EL32.DLL")] public static extern int ReadFile( IntPtr hFile, IntPtr lpBuffer, uint nNumberOfBytesT oRead, ref uint lpNumberOfBytes Read, uint lpOverlapped);
to map:
BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesT oRead, LPDWORD lpNumberOfBytes Read, LPOVERLAPPED lpOverlapped );
my call in C# is:
byte[] buf = new byte[512]; uint NumberOfBytesRe ad; Win32.ReadFile( handle, buf, (uint)buf.Lengt h, ref NumberOfBytesRe ad, 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("KERN EL32.DLL")]
ublic static extern int ReadFile(
IntPtr hFile,
byte[] lpBuffer,
uint nNumberOfBytesT oRead,
ref uint lpNumberOfBytes Read,
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 byte to int and so on. Here is
my source code, I wonder if this will work with GC?
struct MyUnion
{
|
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 usable in C#) whose WriteSample function takes a byte* parameter
Do I need to marshal data? I thought I did, so I ran into alot of issues with converting the byte to a string and then, in the MC++ DLL, marshalling that to an IntPtr via...
|
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 byteArray and afterwards see
the changes in C#.
(if you wanna know more details: the goal is to write the content of an
existing char-array in c++ precisely into the passed byteArray, so that
after the function has proceded 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 raw MMX
and SSE power, the starting pointer MUST be starting at a 16 byte memory
boundary.
In C++ I allocate more memory than needed, and in a second phase I search
for the address that starts on a 16 byte boundary. And I then use that new...
|
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
way to convert these to straight C#-compatible straight " byte" arrays?
PS: The C++ DLL is actually managed and I have access to the source.
Perhaps there is a simpler syntax for doing the conversion there, and
returning a C# compatible array...
| |
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 = myFile->get_Length();
Byte myFileData;
myFile1Data = new Byte;
|
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 Array?? Does it loop through the
array and cast them all and I end up with a big array (This is what I hope
will happen)? Or does it simple cast the pointer address and I end up with a
small array??
Related question: How do I make sure everything...
|
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 upload a file(image), convert
this image in an array of byte. Take this array and pass it to a web
service. The web service take this array of byte and resize the image
and return a new array of byte. This new array can be save on the
harddrive. I...
|
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 and invokes a method in it which invokes a method on
The command passed from java to .Net is a byte array and the response passed back is also a byte array
the C# managed COM object which finally invokes a method on a regular C# managed dll....
|
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
| |
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
| |
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |