first_is

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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 toField in struct or union, interface parameter, interface method
RepeatableNo
Required attributesNone
Invalid attributesNone

For more information, see Attribute Contexts.

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

Show: