const özniteliği

const anahtar sözcüğü, bir tür bildiriminin türünü veya işlev parametresinin türünü değiştirerek değerin değişmesini engeller.

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], ...);

Parametreler

const-type

Geçerli bir MIDL tamsayısı, karakter, dize veya Boole türü belirtir. Geçerli MIDL türleri arasında küçük, kısa, uzun, char, char *, wchar_t, wchar_t *, bayt, bayt * ve geçersiz * bulunur. Tamsayı ve karakter türleri imzalanabilir veya işaretsiz olabilir.

tanımlayıcı

Geçerli bir MIDL tanımlayıcısı belirtir. Geçerli MIDL tanımlayıcıları en fazla 31 alfasayısal ve/veya alt çizgi karakterden oluşur ve alfabetik veya alt çizgi karakteriyle başlamalıdır.

const-expression

Belirtilen tür için uygun bir ifade, tanımlayıcı veya sayısal veya karakter sabiti belirtir: sabit tamsayı değişmez değerleri veya tamsayı sabitleri için sabit tamsayı ifadeleri; Boole türleri için derlemede hesaplanabilen Boole ifadeleri; karakter türleri için tek karakterli sabitler; ve [string] türleri için dize sabitleri. void * türü yalnızca NULL olarak başlatılabilir.

type-attribute-list

Türe uygulanan bir veya daha fazla özniteliği belirtir.

işaretçi türü

Geçerli bir MIDL işaretçi türü belirtir.

bildirimci ve bildirimci-listesi

Tanımlayıcılar, işaretçi bildirimcileri ve dizi bildirimcileri gibi standart C bildirimcilerini belirtir. Daha fazla bilgi için bkz . Dizi ve Sized-Pointer Öznitelikleri, diziler ve Diziler ve İşaretçiler. Bildirimci-listesi virgülle ayrılmış bir veya daha fazla bildirimciden oluşur. İşlev bildirimcisindeki parametre adı tanımlayıcısı isteğe bağlıdır.

function-attr-list

İşlev için geçerli olan sıfır veya daha fazla özniteliği belirtir. Geçerli işlev öznitelikleri şunlardır: [callback], [local]; işaretçi özniteliği [ref], [unique] veya [ptr]; ve [string], [ignore] ve [context_handle] kullanım öznitelikleri.

type-specifier

bir base_type, yapı, birleşim, numaralandırma türü veya tür tanımlayıcısı belirtir. İsteğe bağlı bir depolama belirtimi , tür belirticiden önce gelebilir.

ptr-decl

Sıfır veya daha fazla işaretçi bildirimcisi belirtir. İşaretçi bildirimcisi, C'de kullanılan işaretçi bildirimcisi ile aynıdır. Belirleyiciden, uzak gibi değiştiricilerden ve niteleyici sabitleyicisinden* oluşturulur.

işlev-adı

Uzak yordamın adını belirtir.

parameter-attribute-list

Belirtilen parametre türüne uygun sıfır veya daha fazla yönlü öznitelik, alan öznitelikleri, kullanım öznitelikleri ve işaretçi özniteliklerini belirtir. Birden çok özniteliği virgülle ayırın.

Açıklamalar

MIDL, IDL dosyasının arabirim gövdesinde sabit tamsayı, karakter, dize ve Boole türleri bildirmenizi sağlar. Const türü bildirimleri, oluşturulan üst bilgi dosyasında #define yönergeleri olarak yeniden oluşturulur.

DCE IDL derleyicileri sabit ifadeleri desteklemez. Bu nedenle, MIDL derleyicisi /osf anahtarını kullandığınızda bu özellik kullanılamaz.

Önceden tanımlanmış bir sabit, sonraki bir sabitin atanan değeri olarak kullanılabilir. Sabit tamsayı ifadesinin değeri, C dönüştürme kurallarına uygun olarak otomatik olarak ilgili tamsayı türüne dönüştürülür.

Karakter sabitinin değeri tek tırnaklı ASCII karakter olmalıdır. Karakter sabiti tek tırnak karakterinin kendisi olduğunda ('), ters eğik çizgi karakteri (\) tek tırnak karakterinden önce gelmelidir, örneğin \'.

Karakter dizesi sabitinin değeri çift tırnak içine alınmış bir dize olmalıdır. Dize içinde, ters eğik çizgi (\) karakteri , \" dilinde olduğu gibi sabit çift tırnak karakterinden ( " ) önce gelmelidir. Dize içinde, ters eğik çizgi karakteri (\) bir kaçış karakterini temsil eder. Dize sabitleri en fazla 255 karakterden oluşabilir.

NULL değeri void * türündeki sabitler için tek geçerli değerdir. Const bildirimiyle ilişkili tüm öznitelikler yoksayılır.

MIDL derleyicisi, ilk başlatmada aralık hatalarını denetlemez. Örneğin, "const short x = 0xFFFFFFFF;" belirttiğinizde, MIDL derleyicisi bir hata bildirmez ve başlatıcı oluşturulan üst bilgi dosyasında yeniden oluşturulur.

Örnekler

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 );

Ayrıca bakınız

Dizi

MIDL Temel Türleri

Boolean

Bayt

Geri

Char

context_handle

Enum

Arabirim Tanımı (IDL) Dosyası

Yoksay

Yerel

Uzun

/Osf

Ptr

Referans

Kısa

Imzalı

Küçük

Dize

Yapı

Birliği

Benzer -siz

Imzasız

Void

Wchar_t