Udostępnij przez


Typy podstawowe

Aby zapobiec problemom, które mogą powodować typy danych zależnych od implementacji w różnych architekturach komputerów, MIDL definiuje własne podstawowe typy danych.

Typ podstawowy Opis
logiczne Element danych, który może mieć wartość true lub FALSE.
bajtów 8-bitowy element danych gwarantowany do przesyłania bez żadnej zmiany.
char 8-bitowy niepodpisany element danych znaków.
podwójne 64-bitowa liczba zmiennoprzecinkowa.
zmiennoprzecinkowych 32-bitowa liczba zmiennoprzecinkowa.
handle_t Dojście pierwotne, którego można użyć do powiązania RPC lub serializacji danych.
hyper 64-bitowa liczba całkowita, którą można zadeklarować jako podpisaną lub bez znaku Można również określać jako _int64.
int 32-bitowa liczba całkowita, którą można zadeklarować jako podpisaną lub bez znaku.
__int3264 Słowo kluczowe określające typ całkowity, który ma właściwości 32-bitowe lub 64-bitowe.
długie Modyfikator int wskazujący 32-bitową liczbę całkowitą. Można zadeklarować jako podpisane lub bez znaku.
krótkie 16-bitowa liczba całkowita, którą można zadeklarować jako podpisaną lub bez znaku.
małych Modyfikator int wskazujący 8-bitową liczbę całkowitą. Można zadeklarować jako podpisane lub bez znaku.
wchar_t Typ szerokiego znaku obsługiwany jako rozszerzenie firmy Microsoft do języka IDL. W związku z tym ten typ nie jest dostępny, jeśli kompilujesz przy użyciu przełącznika /osf.

 

Plik nagłówkowy Rpcndr.h zawiera definicje dla większości tych podstawowych typów danych. Słowo kluczowe int jest rozpoznawane i można przesyłać na platformach 32-bitowych. Na 16-bitowych platformach typ danych wymaga modyfikatora, takiego jak krótki lub długi, aby określić jego długość.

Mimo że void * * jest rozpoznawany jako ogólny typ wskaźnika według standardu ANSI C, MIDL ogranicza jego użycie. Każdy wskaźnik używany w operacji zdalnej lub serializacji musi wskazywać typy podstawowe lub typy skonstruowane z typów podstawowych. (Istnieje wyjątek: uchwyty kontekstowe są definiowane jako void typów. Aby uzyskać więcej informacji, zobacz Context Handles.)