Types de base
Pour éviter les problèmes que les types de données dépendants de l’implémentation peuvent provoquer sur différentes architectures d’ordinateurs, MIDL définit ses propres types de données de base.
Type de base | Description |
---|---|
Boolean | Élément de données qui peut avoir la valeur TRUE ou FALSE. |
Octet | Élément de données 8 bits dont la transmission est garantie sans aucune modification. |
char | Élément de données caractères non signés 8 bits. |
Double | Nombre à virgule flottante 64 bits. |
Flotteur | Nombre à virgule flottante 32 bits. |
handle_t | Handle primitif qui peut être utilisé pour la liaison RPC ou la sérialisation des données. |
hyper | Entier 64 bits qui peut être déclaré comme signé ou non signé Peut également être appelé _int64. |
int | Entier 32 bits qui peut être déclaré comme signé ou non signé. |
__int3264 | Mot clé qui spécifie un type intégral qui a des propriétés 32 bits ou 64 bits. |
Long | Modificateur pour int qui indique un entier 32 bits. Peut être déclaré comme signé ou non signé. |
Court | Entier 16 bits qui peut être déclaré comme signé ou non signé. |
Petit | Modificateur pour int qui indique un entier 8 bits. Peut être déclaré comme signé ou non signé. |
wchar_t | Type de caractères larges pris en charge en tant qu’extension Microsoft à IDL. Par conséquent, ce type n’est pas disponible si vous compilez à l’aide du / commutateur osf. |
Le fichier d’en-tête Rpcndr.h fournit des définitions pour la plupart de ces types de données de base. Le mot clé int est reconnu et peut être transmis sur les plateformes 32 bits. Sur les plateformes 16 bits, le type de données int nécessite un modificateur, tel que court ou long, pour spécifier sa longueur.
Bien que void * * soit reconnu comme type de pointeur générique par la norme ANSI C, MIDL limite son utilisation. Chaque pointeur utilisé dans une opération distante ou de sérialisation doit pointer vers des types de base ou des types construits à partir de types de base. (Il existe une exception : les handles de contexte sont définis en tant que types void . Pour plus d’informations , consultez Handles de contexte.)