Usage type
|
Meaning
|
---|---|
in
|
Indicates the parameter is input.
|
output
|
Indicates the parameter is output.
|
in out
|
Indicates the parameter is input/output.
|
take
|
Applies only to a pointer parameter. It means that the parameter value is taken by the function. The caller cannot reference to the parameter after the function call. The function or an object created in the function is responsible for releasing the parameter when it is no longer needed.
|
hold
|
Applies only to a pointer parameter. It means that the function holds the parameter value even after the function call. The caller can reference to the parameter value after the function call and is responsible for releasing the parameter. Typically, this kind of parameter is passed to the constructor of some object which holds the pointer value inside a local data structure. The caller cannot release the parameter until the object that holds the parameter is deleted.
|
use
|
Applies only to a pointer parameter. It means that the parameter is just used during the function call. The caller can do whatever it wants with the parameter after the function call. This is the most common type of parameter passing.
|
ref
|
Applies only to out parameters. See "Return value" for details.
|
give
|
Applies only to out parameters. See "Return value" for details.
|
Usage type
|
Meaning
|
---|---|
ref
|
Indicates the caller can only reference the returned value, but cannot release it. Ensure that the returned value is not used after it is released by the object that returned it.
|
give
|
Indicates the function gives the returned value to the caller. The caller is responsible for releasing the returned value.
|