unmanaged

How to host licensed .Net controls in unmanaged C++ app?

I need to host and run managed controls inside of a purely unmanaged C++ app. How to do this? To run unlicensed controls is typically simple: if (SUCCEEDED(ClrCreateManagedInstance(type, iid, &obj))) { // do something with obj } When using a licensed control however, we need to somehow embed a .licx file into the project (ref app...

Is it possible to unit test a class that makes P/Invoke calls?

I want to wrap a piece of code that uses the Windows Impersonation API into a neat little helper class, and as usual, I'm looking for a way to go test-first. However, while WindowsIdentity is a managed class, the LogonUser call that is required to actually perform the logging in as another user is an unmanaged function in advapi32.dll. ...

Passing impersonation token on a Managed Thread to an Unmanaged Thread

I have a case where a VB.Net winforms app needs to play WMV files from across the network. The user running the app cannot be given direct access to the network share. Through impersonation, I can see that the files exist (without impersonation, File.Exists returns false for the files on the network share). When I then try to load the fi...

Using DLR from Unmanaged Code

Is it possible to call managed code, specifically IronRuby or IronPython from unamanaged code such as C++ or Delphi? For example, we have an application written in Delphi that is being moved to C#.NET We'd like to provide Ruby or Python scripting in our new application to replace VBSCRIPT. However, we would need to provide Ruby/Python...

Mixing C# Code and umanaged C++ code on Windows with Visual Studio.

I would like to call my unmanaged C++ libraries from my C# code. What are the potential pitfalls and precautions that need to be taken? Thank you for your time. ...

How to determine the amount of memory used by unmanaged code

I'm working against a large COM library (ArcObjects) and I'm trying to pinpont a memory leak. What is the most reliable way to determine the amount of memory used by unmanaged code/objects. What performance counters can be used? ...

How to convert a unmanaged double to a managed string?

From managed c++, I am calling an unmanaged c++ method which returns a double. How can I convert this double into a managed string? Sorry if this is a stupid question, I'm still very new with C++ in .net. Thanks! ...

Default Printer in Unmanaged C++

I'm looking for a way to find the name of the Windows default printer using unmanaged C++ (found plenty of .NET examples, but no success unmanaged). Thanks. ...

Merge several native DLLs into one DLL

I've got a lot of small DLLs which I would like to make into one big(er) DLL (as suggested here). I can do so by merging my projects but I would like a less intrusive way. Can several DLLs be merged into one unit? A quick search found this thread that claims this is not possible. Does anyone know otherwise? Note that I'm talking abo...

ASP.NET 2.0 app runs on Win 2003 in IIS 5 isolation mode but not in (default) IIS 6 mode

The app uses DLLImport to call a legacy unmanaged dll. Let's call this dll Unmanaged.dll for the sake of this question. Unmanaged.dll has dependencies on 5 other legacy dll's. All of the legacy dll's are placed in the WebApp/bin/ directory of my ASP.NET application. When IIS is running in 5.0 isolation mode, the app works fine - calls t...

How do I disable and then enable the Retry button in a MessageBox (C++)?

I have the following unmanaged C++ code: MessageBox( NULL, strMessage, "Cool Product", MB_RETRYCANCEL | MB_ICONEXCLAMATION); I want to disable the RETRY button for 10 seconds (for example), then enable it. How can I do this? ...

Can the working set of a managed app be reduced by unloading unmanaged libraries with AfxFreeLibrary?

I have a managed Windows application that loads a managed C++ component that uses AfxLoadLibrary to load a third party component if present on the client machine. Once detected, I'm unloading the component using AfxFreeLibrary in an attempt to lower the working set of the managed parent application. The call to AfxFreeLibrary is succ...

calling managed code from unmanaged code

Hi, I want to call my .NET code from unmanaged C++. My process entrypoint is .NET based, so I don't have to worry about hosting the CLR. I know it can be done using COM wrappers for .NET objects, but I would like to access individual static methods of managed classes, so COM isn't my shortest/easiest route. Thanks! ...

Unmanaged DLLs in C++

I've been reading many a tutorial/article on unmanaged DLLs in C++. For the life of me, however, I cannot seem to grasp the concept. I'm easily confused by the seeming disagreement about whether it needs a header file, how to export it, whether I need a .lib file and what have you. So, let's assume I have just a function like so: publi...

How would you describe the difference between Managed/Byte Code and Unmanaged/Native Code to a Non-Programmer?

Sometimes it's difficult to describe some of the things that "us programmers" may think are simple to non-programmers and management types. So... How would you describe the difference between Managed Code (or Java Byte Code) and Unmanaged/Native Code to a Non-Programmer? ...

Where does DLLImport look for unmanaged DLLs?

A quick question: When declaring the DLLImport Attribute in .Net, where does the runtime look to resolve that DLL dependency? Would I have to dump the DLL and all of its dependencies in the bin folder? ...

vs2008 publish problem with unmanaged dlls

Hi All, I have a collection of unmanaged dlls with a C# wrapper around them that I'm calling from a C# project. I've added a build event line that looks like: mkdir ..\Release mkdir ..\Debug copy ..\..\Includes\*.dll ..\Release\*.dll copy ..\..\Includes\*.dll ..\Debug\*.dll Problem is, when I go to publish the application, those dll...

Why does a call to unmanaged code from a .NET BackgroundWorker thread affect the UI?

I have a long running series of operations in a .NET 2.0 BackgroundWorker thread. When I make a call to unmanaged code located in a referenced assembly the UI is frozen until the call completes. Why is this? Should I not be making these calls from the BackgroundWorker thread? ...

Memory management for .NET components used by unmanaged code

When working in the unmanaged world, we have to make sure that we clean up after ourselves if we have allocated memory on the heap (e.g. by using the new keyword in C++); we also have to make sure that we AddRef COM components that are created using CreateInstance and to Release it later; perhaps something like: SomeNameSapce::IObjPtr o...

Retrieving product information from an unmanaged executing application in C#/.NET

In C#, it is possible to retrieve assembly related information like product name, version etc using reflection: string productName = Assembly.GetCallingAssembly().GetName().Name; string versionString = Assembly.GetCallingAssembly().GetName().Version.ToString(); How do I do the equivalent if the executing assembly is written in unmanag...