Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. ATL / WTL / STL
  4. check if dll is registred as x32 or loaded to Out_of_process

check if dll is registred as x32 or loaded to Out_of_process

Scheduled Pinned Locked Moved ATL / WTL / STL
comquestionannouncement
2 Posts 2 Posters 4 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MrKBA
    wrote on last edited by
    #1

    I have a win32 COM which is developped to work as win32 and it can be registred to run as surrogate dll with client application x64. 1) Before modification of it to be called into out_of_procces,this dll use Microssoft.Jet.oledb.4 to connect and create mdb files.and this was working fine. 2) after the modification to let this dll be loadded by x64 application as surrogate and changing the Microsoft.Jet.oledb by Microsoft.ACE This dll not work now when version of office is x64. And this is normal because it is x32 Questions: - can i check at run time if the dll is registred as x32 or x64 ? - if yes can i define the driver of office related to the version of dll at run time Ie: If registred as 32 then use Microsoft.Jet.oledb Else if dll surrogate (x64) then use Microsoft.ACE Thank you

    L 1 Reply Last reply
    0
    • M MrKBA

      I have a win32 COM which is developped to work as win32 and it can be registred to run as surrogate dll with client application x64. 1) Before modification of it to be called into out_of_procces,this dll use Microssoft.Jet.oledb.4 to connect and create mdb files.and this was working fine. 2) after the modification to let this dll be loadded by x64 application as surrogate and changing the Microsoft.Jet.oledb by Microsoft.ACE This dll not work now when version of office is x64. And this is normal because it is x32 Questions: - can i check at run time if the dll is registred as x32 or x64 ? - if yes can i define the driver of office related to the version of dll at run time Ie: If registred as 32 then use Microsoft.Jet.oledb Else if dll surrogate (x64) then use Microsoft.ACE Thank you

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      Hi, Think outside the box. By calling the IsWow64Process function[^] you can detect whether or not you are loaded into a 32 or 64 bit process and act accordingly. Best Wishes, -David Delaune

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups