From: JY on
Hi,

I'm use the DriverPackagePreinstall() API in my application to pre-install a
driver. This works on 32 bit systems but not on 64-bit systems. I get a
ERROR_IN_WOW64 on 64-bit systems.

I know that the DIFxAPI has different versions of the DLL for 32 and 64 bit,
but when I try to use any of those it causes a crash. I believe to use the
64-bit DLL, I would also have to link with a different lib file, but there
are quite a few of them in when WinDDK is installed, so which do I use for
Vista 64-bit? I tried using some 64-bit ones but it gave me some linker
errors.

Also, do I have to build separate EXEs to support 64-bit and 32-bit systems?

TIA,
JY
From: Mike [MSFT] on
> Also, do I have to build separate EXEs to support 64-bit and 32-bit
> systems?

The answer is yes and that is probably the key to your issue.

-Mike

"JY" <sd(a)nospamgroup.com> wrote in message
news:CA3E0143-8341-444F-B689-2D17D90A2E0E(a)microsoft.com...
> Hi,
>
> I'm use the DriverPackagePreinstall() API in my application to pre-install
> a
> driver. This works on 32 bit systems but not on 64-bit systems. I get a
> ERROR_IN_WOW64 on 64-bit systems.
>
> I know that the DIFxAPI has different versions of the DLL for 32 and 64
> bit,
> but when I try to use any of those it causes a crash. I believe to use the
> 64-bit DLL, I would also have to link with a different lib file, but there
> are quite a few of them in when WinDDK is installed, so which do I use for
> Vista 64-bit? I tried using some 64-bit ones but it gave me some linker
> errors.
>
> Also, do I have to build separate EXEs to support 64-bit and 32-bit
> systems?
>
> TIA,
> JY

From: Tim Roberts on
JY <sd(a)nospamgroup.com> wrote:
>
>I know that the DIFxAPI has different versions of the DLL for 32 and 64 bit,
>but when I try to use any of those it causes a crash. I believe to use the
>64-bit DLL, I would also have to link with a different lib file, but there
>are quite a few of them in when WinDDK is installed, so which do I use for
>Vista 64-bit? I tried using some 64-bit ones but it gave me some linker
>errors.

A 64-bit DLL can only be linked with a 64-bit EXE. You'll have to build it
both ways.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.
From: JY on
What about the lib files to be used when building a 64-bit EXE?
Like I said, there are different libs available even for 64 bit AMD
processors. How do I know which lib to link with? Is there any documentation
at all available on the usage?

Thanks,
Jy


"Mike [MSFT]" wrote:

> > Also, do I have to build separate EXEs to support 64-bit and 32-bit
> > systems?
>
> The answer is yes and that is probably the key to your issue.
>
> -Mike
>
> "JY" <sd(a)nospamgroup.com> wrote in message
> news:CA3E0143-8341-444F-B689-2D17D90A2E0E(a)microsoft.com...
> > Hi,
> >
> > I'm use the DriverPackagePreinstall() API in my application to pre-install
> > a
> > driver. This works on 32 bit systems but not on 64-bit systems. I get a
> > ERROR_IN_WOW64 on 64-bit systems.
> >
> > I know that the DIFxAPI has different versions of the DLL for 32 and 64
> > bit,
> > but when I try to use any of those it causes a crash. I believe to use the
> > 64-bit DLL, I would also have to link with a different lib file, but there
> > are quite a few of them in when WinDDK is installed, so which do I use for
> > Vista 64-bit? I tried using some 64-bit ones but it gave me some linker
> > errors.
> >

From: Tim Roberts on
JY <sd(a)nospamgroup.com> wrote:
>
>What about the lib files to be used when building a 64-bit EXE?
>Like I said, there are different libs available even for 64 bit AMD
>processors.

There are exactly three sets of libraries. The x86 libraries are for use
with 32-bit apps. The ia64 libraries are for use with 64-bit Itanium
processors, which no one really has in real life. ;) The amd64 libraries
are for all of the 64-bit processors you are likely to find in the wild --
AMD64 and EM64T (or Intel64, as they are now calling it).

>How do I know which lib to link with? Is there any documentation
>at all available on the usage?

On the usage of what?
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.