out 特性

[out] 属性标识从调用过程返回到调用过程 (从服务器到客户端) 的指针参数。

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

参数

function-attribute-list

指定应用于函数的零个或多个属性。 有效的函数属性为 [callback], [local];指针属性 [ref]、 [unique]或 [ptr];和用法属性 [string]、 [ignore]和 [context_handle]。

type-specifier

指定 base_type结构联合枚举 类型或类型标识符。 可选的存储规范可以位于 类型说明符之前。

pointer-declarator

指定零个或多个指针声明符。 指针声明符与 C 中使用的指针声明符相同;它由 * 设计器、修饰符(如 far)和限定符 const 构造。

function-name

指定远程过程的名称。

parameter-attribute-list

指定适用于指定参数类型的零个或多个属性。 具有 [out] 属性的参数属性还可以采用方向属性 [out];字段属性 [first_is]、[last_is]、[length_is]、[max_is]、[size_is]和 [switch_type];指针属性 [ref]、 [unique]或 [ptr];和用法属性 [context_handle] 和 [string]。 用法属性 [ignore] 不能用作参数属性。 用逗号分隔多个属性。

declarator

指定标准声明符,例如标识符、指针声明符和数组声明符。 有关详细信息,请参阅 数组和Sized-Pointer属性数组数组和指针。 函数声明符中的参数声明符(如参数名称)是可选的。

注解

[out] 属性指示将充当指针的参数及其内存中的关联数据从调用过程传回调用过程。

[out] 属性必须是指针。 DCE IDL 编译器需要显式 * 作为参数声明中的指针声明符。 Microsoft IDL 提供了一个扩展,可删除此要求,并允许数组或以前定义的指针类型。

相关属性 [in]指示参数从调用过程传递到调用过程。 [in] 和 [out] 属性指定参数传递的方向。 参数可以定义为 [in]-only、[out]-only 或 [inout]。

An [out]-only parameter is assumed to be undefined when the remote procedure is called and memory for the object is allocated by the server. 由于顶级指针/参数必须始终指向有效的存储,因此不能为 NULL,因此 [out] 不能应用于顶级 [一] 或 [ptr] 指针。 [unique] 或 [ptr] 指针的参数必须是 [in] 或 [inout] 参数。

示例

HRESULT MyFunction([out] short * pcount);

另请参阅

阵 列

MIDL 基类型

回调 (callback)

const

context_handle

枚举

first_is

忽略

in

last_is

length_is

当地

max_is

ptr

裁判

size_is

字符串

结构

switch_type

union

独特