Aracılığıyla paylaş


İleti Derleyicisi (MC.exe)

İleti Derleyicisi (mc.exe), izleme bildirimlerini ve ileti metin dosyalarını derlemek için kullanılır. Derleyici, uygulamanızın bağlandığı ileti kaynak dosyalarını oluşturur.

MC [-?aAbcdnouUv] [-m <length>] [-h <path>] [-e <extension>] [-r <path>]
   [-x <path>] [-w <file>] [-W <file>] [-z <basename> ] [-cp <encoding>]
   [-km | -um | -generateProjections | -cs <namespace>]
   [-mof] [-p <prefix>] [-P <prefix>]
   [<filename.man>] [<filename.mc>]

Not

İleti Derleyicisi, Windows SDK'sı ile birlikte gönderilir ve \Bin klasöründe bulunabilir.

Hem ileti metin dosyalarında hem de bildirim dosyalarında ortak olan bağımsız değişkenler

-?

İleti Derleyicisi için kullanım bilgilerini görüntüler.

-c

Derleyicinin tüm ileti kimliklerinde müşteri bitini (bit 28) ayarlamasını sağlamak için bu bağımsız değişkeni kullanın. Müşteri biti hakkında bilgi için bkz. winerror.h.

-cpkodlama

Oluşturulan tüm metin dosyaları için kullanılan karakter kodlamasını belirtmek için bu bağımsız değişkeni kullanın. Geçerli adlar arasında "ansi" (varsayılan), "utf-8" ve "utf-16" bulunur. Unicode kodlamaları bir bayt sırası işareti ekler.

-euzantısı

Üst bilgi dosyası için kullanılacak uzantıyı belirtmek için bu bağımsız değişkeni kullanın. Nokta dahil olmak üzere en çok üç karakterlik bir uzantı belirtebilirsiniz. Varsayılan değer .h'dir.

-hyolu

Derleyicinin oluşturulan üst bilgi dosyasını yerleştirmesini istediğiniz klasörü belirtmek için bu bağımsız değişkeni kullanın. Varsayılan değer geçerli dizindir.

-muzunluğu

Herhangi bir ileti uzunluğu karakterleri aşarsa derleyicinin bir uyarı oluşturmasını sağlamak için bu bağımsız değişkeni kullanın.

-ryolu

Derleyicinin oluşturulan kaynak derleyici betiğini (.rc dosyası) ve kaynak derleyici betiğinin içerdiği oluşturulan .bin dosyalarını (ikili kaynaklar) yerleştirmesini istediğiniz klasörü belirtmek için bu bağımsız değişkeni kullanın. Varsayılan değer geçerli dizindir.

-zadı

Derleyicinin oluşturduğu dosyalar için kullandığı varsayılan temel adı geçersiz kılmak için bu bağımsız değişkeni kullanın. Varsayılan değer, dosya adı giriş dosyasının temel adını kullanmaktır.

dosya adı

İzleme bildirim dosyası veya ileti metin dosyası. Dosya geçerli dizinde bulunmalıdır. Bildirim dosyası, ileti metin dosyası veya her ikisini birden belirtebilirsiniz. Dosya adı uzantıyı içermelidir. Kural, bildirim dosyaları için bir .man uzantısı ve ileti metin dosyaları için bir .mc uzantısı kullanmaktır.

Bildirim dosyalarına özgü bağımsız değişkenler

yolu

İzlemenizin temelini oluşturmak için bu bağımsız değişkeni kullanın. Temel bildirim dosyalarınızı içeren klasörün yolunu belirtin. Sonraki sürümler için, uyumluluk sorunları için yeni bildirimi temele göre denetlemek üzere -t bağımsız değişkenini kullanırsınız.

MC sürüm 1.12.7051'den önce: Kullanılamıyor

-tyolu

Bildiriminizin yeni bir sürümünü oluştururken ve -s bağımsız değişkenini kullanarak oluşturduğunuz temele göre uygulama uyumluluğunu denetlemek istediğinizde bu bağımsız değişkeni kullanın. Yol, öğesini içeren klasöre işaret etmelidir. Temel işlemin oluşturduğu BIN dosyaları (bkz. -s anahtarı).

