O corpo ACF
O corpo ACF contém atributos de configuração que se aplicam aos tipos e funções definidos no corpo da interface do arquivo IDL. O corpo ACF pode estar vazio ou pode conter ACF include, typedef, função e atributos de parâmetro. Todos esses itens são opcionais. Os atributos aplicados a tipos e funções individuais no corpo do ACF substituem os atributos no cabeçalho do ACF.
O ACF especifica o comportamento no computador local e não afeta os dados transmitidos pela rede. É usado para especificar detalhes de um stub a ser gerado. No modo de compatibilidade DCE (/osf), o ACF não afeta a interação entre stubs, mas entre o stub e o código do aplicativo.
Um parâmetro especificado no ACF deve ser um dos parâmetros especificados no arquivo IDL. A ordem de especificação do parâmetro no ACF não é significativa porque a correspondência é feita por nome e não por posição. A lista de parâmetros no ACF pode estar vazia, mesmo quando a lista de parâmetros na assinatura IDL correspondente não está (mas isso não é recomendado). Declaradores abstratos (parâmetros sem nome) no arquivo IDL fazem com que o compilador MIDL relate erros ao processar o ACF porque o parâmetro não foi encontrado.
A diretiva include do ACF especifica os arquivos de cabeçalho que aparecerão no cabeçalho gerado como parte de uma instrução padrão #include do pré-processador C. A palavra-chave include do ACF difere de uma diretiva #include. A palavra-chave include do ACF faz com que a linha "#include filename" apareça no arquivo de cabeçalho gerado, enquanto a diretiva da linguagem C "#include filename" faz com que o conteúdo desse arquivo seja colocado no ACF.
A instrução typedef do ACF permite aplicar atributos de tipo ACF a tipos previamente definidos no arquivo IDL. A sintaxe typedef do ACF difere da sintaxe C typedef.
Os atributos da função ACF permitem especificar atributos que se aplicam à função como um todo. Para obter mais informações, consulte [code], [optimize] e [nocode].
Os atributos de parâmetro ACF permitem especificar atributos que se aplicam a parâmetros individuais da função. Para obter mais informações, consulte [byte_count].