Dela via


Bastyper

För att förhindra de problem som implementeringsberoende datatyper kan orsaka i olika datorarkitekturer definierar MIDL sina egna basdatatyper.

Bastyp Beskrivning
boolesk Ett dataobjekt som kan ha värdet TRUE eller FALSE.
byte Ett 8-bitars dataobjekt som garanterat överförs utan någon ändring.
tecken Ett 8-bitars dataobjekt med osignerade tecken.
dubbla Ett 64-bitars flyttalsnummer.
flyttal Ett 32-bitars flyttalsnummer.
handle_t Ett primitivt handtag som kan användas för RPC-bindning eller data serialisering.
hyper Ett 64-bitars heltal som kan deklareras som antingen signerade eller osignerade Kan även kallas _int64.
int Ett 32-bitars heltal som kan deklareras som antingen signerade eller osignerade.
__int3264 Ett nyckelord som anger en integrerad typ som har antingen 32-bitars eller 64-bitars egenskaper.
lång En modifierare för int som anger ett 32-bitars heltal. Kan deklareras som antingen signerad eller osignerad.
kort Ett 16-bitars heltal som kan deklareras som antingen signerade eller osignerade.
liten En modifierare för int som anger ett 8-bitars heltal. Kan deklareras som antingen signerad eller osignerad.
wchar_t Typ av brett tecken som stöds som ett Microsoft-tillägg till IDL. Därför är den här typen inte tillgänglig om du kompilerar med hjälp av /osf- växel.

 

Rubrikfilen Rpcndr.h innehåller definitioner för de flesta av dessa basdatatyper. Nyckelordet int identifieras och kan överföras på 32-bitarsplattformar. På 16-bitarsplattformar kräver int datatyp en modifierare, till exempel kort eller lång, för att ange dess längd.

Även om void * * identifieras som en allmän pekartyp av ANSI C-standarden, begränsar MIDL dess användning. Varje pekare som används i en fjärr- eller serialiseringsåtgärd måste peka på antingen bastyper eller typer som konstruerats från bastyper. (Det finns ett undantag: kontextreferenser definieras som void typer. Mer information finns i Context Handles.)