Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
in
id
in
int
odl
out
ptr
ref
Collapse the table of content
Expand the table of content

in attribute

The [in] attribute indicates that a parameter is to be passed from the calling procedure to the called procedure.


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

Parameters

function-attribute-list

Specifies zero or more attributes that apply to the function. Valid function attributes are [callback], [local], the pointer attribute [ref], [unique], or [ptr], and the usage attributes [string], [ignore], and [context_handle].

type-specifier

Specifies a base_type, struct, union, or enum type or type identifier. An optional storage specification can precede type-specifier.

pointer-declarator

Specifies zero or more pointer declarators. A pointer declarator is the same as the pointer declarator used in C; it is constructed from the * designator, modifiers such as far, and the qualifier const.

function-name

Specifies the name of the remote procedure.

parameter-attribute-list

Specifies zero or more attributes appropriate for the specified parameter type. Parameter attributes with the [in] attribute can also take the directional attribute [out]; the field attributes [first_is], [last_is], [length_is], [max_is], [size_is] and [switch_type]; the pointer attribute [ref], [unique], or [ptr]; and the usage attributes [context_handle] and [string]. The usage attribute [ignore] cannot be used as a parameter attribute. Separate multiple attributes with commas.

declarator

Specifies standard C declarators, such as identifiers, pointer declarators, and array declarators. For more information, see Array and Sized-Pointer Attributes, arrays, and Arrays and Pointers. The parameter declarator in the function declarator, such as the parameter name, is optional.

Remarks

The [in] attribute has a converse attribute, [out], which indicates that a parameter is to be returned from the called procedure to the calling procedure. The [in] and [out] attributes are known as directional parameter attributes because they specify the direction in which parameters are passed. A parameter can be defined as [in], [out], or [in, out].

The [in] attribute identifies parameters that are marshaled by the client stub for transmission to the server.

The [in] attribute is applied to a parameter by default when no directional parameter attribute is specified.

Examples

HRESULT MyFunction([in] short count);

See also

Interface Definition (IDL) File
midl_user_allocate
out

 

 

Community Additions

ADD
Show:
© 2015 Microsoft