Condividi tramite


Tipi di base

Per evitare i problemi che i tipi di dati dipendenti dall'implementazione possono causare in architetture di computer diverse, MIDL definisce i propri tipi di dati di base.

Tipo base Descrizione
boolean Elemento di dati che può avere il valore TRUE o FALSE.
byte È garantito che un elemento dati a 8 bit venga trasmesso senza alcuna modifica.
Char Elemento dati carattere senza segno a 8 bit.
double Numero a virgola mobile a 64 bit.
float Numero a virgola mobile a 32 bit.
handle_t Handle primitivo che può essere usato per l'associazione RPC o la serializzazione dei dati.
hyper Un numero intero a 64 bit che può essere dichiarato come con segno o senza segno può essere definito anche _int64.
int Intero a 32 bit che può essere dichiarato come con segno o senza segno.
__int3264 Parola chiave che specifica un tipo integrale con proprietà a 32 bit o a 64 bit.
Lungo Modificatore per int che indica un numero intero a 32 bit. Può essere dichiarato come firmato o senza segno.
short Intero a 16 bit che può essere dichiarato come con segno o senza segno.
Piccolo Modificatore per int che indica un numero intero a 8 bit. Può essere dichiarato come firmato o senza segno.
wchar_t Tipo di caratteri wide supportato come estensione Microsoft per IDL. Pertanto, questo tipo non è disponibile se si compila usando l'opzione /osf .

 

Il file di intestazione Rpcndr.h fornisce definizioni per la maggior parte di questi tipi di dati di base. La parola chiave int viene riconosciuta ed è trasmessa su piattaforme a 32 bit. Nelle piattaforme a 16 bit il tipo di dati int richiede un modificatore, ad esempio short o long, per specificarne la lunghezza.

Anche se void * * viene riconosciuto come tipo di puntatore generico dallo standard ANSI C, MIDL limita l'utilizzo. Ogni puntatore usato in un'operazione remota o di serializzazione deve puntare a tipi di base o tipi costruiti da tipi di base. Esiste un'eccezione: gli handle di contesto vengono definiti come tipi void . Per altre informazioni, vedere Handle di contesto.