Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rona Lustig Senior Consultant Microsoft Consulting Services

Similar presentations


Presentation on theme: "Rona Lustig Senior Consultant Microsoft Consulting Services"— Presentation transcript:

1

2 Rona Lustig Senior Consultant Microsoft Consulting Services Ronalus@microsoft.com

3 Development Tools for the job How long is an integer? Where am I? WoW Mix and match Migration Where to go from here?

4 Tools for the Job Visual Studio 2003 –.net framework 1.0, 1.1 Platform SDK –Cross compile Visual Studio 2005 –.net framework 2.0

5 Whidbey PSDK

6 How long is an integer? int, long – 32 bit (4 Byte) Ptr – 64 bit (8 Byte) Polymorphic data types –LRESULT, HANDLE, LPARAM, WPARAM –size_t intptr_t uintptr_t, … Don’t assume type sizes or data location –sizeof and FIELD_OFFSET are your friends

7 Alignment padding Win64 Win32 struct node { char *l; char s; struct tnode *prev; int i; struct node *next; } 48121620242832364812162024283236 Win64 4812162024283236 20% off

8 PoGO

9 Where am I? A 32-bit application can detect whether it is running under WOW64 by calling the IsWow64Process function. IsWow64Process It can obtain additional information about the processor using the GetNativeSystemInfo function. GetNativeSystemInfo

10 IsWow64Process System.environment

11 WoW! Windows on Windows 64 (WOW64) Preventing file and registry collisions Support cut and paste and COM In-process –32-bit processes CANNOT load 64-bit DLLs –64-bit processes CANNOT load 32-bit DLLs

12 Processes The registry The file system

13 Mix and match In-process –32-bit processes CANNOT load 64-bit DLLs –64-bit processes CANNOT load 32-bit DLLs Remote debugging –VS is 32bit –Your app may be 64 bit –How does VS interact with your app?

14 Visual Studio And runtime

15 No No Yes Yes Yes PE32 ILONL Y Not 32BITREQUIRED PE32+ launches 64bit Launches in WoW64 Remap to PE32+ and launch 64bit Launches in WoW64

16 Migration Need 64bit support for all components? Source unavailable? Dependency! –A 64bit app cannot invoke a 32bit DLL –Use EXE instead? Port both? …

17 General Porting Guidelines Testing –All supported environments –Interoperability –Different memory configurations Treat your 64-bit version As a separate product release

18 Installer Applications NO 16 bit installer applications supported –Except for recognized InstallShield and ACME installers –16 bit setup bootstraps not supported 32-bit installer apps cannot load and register 64- bit DLLs and vice versa –Create a 64-bit process to register 64-bit DLL –Communicate using RPC Same process applies to 64-bit installers

19 Where to go from here?

20 http://msdn.microsoft.com/visualc/using/building/64bit/default.aspx

21 http://www.microsoft.com/windowsxp/64bit/techinfo/developers.asp

22 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/64bitwindows.asp

23 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "Rona Lustig Senior Consultant Microsoft Consulting Services"

Similar presentations


Ads by Google