atributo const

O const palavra-chave modifica o tipo de uma declaração de tipo ou o tipo de um parâmetro de função, impedindo que o valor varie.

const const-type identifier = const-expression ;

[ typedef [ , type-attribute-list ] ] const const-type declarator-list;

[ typedef [ , type-attribute-list ] ] pointer-type const declarator-list;

[ [ function-attr-list ] ] type-specifier [ ptr-decl ] function-name(
    [ [ parameter-attribute-list ] ] ) const; 

const-type [declarator], [ [ parameter-attribute-list ] ] pointer-type const [declarator], ...);

Parâmetros

tipo const

Especifica um inteiro MIDL válido, um caractere, uma cadeia de caracteres ou um tipo booliano. Os tipos MIDL válidos incluem pequeno, curto, longo, char, charâ *, wchar_t, wchar_t *, byte, byte *e void *. Os tipos inteiro e de caractere podem ser assinados ou não assinados.

identifier

Especifica um identificador MIDL válido. Os identificadores MIDL válidos consistem em até 31 caracteres alfanuméricos e/ou sublinhados e devem começar com um caractere alfabético ou sublinhado.

const-expression

Especifica uma expressão, um identificador ou uma constante numérica ou de caractere apropriada para o tipo especificado: literais inteiros constantes ou expressões inteiros constantes para constantes inteiros; Expressões boolianas que podem ser computadas na compilação para tipos boolianos ; constantes de caractere único para tipos char ; e constantes de cadeia de caracteres para tipos [string] . O tipo void * só pode ser inicializado como NULL.

type-attribute-list

Especifica um ou mais atributos que se aplicam ao tipo .

tipo de ponteiro

Especifica um tipo de ponteiro MIDL válido.

declarator e declarator-list

Especifica declaradores C padrão, como identificadores, declaradores de ponteiro e declaradores de matriz. Para obter mais informações, consulte Atributos de matriz e Sized-Pointer, matrizes e matrizes e ponteiros. A lista de declaradores consiste em um ou mais declaradores, separados por vírgulas. O identificador de nome do parâmetro no declarador de função é opcional.

function-attr-list

Especifica zero ou mais atributos que se aplicam à função. Os atributos de função válidos são [retorno de chamada], [local]; o atributo de ponteiro [ref], [unique]ou [ptr]; e os atributos de uso [cadeiade caracteres], [ignorar]e [context_handle].

type-specifier

Especifica uma base_type, struct, união, tipo de enumeração ou identificador de tipo. Uma especificação de armazenamento opcional pode preceder o especificador de tipo.

ptr-decl

Especifica zero ou mais declaradores de ponteiro. Um declarador de ponteiro é o mesmo que o declarador de ponteiro usado em C. Ele é construído a partir do * designador, modificadores como far e o qualificador const.

nome da função

Especifica o nome do procedimento remoto.

parameter-attribute-list

Especifica zero ou mais atributos direcionais, atributos de campo, atributos de uso e atributos de ponteiro apropriados para o tipo de parâmetro especificado. Separe vários atributos com vírgulas.

Comentários

MIDL permite declarar tipos inteiros, caracteres, cadeias de caracteres e boolianos constantes no corpo da interface do arquivo IDL. As declarações de tipo Const são reproduzidas no arquivo de cabeçalho gerado como diretivas #define .

Os compiladores de IDL de DCE não dão suporte a expressões constantes. Portanto, esse recurso não está disponível quando você usa o comutador /osf do compilador MIDL.

Uma constante definida anteriormente pode ser usada como o valor atribuído de uma constante subsequente. O valor de uma expressão integral constante é convertido automaticamente no respectivo tipo inteiro de acordo com as regras de conversão C.

O valor de uma constante de caractere deve ser um caractere ASCII com aspas simples. Quando a constante de caractere é o próprio caractere de aspas simples ('), o caractere de barra invertida (\) deve preceder o caractere de aspa única, como em \'.

O valor de uma constante de cadeia de caracteres deve ser uma cadeia de caracteres entre aspas duplas. Dentro de uma cadeia de caracteres, o caractere de barra invertida (\) deve preceder um caractere literal de aspas duplas ( " ), como em \". Dentro de uma cadeia de caracteres, o caractere de barra invertida (\) representa um caractere de escape. As constantes de cadeia de caracteres podem consistir em até 255 caracteres.

O valor NULL é o único valor válido para constantes do tipo void *. Todos os atributos associados à declaração const são ignorados.

O compilador MIDL não marcar para erros de intervalo na inicialização const. Por exemplo, quando você especifica "const short x = 0xFFFFFFFF;" o compilador MIDL não relata um erro e o inicializador é reproduzido no arquivo de cabeçalho gerado.

Exemplos

const void *  p1        = NULL; 
const char    my_char1  = 'a'; 
const char    my_char2  = my_char1; 
const wchar_t my_wchar3 = L'a'; 
const wchar_t * pszNote = L"Note"; 
const unsigned short int x = 123; 
 
typedef [string] const char *LPCSTR; 
 
HRESULT GetName([out] wchar_t * const pszName );

Confira também

Matrizes

Tipos base MIDL

Boolean

Byte

retorno de chamada

Char

context_handle

Enum

Arquivo IDL (Definição de Interface)

Ignorar

Local

Longas

/Osf

Ptr

Ref

Curto

Assinado

Pequeno

string

Struct

union

Único

Unsigned

Vazio

wchar_t