When reading documentation on functions from external libraries of different kinds I have always seen the documentation state that a variable has to be [IN/OUT]. Could someone give me a detailed understanding on how [IN/OUT] relates to parameters of a function being passed by reference or by value.
Here is an example of a function I have come across that tells me it needs an [IN/OUT] parameter:
Prototype: ULONG GetActivationState( ULONG * pActivationState );
Parameters
- Type: ULONG*
- Variable: pActivationState
- Mode: IN/OUT