first_is
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

first_is 

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


[ first_is(
   "expression"
) ]

Parameters

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:
© 2016 Microsoft