Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
De nya datatyperna innehåller två polymorfa typer, INT_PTR och LONG_PTR. I 32-bitars Windows motsvarar INT_PTRint och LONG_PTR motsvarar long. I 64-bitars Windows mappas båda typerna till den __int64 inbyggda typen. MIDL-kompilatorn stöder dessa typer för fjärrproceduranrop, men det finns en inbyggd begränsning som du måste tänka på när du använder dem i en distribuerad miljö. Se till att kommentera koden i enlighet med detta.
Oavsett plattformsstorlek är trådstorleken för dessa polymorfa typer alltid 32 bitar. Vid avkodning i ett 64-bitars Windows-system utökar körbiblioteket tecknet för signerade värden och tilldelar noll till de högre ordningsbyten för osignerade värden. När du sätter ett 64-bitarsvärde på kabeln trunkerar körtiden de högre ordningsbytena. Därför kan endast 32-bitarsvärden i låg ordning användas.
Använd endast de polymorfa typerna när det behövs för portning. För nya gränssnitt använder du de inbyggda MIDL-heltalstyperna __int32 och __int64, eller använder en pekartyp eller kontextreferens, beroende på vilket som är lämpligast för den typ av data som överförs.
64-bitars kompilatorn stöder en ny polymorf inbyggd __int3264. Återigen utvecklades denna datatyp för att stödja portningsinsatser, i detta fall för att transparent stödja UINT_PTR datatyper. (En annan inbyggd, __long3264, kommer att stödja ULONG_PTR typen.) Använd inte __int3264 direkt; använd INT_PTR typ när du behöver en polymorf typ för portningsändamål.