基底類型
為了避免實作相依數據類型在不同計算機架構上可能造成的問題,MIDL 會定義自己的基底數據類型。
基底類型 | 描述 |
---|---|
布爾值 | 資料項,其 值為 TRUE 或 FALSE。 |
位元組 | 保證不會有任何變更的情況下傳輸 8 位數據項。 |
char | 8 位無符號字元數據項。 |
雙 | 64 位浮點數。 |
float | 32 位浮點數。 |
handle_t | 可用於 RPC 系結或數據串行化的基本句柄。 |
hyper | 可宣告為 帶正負號 或 不帶正負號 的 64 位整數也可以稱為 _int64。 |
int | 可宣告為 帶正負號 或 無符號的 32 位整數。 |
__int3264 | 關鍵詞,指定具有32位或64位屬性的整數型別。 |
長 | int 的修飾詞,表示 32 位整數。 可以宣告為已簽署 或 未簽署。 |
簡短 | 可宣告為 帶正負號 或 不帶正負號的 16 位整數。 |
小型 | int 的修飾詞,表示 8 位整數。 可以宣告為已簽署 或 未簽署。 |
wchar_t | 支援做為IDL Microsoft延伸模組的寬字元類型。 因此,如果您使用 /osf 參數進行編譯,則無法使用此類型。 |
頭檔 Rpcndr.h 提供大部分這些基底數據類型的定義。 辨識 int 關鍵詞,且可在 32 位平台上傳輸。 在16位平臺上,int 數據類型需要修飾詞,例如 短 或 長,以指定其長度。
雖然 void * 是由 ANSI C 標準辨識為泛型指標類型,但 MIDL 會限制其使用方式。 遠端或串行化作業中使用的每個指標都必須指向從基底類型建構的基底類型或型別。 (有例外狀況:內容句柄定義為 void 類型。如需詳細資訊,請參閱 內容句柄。)