Qual é o objetivo de __in __out __in_opt __allowed (), como eles funcionam? Devo usar construções semelhantes no meu próprio código?

Algumas dessas definições de pré-processador estão na função WinMain e outras funções da biblioteca do Windows. Qual é o seu propósito? Como eles funcionam? e é uma boa prática gravá-los em suas implementações ou chamadas de função?

Minha pesquisa inicial sugere que eles são configurados simplesmente como:

#define __in 
#define __out
#define __in_opt

Ou seja, eles são substituídos pornada na passagem de pré-processador. Eles são apenas um método de documentação, sem nenhuma funcionalidade?

Nesse caso, posso ver a vantagem de documentar o código na mesma linha. Com algo como doxygen, você precisa escrever os nomes dos parâmetros duas vezes. Portanto, isso poderia, em teoria, ajudar a reduzir a duplicação e manter a consistência ...

Eu não tenho teoria de como__allowed() deve funcionar.

questionAnswers(4)

yourAnswerToTheQuestion