Basistypen
Om te voorkomen dat de implementatieafhankelijke gegevenstypen verschillende computerarchitecturen kunnen veroorzaken, definieert MIDL zijn eigen basisgegevenstypen.
Basistype | Beschrijving |
---|---|
Booleaanse | Een gegevensitem met de waarde TRUE of FALSE. |
byte | Een 8-bits gegevensitem wordt gegarandeerd zonder enige wijziging verzonden. |
teken | Een 8-bits niet-ondertekend tekengegevensitem. |
dubbele | Een 64-bits drijvendekommagetal. |
float- | Een 32-bits drijvendekommagetal. |
handle_t | Een primitieve ingang die kan worden gebruikt voor RPC-binding of het serialiseren van gegevens. |
hyper- | Een 64-bits geheel getal dat kan worden gedeclareerd als ondertekende of niet-ondertekende Kan ook worden aangeduid als _int64. |
Een 32-bits geheel getal dat kan worden gedeclareerd als ondertekende of niet-ondertekende. | |
__int3264 | Een trefwoord dat een integraal type aangeeft dat 32-bits of 64-bits eigenschappen heeft. |
lange | Een wijzigingsfunctie voor int die een 32-bits geheel getal aangeeft. Kan worden gedeclareerd als ondertekend of niet-ondertekende. |
korte | Een 16-bits geheel getal dat kan worden gedeclareerd als ondertekende of niet-ondertekende. |
kleine | Een wijzigingsfunctie voor int die een 8-bits geheel getal aangeeft. Kan worden gedeclareerd als ondertekend of niet-ondertekende. |
wchar_t | Breed tekentype dat wordt ondersteund als een Microsoft-extensie voor IDL. Dit type is daarom niet beschikbaar als u compileert met behulp van de /osf switch. |
Het headerbestand Rpcndr.h biedt definities voor de meeste van deze basisgegevenstypen. Het trefwoord int wordt herkend en kan worden verzonden op 32-bits platforms. Op 16-bits platforms vereist het int gegevenstype een wijziging, zoals korte of lange, om de lengte ervan op te geven.
Hoewel void * * wordt herkend als een algemeen aanwijzertype door de ANSI C-standaard, beperkt MIDL het gebruik ervan. Elke aanwijzer die in een externe bewerking of serialisatiebewerking wordt gebruikt, moet verwijzen naar basistypen of typen die zijn samengesteld op basistypen. (Er is een uitzondering: contextgrepen worden gedefinieerd als ongeldige typen. Zie voor meer informatie contextgrepen.)