Tipos base
Para evitar los problemas que pueden causar tipos de datos dependientes de la implementación en diferentes arquitecturas de equipo, MIDL define sus propios tipos de datos base.
Tipo base | Descripción |
---|---|
Booleana | Un elemento de datos que puede tener el valor TRUE o FALSE. |
Byte | Se garantiza que se transmite un elemento de datos de 8 bits sin ningún cambio. |
Char | Un elemento de datos de caracteres sin signo de 8 bits. |
Doble | Número de punto flotante de 64 bits. |
FLOAT | Número de punto flotante de 32 bits. |
handle_t | Identificador primitivo que se puede usar para el enlace RPC o la serialización de datos. |
hyper | Entero de 64 bits que se puede declarar como firmado o sin signo También se puede denominar _int64. |
int | Entero de 32 bits que se puede declarar como firmado o sin signo. |
__int3264 | Palabra clave que especifica un tipo entero que tiene propiedades de 32 o 64 bits. |
Largo | Modificador para int que indica un entero de 32 bits. Se puede declarar como firmado o sin firmar. |
Corto | Entero de 16 bits que se puede declarar como firmado o sin signo. |
Pequeño | Modificador para int que indica un entero de 8 bits. Se puede declarar como firmado o sin firmar. |
wchar_t | Tipo de caracteres anchos que se admite como una extensión de Microsoft en IDL. Por lo tanto, este tipo no está disponible si se compila con el / modificador osf. |
El archivo de encabezado Rpcndr.h proporciona definiciones para la mayoría de estos tipos de datos base. La palabra clave int se reconoce y se transmite en plataformas de 32 bits. En plataformas de 16 bits, el tipo de datos int requiere un modificador, como short o long, para especificar su longitud.
Aunque void * * se reconoce como un tipo de puntero genérico por el estándar ANSI C, MIDL restringe su uso. Cada puntero usado en una operación remota o serialización debe apuntar a tipos base o tipos construidos a partir de tipos base. (Hay una excepción: los identificadores de contexto se definen como tipos void . Para obtener más información, vea Identificadores de contexto).