first_is
The latest version of this topic can be found at first_is.
Specifies the index of the first array element to be transmitted.
Syntax
[ first_is(
"expression"
) ]
Parameters
expression
One or more C-language expressions. Empty argument slots are allowed.
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[]);
};
Requirements
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.
See Also
IDL Attributes
Typedef, Enum, Union, and Struct Attributes
Parameter Attributes
last_is
max_is
length_is
size_is
Attributes Samples