IN / OUT Parameters e como trabalhar com eles em C ++

Ao ler a documentação sobre funções de bibliotecas externas de diferentes tipos, sempre vi a documentação declarar que uma variável deve ser [IN / OUT]. Alguém poderia me dar uma compreensão detalhada de como [IN / OUT] se relaciona com os parâmetros de uma função que são passados por referência ou por valor.

Aqui está um exemplo de uma função que me deparei que me diz que precisa de um parâmetro [IN / OUT]:

Protótipo ULONG GetActivationState (ULONG * pActivationState);

Parâmetros

Tipo ULONG *Variáve: pActivationStateMod: IN / OUT

questionAnswers(6)

yourAnswerToTheQuestion