MC sürüm 1.12.7051'den önce: Kullanılamıyor

-wyol

Derleyici bu bağımsız değişkeni yoksayar ve bildirimi otomatik olarak doğrular.

MC sürüm 1.12.7051'den önce: Bu bağımsız değişkeni, derleyicinin bildiriminizi doğrulamak için kullandığı Eventman.xsd şema dosyasını içeren klasörü belirtmek için kullanın. Windows SDK'sı, \Include klasörüne Eventman.xsd şema dosyasını içerir. Bu bağımsız değişkeni belirtmezseniz, derleyici bildiriminizi doğrulamaz.

-Wyolu

Derleyici bu bağımsız değişkeni yoksayar.

MC sürüm 1.12.7051'den önce: Winmeta.xml dosyasını içeren klasörü belirtmek için bu bağımsız değişkeni kullanın. Winmeta.xml dosyası, tanınan giriş ve çıkış türlerinin yanı sıra önceden tanımlanmış kanalları, düzeyleri ve işlem kodlarını içerir. Windows SDK'sı , \Include klasörüne Winmeta.xml dosyasını içerir.

Sağlayıcınızın olayları günlüğe kaydetmek için kullanacağı kod oluşturmaya özgü bağımsız değişkenler

Olayları günlüğe kaydetmek için kullanabileceğiniz çekirdek modu veya kullanıcı modu kodu oluşturmak için aşağıdaki derleyici bağımsız değişkenlerini kullanabilirsiniz. Ayrıca, derleyicinin Windows Vista'nın öncesinde bilgisayarlarda olay yazmayı desteklemek için kod oluşturmasını da isteyebilirsiniz. Uygulamanız C# yazıldıysa, derleyici olayları günlüğe kaydetmek için kullanabileceğiniz bir C# sınıfı oluşturabilir. Bu bağımsız değişkenler, Windows SDK'sının Windows 7 sürümüyle birlikte gelen MC 1.12.7051 sürümünden itibaren kullanılabilir.

-co

Günlüğe kaydetme hizmetinin günlüğe kaydettiğiniz her olay için kullanıcı tanımlı işlevinizi çağırmasını sağlamak için bu bağımsız değişkeni kullanın (olay günlüğe kaydedildikten sonra işlev çağrılır). Kullanıcı tanımlı işlevinizin aşağıdaki imzaya sahip olması gerekir.

VOID
pFnUserFunction(
    __in REGHANDLE RegHandle,
    __in PCEVENT_DESCRIPTOR Descriptor,
    __in ULONG EventDataCount,
    __in_ecount(EventDataCount) PEVENT_DATA_DESCRIPTOR EventData
    );

Ayrıca kodunuzda aşağıdaki yönergeyi de eklemeniz gerekir.

#define MCGEN_CALLOUT pFnUserFunction

Günlük sorunlarını önlemek için uygulamanızı olabildiğince kısa tutmalısınız; işlevi dönene kadar hizmet artık olaylarınızı günlüğe kaydetmez.

Bu bağımsız değişkeni -km veya -um bağımsız değişkeniyle kullanabilirsiniz.

-csad alanı

Derleyicinin .NET 3.5 EventProvider sınıfını temel alan bir C# sınıfı oluşturmasını sağlamak için bu bağımsız değişkeni kullanın.

-cssad alanı

Derleyicinin .NET 3.5 EventProvider sınıfını temel alan statik bir C# sınıfı oluşturmasını sağlamak için bu bağımsız değişkeni kullanın.

-km

Derleyicinin bildiriminizde tanımlanan olayları günlüğe kaydetmek için kullanacağınız çekirdek modu kodunu oluşturmasını sağlamak için bu bağımsız değişkeni kullanın.

-mof

