Eg. I have following delegate method I want to use as a callback function with unmanaged code:
public delegate void Callback(IntPtr myObject);
Callback callback;
I register it in the following way:
[DllImport("a.dll")]
public static void registerCallback(IntPtr callbackFunction, IntPtr anObject);
// ...
this.myObject = new MyClas...
This is my c++ struct (Use Multi-Byte Character Set)
typedef struct hookCONFIG {
int threadId;
HWND destination;
const char** gameApps;
const char** profilePaths;
} HOOKCONFIG;
And .Net struct
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct HOOKCONFIG {
public int threadId;
public ...
When i use
new XStream().toXml(someObject);
it returns following xml...
<response>
<status>SUCCESS</status>
<isOwnershipVerified class="boolean">false</isOwnershipVerified>
</response>
and, when i use
new XStream(new JsonHierarchicalStreamDriver()).toXml(someObject);
it returns following json...
{"response": {
...
I have a problem calling this function from a c++ DLL in c#
INT32 WINAPI PM_COM_GetText(INT32 TextId, char* pBuf, INT32 BufSize);
It writes a Text in a buffer for a given text id.
I try to call it with the following c# code, but I constantly get an access violation and don't undrestand why:
public string GetText(Int32 TextId)
{
Int...
I am writing a wrapper for the game programming library "Allegro" and its less stable 4.9 branch. Now, I have done good insofar, except for when it comes to wrapping a structure of function pointers. Basically, I can't change the original code, despite having access to it, because that would require me to fork it in some manner. I need t...
Hi,
I would like to call this method in unmanaged library:
void __stdcall GetConstraints(
unsigned int* puiMaxWidth,
unsigned int* puiMaxHeight,
unsigned int* puiMaxBoxes
);
My solution:
Delegate definition:
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
private delegate void GetConstraintsDel(UIntPtr puiMaxWidth,...
Hi, I'm using a frame grabber class in order to capture and process each frame in a video. The class can be found here: http://www.codeproject.com/KB/graphics/FrameGrabber.aspx
I'm having issues with running it, however. When loading the file, it attempts to marshal a video format pointer into a VideoInfoHeader (I'm using DirectShow.Net...
So I have a function in unmanaged c++ that gets called when some text happens to have "arrived":
#using <MyParser.dll>
...
void dump_body(const unsigned char *Body, int BodyLen)
{
// Need to pass the body to DumpBody, but as what type?
...
MyParser::Parser::DumpBody(???);
}
DumpBody is a static function defined in a C# DLL t...
I have a C++ function that produces a list of rectangles that are interesting. I want to be able to get that list out of the C++ library and back into the C# application that is calling it.
So far, I'm encoding the rectangles like so:
struct ImagePatch{
int xmin, xmax, ymin, ymax;
}
and then encoding some vectors:
void MyFunc(....
I have an attribute in my AR:B that is not serializeable.
o = Discussion.find(6)
Marshal.dump(o)
TypeError: no marshal_dump is defined for class Proc
from (irb):10:in `dump'
I know the culprit and what I want is to set this variable to nil
before any serialization takes place.
I can do this but I'm stuck with the proper way t...
I have two assemblies that I'm trying to link together. One is a sort of background process that's built with WinForms and will be designed to run as a Windows Service. I have a second project that will act as a UI for the background process whenever a user launches it. I've never tried attempting something like this with managed code be...
Hi,
I need to call a C++ API from C#. I have been able to call the API, but the char[] parameters do not seem to be marshalling correctly.
Here's the C++ signature:
Create2ptModel(double modelPowers[2],
double modelDacs[2],
int pclRange[2],
double targetPowers[32],
double *d...
How to marshal the type of "Cstring" in .NET Compact Framework(C#)?
DLLname:Test_Cstring.dll(OS is WinCE 5.0),source code:
extern "C" __declspec(dllexport) int GetStringLen(CString str)
{
return str.GetLength();
}
I marshal that in .NET Compact Framework(C#),for example:
[DllImport("Test_Cstring.dll", EntryPoint = "GetStringLen...
I have the following C++ struct:
typedef struct FormulaSyntax{
WORD StructSize;
short formulaSyntax [2];
} FormulaSyntax;
I have a DLL method which takes an instance of this struct. Here's what I've tried on the C# side:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct For...
I have union inside structure and the structure looks like
struct tDeviceProperty {
DWORD Tag;
DWORD Size;
union _DP value;
};
typedef union _DP
{
short int i;
LONG l;
ULONG ul;
float flt;
double ...
Hello. I have an .NET (4.0) interface which is implemented with a ServicedComponent COM+ class:
interface DotNetIface
{
void MethodRef(var System.Guid guid);
void MethodArray(System.Guid[] guids, params object[] parameters);
void MethodCStyle([MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeConst=5)]S...
I am a new C# programmer and have created an application which uses a 3rd party COM object to track telephone call recordings from a call recording server. The creator of the COM software is also the vendor who makes the call recording software, so you would think it should work. I have been on many phone calls and code reviews with thei...
I need to parse plain Win32 DLL/Exe and need to get all imports and exports from it and to show it on console or GUI(say Win Forms). Is it possible to parse Win32 DLL/Exe in C#.NET, read its export table,import table and get managed types from it. As its unmanaged PE(.NET doesn't allows you to convert unmanaged PE files to managed .NET a...
Hello,
I am using Castor for XML Binding.. We need to sort the XML based on two different fields. Is there way we can specify the sort order in castor while marshalling?
Which will be a better approach to do this sorting, if castor don't have this feature.
Here is the actual problem with Sorting...
I have two collections of two diffe...
I'm having problems with marshaling in VB.NET to C++, here's the code :
In the C++ DLL :
struct APP_PARAM
{
int numData;
LPCSTR *text;
int *values;
};
int App::StartApp(APP_PARAM params)
{
for (int i = 0; i < numLines; i++)
{
OutputDebugString(params.text[i]);
}
}
In VB.NET :
<StructLayoutAttribute...