base_types
Remarks
All data
transmitted on the network during a remote procedure call must resolve to a
base type or predefined type.
MIDL supports
the following base types: int, boolean, byte, char,
double, float, handle_t, hyper, long, short,
small, and void *. The keywords signed and unsigned
can be used to qualify integer and character types. MIDL also provides the
predefined types error_status_t and wchar_t.
Base types
can appear as type specifiers in const declarations, typedef
declarations, general declarations, and as parameter type specifiers in
function declarators.
The base and
predefined types have the following default signs and sizes:
Base
type |
Default
sign |
Description |
boolean |
unsigned |
8-bit data
item |
byte |
- (not
applicable) |
8-bit data
item |
char |
unsigned |
8-bit
unsigned data item |
double |
- |
64-bit
floating-point number |
float |
- |
32-bit
floating-point number |
handle_t |
- |
Primitive
handle type |
hyper |
signed |
64-bit
signed integer |
int |
signed |
32-bit
signed integer |
long |
signed |
32-bit
signed integer |
short |
signed |
16-bit
signed integer |
small |
signed |
8-bit
signed integer |
void * |
- |
32-bit
context handle pointer type |
wchar_t |
unsigned |
16-bit
unsigned data item |
Any other
types in the interface must be derived from these base or predefined types. The
following restrictions apply to data types in interfaces:
On 16-bit platforms, the type int
cannot appear in remote functions without a size qualifier such as short,
small, long or hyper.
The type void * cannot
appear in remote functions except when it is used to define a context handle.
DCE IDL compilers do not
recognize the keyword signed. Therefore, this feature is not available
when you use the MIDL compiler /osf switch.
See Also