Partilhar via


Anotando estruturas e classes

Você poderá anotar a estrutura e classificar membros usando as anotações que atuam como invariants- se presume estarem verdadeiros em qualquer chamada de função ou funções de entrada/saída que envolve a estrutura incluindo como um ou um valor de resultado.

Estrutura da classe e anotações

Anotação

Descrição

_Field_range_(low, high)

O campo está no intervalo (-) de low a high.O equivalente a _Satisfies_(_Curr_ >= low && _Curr_ <= high) aplicada ao objeto anotado usando o apropriado pre ou condições de postagem.

_Field_size_(size)

_Field_size_opt_(size)

_Field_size_bytes_(size)

_Field_size_bytes_opt_(size)

Um campo que tem um tamanho modificável nos elementos ou (em bytes) como especificado por size.

_Field_size_part_(size, count)

_Field_size_part_opt_(size, count)

_Field_size_bytes_part_(size, count)

_Field_size_bytes_part_opt_(size, count)

Um campo que tem um tamanho modificável nos elementos ou (em bytes) como especificado por size, e count desses elementos (bytes) que são legíveis.

_Field_size_full_(size)

_Field_size_full_opt_(size)

_Field_size_bytes_full_(size)

_Field_size_bytes_full_opt_(size)

Um campo que tenha o tamanho legível e modificável nos elementos ou (em bytes) como especificado por size.

_Struct_size_bytes_(size)

Se aplica à declaração de estrutura ou da classe.Indica que um objeto válido desse tipo pode ser maior do que o tipo declarado, com o número de bytes que estão sendo especificados por size.Por exemplo:

typedef _Struct_size_bytes_(nSize)
struct MyStruct {
    size_t nSize;

};
 

O tamanho do buffer em bytes de pM um parâmetro de tipo MyStruct * é então ser colocada:

min(pM->nSize, sizeof(MyStruct))

Consulte também

Referência

Anotando parâmetros de função e valores de retorno

Anotando o comportamento da função

Anotando o comportamento de bloqueio

Especificando quando e onde uma anotação se aplica

Funções intrínsecas

Práticas recomendadas e exemplos (SAL)

Conceitos

Noções básicas sobre SAL

Outros recursos

Usando o SAL anotações para reduzir os defeitos no código C/C++