KALDIRIL -MIŞ. Derleyicinin Windows Vista'nın öncesinde bilgisayarlardaki olayları günlüğe kaydetmek için kullanabileceğiniz bir kod oluşturmasını sağlamak için bu bağımsız değişkeni kullanın. Bu seçenek ayrıca bildirimde tanımlanan her olay için MOF sınıflarını içeren bir MOF dosyası oluşturur. Tüketicilerin olayların kodunu çözebilmesi için sınıfları MOF dosyasına kaydetmek için MOF derleyicisini (Mofcomp.exe) kullanın. MOF derleyicisini kullanma hakkında ayrıntılı bilgi için bkz. Yönetilen Nesne Biçimi.

Bu anahtarı kullanmak için aşağıdaki kısıtlamalara uymanız gerekir:

  • Her olay tanımı görev ve opcode özniteliklerini içermelidir
  • Her görev eventGuid özniteliğini içermelidir
  • Olayın başvurduğunu şablon verileri aşağıdakileri içeremez:
    • win:Binary veya win:SYSTEMTIME giriş türlerini belirten veri öğeleri
    • Yapı
    • Değişken boyutlu diziler; ancak sabit uzunlukta diziler belirtebilirsiniz
    • Dize veri türleri uzunluk özniteliğini belirtemiyor

Bu bağımsız değişkeni -um, -cs, -cssveya -km bağımsız değişkeniyle kullanmalısınız

-pön eki

Derleyicinin günlük makro adları ve yöntem adları için kullandığı varsayılan ön eki geçersiz kılmak için bu bağımsız değişkeni kullanın. Varsayılan ön ek "EventWrite" şeklindedir. Dize büyük/küçük harfe duyarlıdır.

Bu bağımsız değişkeni -um, -cs, -cssveya -km bağımsız değişkeniyle kullanabilirsiniz.

-Pön eki

Olay için belirttiğiniz sembolik adın başından karakterleri kaldırmak için bu bağımsız değişkeni kullanın. Karşılaştırma büyük/küçük harfe duyarlı değildir. Derleyici, günlük makro adlarını ve yöntem adlarını oluşturmak için sembolik adı kullanır.

Günlüğe kaydetme makrosunun varsayılan adı EventWriteSymbolNameşeklindedir; burada SymbolName, olay için belirttiğiniz sembolik addır. Örneğin, olayın sembol özniteliğini PrinterConnection olarak ayarlarsanız, makro adı EventWritePrinterConnection olur. Yazıcıyı adından kaldırmak için -PYazıcıkullanın; bu da EventWriteConnection ile sonuçlanabilir.

Bu bağımsız değişkeni -um, -cs, -cssveya -km bağımsız değişkeniyle kullanabilirsiniz.

-um

Derleyicinin bildiriminizde tanımlanan olayları günlüğe kaydetmek için kullanacağınız kullanıcı modu kodunu oluşturmasını sağlamak için bu bağımsız değişkeni kullanın.

Derleyicinin günlük kodu oluşturmasını sağlamak için -um, -cs, -cssveya -km bağımsız değişkenini belirtmeniz gerekir; bu bağımsız değişkenler birbirini dışlar.

Derleyicinin oluşturduğu .h, .cs ve .mof dosyalarının nereye yerleştirileceğini belirtmek için -h bağımsız değişkenini kullanın. -h bağımsız değişkenini belirtmezseniz, dosyalar geçerli klasöre yerleştirilir.

Derleyicinin oluşturduğu .rc dosyasının ve ikili dosyaların (meta veri kaynaklarını içeren) nereye yerleştirileceğini belirtmek için -r bağımsız değişkenini kullanın. -r bağımsız değişkenini belirtmezseniz, dosyalar geçerli klasöre yerleştirilir.

Derleyici, oluşturduğu dosyaların temel adı olarak giriş dosyasının temel adını kullanır. Temel ad belirtmek için -z bağımsız değişkenini kullanın.

İleti metin dosyalarına özgü bağımsız değişkenler

-a

