次の方法で共有


out 属性

[out] 属性は、呼び出されたプロシージャから呼び出し元のプロシージャ (サーバーからクライアント) に返されるポインター パラメーターを識別します。

[ [function-attribute-list] ] type-specifier [pointer-declarator] function-name(
    [ out [ , parameter-attribute-list ] ] type-specifier [declarator]
    , ...
);

パラメーター

function-attribute-list

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

type-specifier

base_type構造体共用体、または列挙型または型識別子を指定します。 オプションのストレージ仕様は 、type-specifier の前に置くことができます。

pointer-declarator

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

function-name

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

parameter-attribute-list

指定したパラメーター型に適した 0 個以上の属性を指定します。 [out] 属性を持つパラメーター属性は、方向属性 [out] を取得することもできます。フィールド属性 [first_is]、[last_is]、[length_is]、[max_is]、[size_is]、および [switch_type];pointer 属性 [ref]、[unique]、または [ptr];と 使用法属性 [context_handle] と [string]。 usage 属性 [ignore] をパラメーター属性として使用することはできません。 複数の属性をコンマで区切ります。

declarator

識別子、ポインター宣言子、配列宣言子などの標準宣言子を指定します。 詳細については、「 配列とSized-Pointer属性配列、配列と ポインター」を参照してください。 関数宣言子のパラメーター宣言子 (パラメーター名など) は省略可能です。

解説

[out] 属性は、ポインターとして機能するパラメーターとそれに関連するメモリ内のデータが、呼び出されたプロシージャから呼び出し元のプロシージャに返されることを示します。

[out] 属性はポインターである必要があります。 DCE IDL コンパイラでは、パラメーター宣言にポインター宣言子として明示的な * が存在する必要があります。 Microsoft IDL には、この要件を削除し、配列または以前に定義されたポインター型を許可する拡張機能が用意されています。

関連する属性 [in] は、呼び出し元のプロシージャから呼び出されたプロシージャにパラメーターが渡されることを示します。 [in] 属性と [out] 属性は、パラメーターを渡す方向を指定します。 パラメーターは、[in]-only、[out]-only、または [in, out] として定義できます。

[出力] のみのパラメーターは、リモート プロシージャが呼び出され、オブジェクトのメモリがサーバーによって割り当てられると、未定義であると見なされます。 最上位のポインター/パラメーターは常に有効なストレージを指す必要があるため、NULL にすることはできません。最上位の [一意] または [ptr] ポインターに [out] を適用することはできません。 [unique] または [ptr] ポインターであるパラメーターは、[in] または [in, out] のいずれかのパラメーターである必要があります。

HRESULT MyFunction([out] short * pcount);

関連項目

配列

MIDL 基本型

コールバック (callback)

const

context_handle

Enum

first_is

無視

インチ

last_is

length_is

地元の

max_is

Ptr

参考

size_is

文字列

構造 体

switch_type

連合

unique