Export (0) Print
Expand All

first_is

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

[ first_is( 
   "expression" 
) ]

expression

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

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

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[]);
};

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.

Show:
© 2014 Microsoft