次の方法で共有


const 属性

const キーワードは、型宣言の型または関数パラメーターの型を変更し、値が変化しないようにします。

const const-type identifier = const-expression ;

[ typedef [ , type-attribute-list ] ] const const-type declarator-list;

[ typedef [ , type-attribute-list ] ] pointer-type const declarator-list;

[ [ function-attr-list ] ] type-specifier [ ptr-decl ] function-name(
    [ [ parameter-attribute-list ] ] ) const; 

const-type [declarator], [ [ parameter-attribute-list ] ] pointer-type const [declarator], ...);

パラメーター

const-type

有効な MIDL 整数、文字、文字列、またはブール型を指定します。 有効な MIDL 型には、 smallshortlongcharchar *wchar_twchar_t *bytebyte *void * があります。 整数型と文字型は 、符号 付きまたは 符号なしにすることができます。

識別子

有効な MIDL 識別子を指定します。 有効な MIDL 識別子は、最大 31 文字の英数字またはアンダースコア文字で構成され、英字またはアンダースコア文字で始まる必要があります。

const-expression

指定した型に適した式、識別子、または数値または文字定数を指定します。整数定数の定数整数リテラルまたは定数整数式。ブール型のコンパイル時に計算できる ブール 式。 char 型の単一文字定数。 および [string] 型の文字列定数。 void * 型は NULL にのみ初期化できます。

type-attribute-list

型に適用される 1 つ以上の属性を指定します。

pointer-type

有効な MIDL ポインター型を指定します。

declarator と declarator-list

識別子、ポインター宣言子、配列宣言子など、標準の C 宣言子を指定します。 詳細については、「 配列と Sized-Pointer 属性配列、および 配列とポインター」を参照してください。 宣言子リストは、コンマで区切られた 1 つ以上の宣言子で構成されます。 関数宣言子のパラメーター名識別子は省略可能です。

function-attr-list

関数に適用される 0 個以上の属性を指定します。 有効な関数属性は [callback], [local]; です。ポインター属性 [ref][unique]、または [ptr];および使用法属性 [string][ignore]、および [context_handle]

type-specifier

base_type構造体共用体列挙型、または型識別子を指定します。 省略可能なストレージ仕様は、 型指定子の前に置くことができます

ptr-decl

0 個以上のポインター宣言子を指定します。 ポインター宣言子は、C で使用されるポインター宣言子と同じです。これは、 * 指定子、 far などの修飾子、および修飾子 const から構築 されます

function-name

リモート プロシージャの名前を指定します。

parameter-attribute-list

0 個以上の方向属性、フィールド属性、使用法属性、および指定したパラメーター型に適したポインター属性を指定します。 複数の属性をコンマで区切ります。

注釈

MIDL を使用すると、IDL ファイルのインターフェイス本体で定数整数、文字、文字列、およびブール型を宣言できます。 const 型宣言は、生成されたヘッダー ファイル内で #define ディレクティブとして再現されます。

DCE IDL コンパイラは定数式をサポートしていません。 したがって、MIDL コンパイラ /osf スイッチを使用する場合、この機能は使用できません。

以前に定義した定数は、後続の定数の代入値として使用できます。 定数整数式の値は、C 変換規則に従って、それぞれの整数型に自動的に変換されます。

文字定数の値は、単一引用符で囲まれた ASCII 文字である必要があります。 文字定数が単一引用符文字自体 (') の場合は、\' のように円記号 (\) の前に単一引用符文字を付ける必要があります。

文字列定数の値は、二重引用符で囲まれた文字列である必要があります。 文字列内では、\" のように、円記号 (\) 文字の前にリテラルの二重引用符 ( " ) を付けます。 文字列内では、円記号 (\) はエスケープ文字を表します。 文字列定数は、最大 255 文字で構成できます。

値 NULL、void * 型の定数に対する唯一の有効な値です。 const 宣言に関連付けられている属性はすべて無視されます。

MIDL コンパイラは、 const 初期化で範囲エラーをチェックしません。 たとえば、"const short x = 0xFFFFFFFF;" を指定すると、MIDL コンパイラはエラーを報告せず、初期化子は生成されたヘッダー ファイルに再現されます。

例示

const void *  p1        = NULL; 
const char    my_char1  = 'a'; 
const char    my_char2  = my_char1; 
const wchar_t my_wchar3 = L'a'; 
const wchar_t * pszNote = L"Note"; 
const unsigned short int x = 123; 
 
typedef [string] const char *LPCSTR; 
 
HRESULT GetName([out] wchar_t * const pszName );

こちらも参照ください

配列

MIDL 基本型

Boolean

バイト

コールバック

文字

context_handle

Enum

インターフェイス定義 (IDL) ファイル

無視

地元の

長い

/Osf

Ptr

参考

短い

署名

小さな

文字列

構造 体

連合

一意

符号 なし

無効

Wchar_t