dosya adı giriş dosyasının sistem varsayılan Windows ANSI kod sayfasında (CP_ACP) içerik içerdiğini belirtmek için bu bağımsız değişkeni kullanın. Varsayılan değer budur. Unicode için -u kullanın. Giriş dosyasında bom varsa bu bağımsız değişken yoksayılır.

-A

KALDIRIL -MIŞ. Çıkış .bin dosyasındaki iletilerin ANSI olması gerektiğini belirtmek için bu bağımsız değişkeni kullanın.

-b

Derleyicinin .bin dosya adları için dosya adı giriş dosyasının temel adını kullanmasını sağlamak için bu bağımsız değişkeni kullanın. Varsayılan değer "MSG" kullanmaktır.

-d

Üst bilgi dosyasında onaltılık değerler yerine Önem Derecesi ve Tesis sabitleri için ondalık değerleri kullanmak için bu bağımsız değişkeni kullanın.

-n

İleti gövdesinden hemen sonra iletilerin sonlandırılacağını belirtmek için bu bağımsız değişkeni kullanın. Varsayılan değer, ileti gövdesini CR/LF ile sonlandırmaktır.

-o

Derleyicinin durum kodları yerine HRESULT tanımlarını kullanarak bir OLE2 üst bilgi dosyası oluşturmasını sağlamak için bu bağımsız değişkeni kullanın. Durum kodlarının kullanılması varsayılandır.

-u

dosya adı giriş dosyasının UTF-16LE içeriği içerdiğini belirtmek için bu bağımsız değişkeni kullanın. Varsayılan değer ANSI içeriğidir. Giriş dosyasında bom varsa bu bağımsız değişken yoksayılır.

-U

Çıktı .bin dosyasındaki iletilerin Unicode olması gerektiğini belirtmek için bu bağımsız değişkeni kullanın. Varsayılan değer budur.

-v

Ayrıntılı çıkış oluşturmak için bu bağımsız değişkeni kullanın.

-xyolu

Derleyicinin .dbg C include dosyasını yerleştirmesini istediğiniz klasörü belirtmek için bu bağımsız değişkeni kullanın. .dbg dosyası, ileti kimliklerini sembolik adlarıyla eşler.

Açıklamalar

-A ve -mof bağımsız değişkenleri kullanım dışıdır ve gelecekte kaldırılacaktır.

Derleyici bir bildirim (.man) dosyası veya ileti metni (.mc) dosyası girişi olarak kabul eder ve aşağıdaki dosyaları oluşturur:

  • .h dosya adı

    Uygulamanızda başvurduğunuz olay tanımlayıcılarını, sağlayıcı GUID'sini ve simge adlarını içeren bir C/C++ üst bilgi dosyası.

  • dosya adıTEMP.bin

    Sağlayıcı ve olay meta verilerini içeren ikili kaynak dosyası. Bu, dosyanın temel adının TEMP soneki tarafından belirtilen şablon kaynağıdır.

  • Msg00001.bin

    Belirttiğiniz her dil için ikili kaynak dosyası (örneğin, bildiriminiz en-US ve fr-FRileti dizeleri içeriyorsa, derleyici Msg00001.bin ve Msg00002.bin) oluşturur.

  • dosya adı.rc

    Her .bin dosyasını kaynak olarak içerecek deyimleri içeren bir kaynak derleyici betiği.

Yol alan bağımsız değişkenler için yol mutlak, göreli veya UNC yolu olabilir ve ortam değişkenleri içerebilir.

MC sürüm 1.12.7051'den önce: Derleyici göreli yollara veya ortam değişkenlerine izin vermez.

Örnekler

Aşağıdaki örnek, derleyici varsayılanlarını kullanarak bir bildirim derler.

mc spooler.man

Aşağıdaki örnek bildirimi derler ve üst bilgi ve kaynak dosyalarını belirtilen klasörlere yerleştirir.

mc -h <pathgoeshere> -r <pathgoeshere> spooler.man

Gereksinim -leri

Gereksinim Değer
Desteklenen en düşük istemci Windows 2000 Professional [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows 2000 Server [yalnızca masaüstü uygulamaları]