英語で読む

次の方法で共有


const 属性

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

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 型には、 smallshortlongchar、charÂ*wchar_twchar_t *bytebyte *void * が含まれます。 整数型と文字型は 、符号 付きまたは 符号なしにすることができます

identifier

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

const-expression

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

type-attribute-list

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

pointer-type

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

declarator と declarator-list

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

function-attr-list

関数に適用される 0 個以上の属性を指定します。 有効な関数属性は [callback], [local];ポインター属性 [ref][unique]、または [ptr];および usage 属性 [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

バイト

コールバック (callback)

Char

context_handle

Enum

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

無視

地元の

長い

/Osf

Ptr

参考

短い

署名

小さな

文字列

構造 体

連合

一意

符号 なし

無効

wchar_t