Abstraktní datové modely
Každá aplikace a každý operační systém mají abstraktní datový model. Mnoho aplikací explicitně nezpřístupňuje tento datový model, ale model vás provede způsobem, ve kterém je napsaný kód aplikace. V 32bitovém programovacím modelu (známém jako model ILP32) jsou celočíselné, dlouhé a ukazatele datové typy 32 bitů. Většina vývojářů tento model používala, aniž by si ho uvědomila. Pro historii rozhraní API Win32 to byl platný (i když ne nutně bezpečný) předpoklad, který je potřeba provést.
V 64bitovém systému Windows je tento předpoklad parity ve velikostech datových typů neplatný. Délka všech datových typů 64 bitů by ztrácela místo, protože většina aplikací nepotřebuje větší velikost. Aplikace ale potřebují ukazatele na 64bitová data a potřebují mít ve vybraných případech 64bitové datové typy. Tyto aspekty vedly k výběru abstraktního datového modelu s názvem LLP64 (nebo P64). V datovém modelu LLP64 se pouze ukazatele rozšíří na 64 bitů; všechny ostatní základní datové typy (celé číslo a dlouhé) zůstávají o délce 32 bitů.
Většina aplikací, které běží na 64bitovém systému Windows, bude zpočátku portována z 32bitového systému Windows. Je cílem, aby stejný zdroj, pečlivě napsaný, měl běžet v 32bitovém i 64bitovém systému Windows. Definování datového modelu neusnadní tento úkol. Prvním krokem je ale zajištění toho, aby datový model ovlivnil pouze datové typy ukazatelů. Druhým krokem je definování sady nových datových typů, které vývojářům umožňují automaticky velikost dat souvisejících s ukazateli. To umožňuje měnit velikost dat přidružených k ukazatelům při změně velikosti ukazatele z 32 bitů na 64 bitů. Základní datové typy zůstávají delší než 32 bitů, takže se nemění velikost dat na disku, data sdílená přes síť nebo data sdílená prostřednictvím souborů mapovaných v paměti. To vývojářům zmírní většinu úsilí spojeného s přenosem 32bitového kódu do 64bitového systému Windows.
Tyto nové datové typy byly přidány do souborů hlaviček rozhraní API systému Windows. Proto můžete začít používat nové typy. Další informace naleznete v tématu Nové datové typy.