Search Results

Search found 5 results on 1 pages for 'kriau'.

Page 1/1 | 1 

  • Global WH_CBT hook DLL is loaded into some processes only

    - by kriau
    The main program calls the function SetHook in the wi.dll to install global WH_CBT hook. bool WI_API SetHook() { if (!g_hHook) { g_hHook = SetWindowsHookEx(WH_CBT, (HOOKPROC) CBTProc, g_hInstDll, 0); } return g_hHook != NULL; } I presume after installing global hook, wi.dll should be loaded into each process' address space. However wi.dll is loaded in to some processes only. For example, if I start Skype, MS Word I can see that wi.dll is loaded into these processes as well (using Process Explorer), however if I run Firefox, uTorrent, Adobe Reader then wi.dll is not loaded into these processes. I'm using W7 64-bit, main program and wi.dll is 32-bit, all programs mentioned here is 32-bit programs as well. Any ideas why that happens? Thanks in advance.

    Read the article

  • ReSharper/StyleCop-like Visual Studio addon for C/C++

    - by kriau
    Is there any ReSharper/StyleCop-like Visual Studio addon for C/C++? I'm using ReSharper and StyleCop addons every day. Just recently started a new project which involves C/C++ programming. I miss some features from these addons like code formatting, hints/tips to use cleaner and better code, documentation/uniform code requirements, optimizing includes and so on....

    Read the article

  • Cannot call DLL import entry in C# from C++ project. EntryPointNotFoundException

    - by kriau
    I'm trying to call from C# a function in a custom DLL written in C++. However I'm getting the warning during code analysis and the error at runtime: Warning: CA1400 : Microsoft.Interoperability : Correct the declaration of 'SafeNativeMethods.SetHook()' so that it correctly points to an existing entry point in 'wi.dll'. The unmanaged entry point name currently linked to is SetHook. Error: System.EntryPointNotFoundException was unhandled. Unable to find an entry point named 'SetHook' in DLL 'wi.dll'. Both projects wi.dll and C# exe has been compiled in to the same DEBUG folder, both files reside here. There is only one file with the name wi.dll in the whole file system. C++ function definition looks like: #define WI_API __declspec(dllexport) bool WI_API SetHook(); I can see exported function using Dependency Walker: as decorated: bool SetHook(void) as undecorated: ?SetHook@@YA_NXZ C# DLL import looks like (I've defined these lines using CLRInsideOut from MSDN magazine): [DllImport("wi.dll", EntryPoint = "SetHook", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAsAttribute(UnmanagedType.I1)] internal static extern bool SetHook(); I've tried without EntryPoint and CallingConvention definitions as well. Both projects are 32-bits, I'm using W7 64 bits, VS 2010 RC. I believe that I simply have overlooked something.... Thanks in advance.

    Read the article

  • Unresolved external symbol

    - by kriau
    I have two WIN32 DLL projects in the solution, main.dll should call a function in mgn.dll. mgn.dll has mgn.h header file: #ifdef MGN_EXPORTS #define MGN_API __declspec(dllexport) #else #define MGN_API __declspec(dllimport) #endif extern "C" bool MGN_API AttachMGN(void); and mgn.cpp source file: #include "stdafx.h" #include "mgn.h" MGN_API bool AttachMGN(void) { ... } main.dll calls AttachMGN function from one of the source file: #include "stdafx.h" #include "..\mgn\mgn.h" bool CreateClient() { return ::AttachMGN(); } mgn.dll compiles successfully. main.dll doesn't show any errors in VS text editor, I can navigate using "Go To Definition" function. However during build I get the error: error LNK2019: unresolved external symbol _imp_AttachMGN referenced in function "bool __cdecl CreateClient(void)" (?CreateClient@@AW4XZ) Both DLLs compile into the same folder. DependencyWalker shows the function AttachMGN as exported. Main project has a dependency set to Mgn project, if that matters. I believe that I simply have overlooked something.... Thanks in advance.

    Read the article

  • How to cast correctly a struct in C++

    - by kriau
    Consider a code excerpt below: typedef struct tagTHREADNAME_INFO { DWORD dwType; LPCTSTR szName; DWORD dwThreadID; DWORD dwFlags; } THREADNAME_INFO; const THREADNAME_INFO info = { 0x1000, threadName, CurrentId(), 0}; ::RaiseException(kVCThreadNameException, 0, sizeof(info) / sizeof(ULONG_PTR), (ULONG_PTR*)&info); How to cast correctly into ULONG_PTR* using C++ style cast? p.s. it's platform dependent code.

    Read the article

1