[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference decwet::visual

Title:Microsoft Visual C++ bug reports and kits
Notice:Register in Topic 2. 5.Last for latest Kit
Moderator:DECWET::THOMASN
Created:Tue May 17 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:521
Total number of notes:2938

512.0. "moving routines between DLL's, how to?" by RTL::HILLIARD () Tue May 06 1997 16:07

I have a DLL problem I need some help with.  Routines that I
used to have in one DLL are now in another DLL.  I'd like to
make a new version of the original DLL that, for each entry
point, transfers control to the routine in the second DLL.
It's been suggested that there is functionality in the linker
to solve just this problem, but I can't find a description of
it.  For example, from a dump of exports in kernel32.dll, it
looks like some routines were moved to ntdll.dll:

link /dump /exports %SYSTEMROOT%\system32\kernel32.dll

.
.
.
454  1C5   RtlCaptureContext (forwarded to NTDLL.RtlCaptureContext)
455  1C6   RtlFillMemory (forwarded to NTDLL.RtlFillMemory)
456  1C7   RtlLookupFunctionEntry (forwarded to NTDLL.RtlLookupFunctionEntry)
457  1C8   RtlMoveMemory (forwarded to NTDLL.RtlMoveMemory)
458  1C9   RtlUnwind (forwarded to NTDLL.RtlUnwind)
459  1CA   RtlUnwindReturn (forwarded to NTDLL.RtlUnwindReturn)
460  1CB   RtlUnwindRfp (forwarded to NTDLL.RtlUnwindRfp)
461  1CC   RtlVirtualUnwind (forwarded to NTDLL.RtlVirtualUnwind)
462  1CD   RtlZeroMemory (forwarded to NTDLL.RtlZeroMemory)
.
.
.

Can someone explain the details on how to use this capability or
point me to some documentation on it?

Thanks

Bill
T.RTitleUserPersonal
Name
DateLines
512.1try thisDECWET::MVBMonty VanderBiltThu May 08 1997 09:5210
I haven't tried this but I think this is how it would be done in the
<dll>.def file based on examples I've seen:

    RtlCaptureContext = NTDLL.RtlCaptureContext
    RtlLookupFunctionEntry = NTDLL.RtlLookupFunctionEntry
    RtlUnwindReturn = NTDLL.RtlUnwindReturn
    RtlUnwindRfp = NTDLL.RtlUnwindRfp
    RtlVirtualUnwind = NTDLL.RtlVirtualUnwind
                     
    etc...
512.2DECCXL::OUELLETTEmudseason into blackfly seasonThu May 08 1997 12:466
Yesterday I hunted around in the MS VC++ documentation
for 30 minutes looking for this stuff & couldn't find
anything.  I think mail to the VC++ document writers
would be very helpful in getting this documented...

R.