Re: System-wide hooking, VB+ASM




"Sam Hobbs" <samuel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:ONSzsLuaFHA.3572@xxxxxxxxxxxxxxxxxxxxxxx
> "Simon Woods" <simonDELETECAPSjwoods@xxxxxxxxxxxx> wrote in message
> news:OobPF5maFHA.2128@xxxxxxxxxxxxxxxxxxxxxxx
> >
> >
> > Where I am is that I see a DLL as simply binary data in a particular
> > form/wrapping ... whatever. Why can't that binary data be placed into a
> > standard project in the same way as any other thunk and be used/invoked
> > (however that would be done) for system-wide hooking?
>
> I apologize if I am interpreting this out of context, but I think I can
> answer in a useful manner.

no need to apologise


> Another way of describing a DLL is as a collection of functions that can
be
> related but are not required to be realted to be in a DLL. I think you
know
> that but I am not sure.
>
> I think the problem is the VB runtime. It is very common for higher-level
> languages such as VB to have a runtime environment that must be
initialized
> somehow. The VB runtime environment is not a problem when an ActiveX
control
> is used by an applicaiton (a process) that does not use VB since
apparently
> VB builds into the ActiveX DLL code to initialize the runtime. When the
DLL
> is used in an application without the ActiveX being used and without VB
> being used by that application, then it is likely that the runtime does
not
> get initialized. That is my guess, but it seems likely to me that it is a
> problem that will prevent use of a DLL created by VB as a system-wide hook
> DLL.

I'd accept this if the hooking mechanism had a dependency upon VB RT. If the
hooking mechanism is an pre-written, pre-compiled thunk, surely there need
be no dependency upon the VB runtime so no initialisation would be required
....what am I missing?

Simon


.



Relevant Pages

  • Re: MAPIInitialize(NULL) used to fail after 10-15 successfully attempts!!!
    ... Application is a java code which loads this DLL from ... (initialize and uninitialize each time) ... What was the error when you left MAPI initialized? ... Why not call MAPIInitialize once when your app starts and leave MAPI ...
    (microsoft.public.win32.programmer.messaging)
  • Re: MAPIInitialize(NULL) used to fail after 10-15 successfully attempts!!!
    ... I dont know how to degug a dll using VC++. ... and MAPI Developer Tool ... (initialize and uninitialize each time) ... Why not call MAPIInitialize once when your app starts and leave MAPI ...
    (microsoft.public.win32.programmer.messaging)
  • TerminateExtenstion called twice in failed Initialization of ISAPI
    ... Initialization of the DLL fails in GetExtensionVersion. ... The chain of events that leads to the issue is when the call to initialize ... TerminateExtension is called within that failure case and the return value is ...
    (microsoft.public.vc.atl)
  • Re: Using COM in a non-ATL project.
    ... one exception though - if your DLL creates threads, ... can initialize COM on these threads (and only on the DLLs ... minimum specifying Win NT4 as the minimum platform). ... Microsoft MVP, MCSD ...
    (microsoft.public.vc.atl)
  • Re: Need some advice
    ... My dll has a class that must be initialized before any ... In the DEMO config, the static Initialize() ... I'm currently writing a remote deployment tool. ...
    (microsoft.public.dotnet.framework)

Loading