Export (0) Print
Expand All

first_is

Specifies the index of the first array element to be transmitted.

[ first_is(
   "expression"
) ]

Parameter

expression
One or more C-language expressions. Empty argument slots are allowed.

Attribute Context

Applies to Field in struct or union, interface parameter, interface method
Repeatable No
Required attributes None
Invalid attributes None

For more information, see Attribute Contexts.

Remarks

The first_is C++ attribute has the same functionality as the first_is MIDL attribute.

Example

The following code shows various ways to specify a section in an array:

// cpp_attr_ref_first_is.cpp
// compile with: /LD
#include "windows.h"
#include "unknwn.h"

[module(name="MyLib")];

[object, uuid(11111111-1111-1111-1111-111111111111)]
__interface b 
{
   [id(0), propget, bindable, displaybind, defaultbind, 
requestedit] HRESULT get_I([out, retval]long *i);
   HRESULT Proc1([in] short First, [in] short Last, 
[first_is(First), last_is(Last), size_is(Last-First)] char Arr1[]); 
   HRESULT Proc2([in] short First, [in] short Last, 
[last_is(First), size_is(Last)] char Arr2[]);
};

See Also

IDL Attributes | Typedef, Enum, Union, and Struct Attributes | Parameter Attributes | last_is | max_is | length_is | size_is | Attributes Samples

Show:
© 2014 Microsoft