Export (0) Print
Expand All

range

Specifies a range of allowable values for arguments or fields whose values are set at run time.

[ range(
   low, 
   high
) ]

Parameters

low
The low range value.
high
The high range value.

Attribute Context

Applies to Interface method, interface parameter
Repeatable No
Required attributes None
Invalid attributes None

For more information about the attribute contexts, see Attribute Contexts.

Remarks

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

Example

// cpp_attr_ref_range.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];

[object, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]
__interface ICustom
{
   HRESULT Custom([in] long l, [out, retval] long *pLong);
   HRESULT length_is1([in, range(0, 999)] long f, [in, length_is(f)] char array[10]);
   HRESULT length_is2([in, range(-99, -1)] long f, [in, length_is("f"), size_is(10)] char *array);
};

See Also

IDL Attributes | Method Attributes | Parameter Attributes | Data Member Attributes | Attributes Samples

Show:
© 2015 Microsoft