--- title: "Parameter Attributes | Microsoft Docs" ms.custom: "" ms.date: "11/04/2016" ms.reviewer: "" ms.suite: "" ms.technology: - "cpp-windows" ms.tgt_pltfrm: "" ms.topic: "language-reference" dev_langs: - "C++" helpviewer_keywords: - "attributes [C++], parameter attributes" - "parameter attributes" ms.assetid: 024c2dd5-49d7-4ced-a17a-c56c1bc485b6 caps.latest.revision: 7 author: "mikeblome" ms.author: "mblome" manager: "ghogen" translation.priority.ht: - "cs-cz" - "de-de" - "es-es" - "fr-fr" - "it-it" - "ja-jp" - "ko-kr" - "pl-pl" - "pt-br" - "ru-ru" - "tr-tr" - "zh-cn" - "zh-tw" --- # Parameter Attributes The following attributes apply to parameters of a method in a class or interface. |Attribute|Description| |---------------|-----------------| |[custom](../windows/custom-cpp.md)|Lets you define your own attribute.| |[defaultvalue](../windows/defaultvalue.md)|Allows specification of a default value for a typed optional parameter.| |[first_is](../windows/first-is.md)|Specifies the index of the first array element to be transmitted.| |[iid_is](../windows/iid-is.md)|Specifies the index of the first array element to be transmitted.| |[immediatebind](../windows/immediatebind.md)|Indicates that the database will be notified immediately of all changes to a property of a data-bound object.| |[in](../windows/in-cpp.md)|Indicates that a parameter is to be passed from the calling procedure to the called procedure.| |[last_is](../windows/last-is.md)|Specifies the index of the last array element to be transmitted.| |[lcid](../windows/lcid.md)|Lets you pass a locale identifier to a function.| |[length_is](../windows/length-is.md)|Specifies the number of array elements to be transmitted.| |[max_is](../windows/max-is.md)|Designates the maximum value for a valid array index.| |[optional](../windows/optional-cpp.md)|Specifies an optional parameter for a member function.| |[out](../windows/out-cpp.md)|Identifies pointer parameters that are returned from the called procedure to the calling procedure (from the server to the client).| |[range](../windows/range-cpp.md)|Specifies a range of allowable values for arguments or fields whose values are set at run time.| |[ref](../windows/ref-cpp.md)|Identifies a reference pointer.| |[retval](../windows/retval.md)|Designates the parameter that receives the return value of the member.| |[satype](../windows/satype.md)|Specifies the data type of the **SAFEARRAY** structure.| |[size_is](../windows/size-is.md)|Specifies the size of memory allocated for sized pointers, sized pointers to sized pointers, and single- or multidimensional arrays.| |[unique](../windows/unique-cpp.md)|Specifies a unique pointer.| ## See Also [Attributes by Usage](../windows/attributes-by-usage.md)