title: IN/OUT Parameters and how to work with them in C++
body: <p>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.</p>
  
  <p>Here is an example of a function I have come across that tells me it needs an [IN/OUT] parameter:</p>
  
  <p><strong>Prototype:</strong>
  ULONG GetActivationState( ULONG * pActivationState );</p>
  
  <p><strong>Parameters</strong></p>
  
  <ul>
  <li><strong>Type:</strong> ULONG*</li>
  <li><strong>Variable</strong>: pActivationState</li>
  <li><strong>Mode</strong>: IN/OUT</li>
  </ul>