Megosztás a következőn keresztül:


Üzenetfordító (MC.exe)

Az Üzenetfordító (mc.exe) eszközjegyzékek és üzenetszövegfájlok fordítására szolgál. A fordító létrehozza azokat az üzenet-erőforrásfájlokat, amelyekre az alkalmazás hivatkozik.

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>]

Jegyzet

Az Üzenetfordító a Windows SDK-t tartalmazza, és a \Bin mappában található.

Az üzenetszöveg-fájlok és a jegyzékfájlok argumentumai

-?

Megjeleníti az Üzenetfordító használati adatait.

-c

Ezen argumentum használatával a fordító minden üzenetazonosítóban beállítja az ügyfélbitet (28. bit). Az ügyféloldali bitről további információt a winerror.h című témakörben talál.

-cpkódolási

Ezzel az argumentumot használva megadhatja az összes létrehozott szövegfájlhoz használt karakterkódolást. Az érvényes nevek közé tartozik az "ansi" (alapértelmezett), az "utf-8" és az "utf-16". A Unicode-kódolások bájtsorrendjelet adnak hozzá.

-ebővítmény

Ezzel az argumentumot használva megadhatja a fejlécfájlhoz használandó bővítményt. Legfeljebb három karakteres kiterjesztést adhat meg, a pontot nem beleértve. Az alapértelmezett érték a .h.

-helérési út

Ezzel az argumentumot használva megadhatja azt a mappát, amelybe a fordító a létrehozott fejlécfájlt szeretné helyezni. Az alapértelmezett az aktuális könyvtár.

-mhossz

Ezzel az argumentumot használva a fordító figyelmeztetést jelenít meg, ha az üzenet hossza meghaladja karaktereket.

-relérési út

Ezzel az argumentumsal megadhatja azt a mappát, amelybe a fordító a létrehozott erőforrás-fordító szkriptet (.rc fájlt) és az erőforrás-fordító szkript által tartalmazott létrehozott .bin fájlokat (bináris erőforrásokat) szeretné elhelyezni. Az alapértelmezett az aktuális könyvtár.

-znév

Ezen argumentum használatával felülbírálhatja a fordító által a létrehozott fájlok alapértelmezett alapnevét. Az alapértelmezett beállítás az fájlnév bemeneti fájl alapneve.

fájlnév

A rendszerállapot-jegyzékfájl vagy üzenet szövegfájlja. A fájlnak az aktuális könyvtárban kell lennie. Megadhat jegyzékfájlt, üzenetszövegfájlt vagy mindkettőt. A fájlnévnek tartalmaznia kell a bővítményt. A konvenció egy .man kiterjesztés használata jegyzékfájlokhoz és .mc kiterjesztés az üzenetszöveg-fájlokhoz.

A jegyzékfájlokkal kapcsolatos argumentumok

-selérési útja

Ez az argumentum a rendszerállapot alapkonfigurációjának létrehozásához használható. Adja meg az alapterv-jegyzékfájlokat tartalmazó mappa elérési útját. A későbbi kiadások esetében a -t argumentum használatával ellenőrizze az új jegyzékfájlt a kompatibilitási problémák alapkonfigurációja alapján.

Az MC 1.12.7051-es verziója előtt: Nem érhető el

-telérési út

Ezt az argumentumot akkor használja, ha a jegyzékfájl új verzióját hozza létre, és ellenőrizni szeretné, hogy az alkalmazás kompatibilitása megfelel-e a -s argumentum használatával létrehozott alapkonfigurációnak. Az elérési útnak a mappát tartalmazó mappára kell mutatnia. BIN-fájlok, amelyeket az alapművelet hozott létre (lásd a -s kapcsolót).

Az MC 1.12.7051-es verziója előtt: Nem érhető el

-welérési út

A fordító figyelmen kívül hagyja ezt az argumentumot, és automatikusan ellenőrzi a jegyzékfájlt.

Az MC 1.12.7051-es verziója előtt: Ezzel az argumentumbal adja meg az Eventman.xsd sémafájlt tartalmazó mappát, amelyet a fordító a jegyzékfájl érvényesítéséhez használ. A Windows SDK tartalmazza az Eventman.xsd sémafájlt a \Include mappában. Ha nem adja meg ezt az argumentumot, a fordító nem érvényesíti a jegyzékfájlt.

-Welérési út

A fordító figyelmen kívül hagyja ezt az argumentumot.

Az MC 1.12.7051-es verziója előtt: Ezzel az argumentumbal adhatja meg a Winmeta.xml fájlt tartalmazó mappát. A Winmeta.xml fájl tartalmazza a felismert bemeneti és kimeneti típusokat, valamint az előre definiált csatornákat, szinteket és opkódokat. A Windows SDK tartalmazza a Winmeta.xml fájlt a \Include mappában.

A szolgáltató által az események naplózásához használt kód generálására vonatkozó argumentumok

Az alábbi fordítóargumentumokkal kernel módú vagy felhasználói módú kódot hozhat létre, amelyekkel eseményeket naplózhat. Azt is kérheti, hogy a fordító hozzon létre kódot, amely támogatja a Windows Vista előtti számítógépeken futó események írását. Ha az alkalmazás C#-ot ír, a fordító létrehozhat egy C#-osztályt, amellyel eseményeket naplózhat. Ezek az argumentumok az MC 1.12.7051-es verziójától kezdve érhetők el, amelyek a Windows SDK Windows 7-es verziójával vannak szállítva.

-co

Ezen argumentum használatával a naplózási szolgáltatás meghívja a felhasználó által definiált függvényt minden naplózott eseményhez (a függvény az esemény naplózása után lesz meghívva). A felhasználó által definiált függvénynek az alábbi aláírást kell tartalmaznia.

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

A kódban a következő irányelvnek is szerepelnie kell.

#define MCGEN_CALLOUT pFnUserFunction

A naplózási problémák elkerülése érdekében a lehető legrövidebben kell végrehajtania a megvalósítást; a szolgáltatás nem naplózza többé az eseményeket, amíg a függvény vissza nem tér.

Ezt az argumentumot a -km vagy -um argumentummal használhatja.

-csnévtér

Ezen argumentum használatával a fordító létrehoz egy C# osztályt a .NET 3.5 EventProvider osztály alapján.

-cssnévtér

Ezen argumentum használatával a fordító statikus C# osztályt hozhat létre a .NET 3.5 EventProvider osztály alapján.

-km

Ezen argumentum használatával a fordító hozza létre a kernel módú kódot, amelyet a jegyzékben definiált események naplózásához használna.

-mof

ELAVULT. Ezen argumentum használatával a fordító olyan kódot hoz létre, amellyel eseményeket naplózhat a Windows Vista előtti számítógépeken. Ez a beállítás egy MOF-fájlt is létrehoz, amely tartalmazza a jegyzékben definiált egyes események MOF-osztályát. Ha regisztrálni szeretné az osztályokat az MOF-fájlban, hogy a felhasználók dekódolhassák az eseményeket, használja az MOF-fordítót (Mofcomp.exe). Az MOF-fordító használatáról további információt Felügyelt objektumformátumcímű témakörben talál.

A kapcsoló használatához be kell tartania a következő korlátozásokat:

  • Minden eseménydefiníciónak tartalmaznia kell a feladatot és az opcode attribútumokat
  • Minden tevékenységnek tartalmaznia kell az eventGuid attribútumot
  • Azok a sablonadatok, amelyekre az esemény hivatkozik, nem tartalmazhatnak:
    • A win:Bináris vagy win:SYSTEMTIME bemeneti típusok megadására szolgáló adatelemek
    • Struktúrák
    • Változó méretű tömbök; azonban megadhatja a rögzített hosszúságú tömböket
    • A sztring adattípusai nem tudják megadni a hosszattribútumot

Ezt az argumentumot az -um, -cs, -cssvagy -km argumentummal kell használnia.

-pelőtag

Ezzel az argumentumgal felülbírálhatja a fordító által a naplózási makrónevekhez és metódusnevekhez használt alapértelmezett előtagot. Az alapértelmezett előtag az "EventWrite". A sztring megkülönbözteti a kis- és nagybetűk értékét.

Ezt az argumentumot az -um, -cs, -cssvagy -km argumentummal használhatja.

-Pelőtag

Ezzel az argumentummal eltávolíthat karaktereket az eseményhez megadott szimbolikus név elejéről. Az összehasonlítás kis- és nagybetűket nem érzékelyítő. A fordító a szimbolikus nevet használja a naplózási makrónevek és metódusnevek létrehozásához.

A naplózási makró alapértelmezett neve EventWriteSymbolName, ahol SymbolName az eseményhez megadott szimbolikus név. Ha például az esemény szimbólumattribútumát a PrinterConnection értékre állítja, a makró neve EventWritePrinterConnection lesz. Ha el szeretné távolítani a nyomtatót a névből, használja a -PNyomtató, amely az EventWriteConnectiont eredményezi.

Ezt az argumentumot az -um, -cs, -cssvagy -km argumentummal használhatja.

-um

Ezen argumentum használatával a fordító hozza létre azt a felhasználói módú kódot, amellyel naplózhatja a jegyzékben meghatározott eseményeket.

Ahhoz, hogy a fordító naplózási kódot hozzon létre, meg kell adnia a -um, -cs, -cssvagy -km argumentumot; ezek az érvek kölcsönösen kizárják egymást.

A fordító által létrehozott .h, .cs és .mof fájlok helyének megadásához használja a -h argumentumot. Ha nem adja meg a -h argumentumot, a fájlok az aktuális mappába kerülnek.

A fordító által létrehozott .rc fájl és bináris fájlok (a metaadat-erőforrásokat tartalmazó) helyének megadásához használja a -r argumentumot. Ha nem adja meg a -r argumentumot, a fájlok az aktuális mappába kerülnek.

A fordító a bemeneti fájl alapnevét használja a létrehozott fájlok alapneveként. Alapnév megadásához használja a -z argumentumot.

Az üzenet szövegfájljaihoz tartozó argumentumok

-a

Ezzel az argumentummal megadhatja, hogy a fájlnév bemeneti fájl tartalmaz-e tartalmat a rendszer alapértelmezett Windows ANSI-kódlapján (CP_ACP). Ez az alapértelmezett érték. A Unicode -u használata. Ha a bemeneti fájl tartalmaz egy anyagjegyzéket, a program figyelmen kívül hagyja ezt az argumentumot.

–A

ELAVULT. Ezen argumentum használatával megadhatja, hogy a kimeneti .bin fájlban lévő üzeneteknek ANSI-nek kell lenniük.

-b

Ezzel az argumentumkal a fordító a fájlnév bemeneti fájl alapnevét használja a .bin fájlnevekhez. Az alapértelmezett érték az "MSG" használata.

-d

Ezzel az argumentummal a fejlécfájl súlyossági és létesítményállandóinak decimális értékeit használhatja hexadecimális értékek helyett.

-n

Ezzel az argumentumsal megadhatja, hogy az üzenetek közvetlenül az üzenet törzse után fejeződjenek be. Az alapértelmezett beállítás az üzenet törzsének cr/LF használatával történő leállása.

-o

Ezzel az argumentumtal a fordító egy OLE2 fejlécfájlt hozhat létre HRESULT definíciókkal az állapotkódok helyett. Az alapértelmezett állapotkódok használata.

-u

Ezzel az argumentummal megadhatja, hogy a fájlnév bemeneti fájl tartalmaz-e UTF-16LE-tartalmat. Az alapértelmezett az ANSI-tartalom. Ha a bemeneti fájl tartalmaz egy anyagjegyzéket, a program figyelmen kívül hagyja ezt az argumentumot.

-U

Ezzel az argumentumot használva megadhatja, hogy a kimeneti .bin fájl üzeneteinek Unicode-nak kell lenniük. Ez az alapértelmezett érték.

-v

Ezen argumentum használatával részletes kimenetet hozhat létre.

-xelérési út

Ezzel az argumentumsal megadhatja azt a mappát, amelybe a fordító a .dbg C belefoglalási fájlt szeretné helyezni. A .dbg fájl leképezi az üzenetazonosítókat a szimbolikus nevükre.

Megjegyzések

Az -A és -mof argumentumok elavultak, és a jövőben el lesznek távolítva.

A fordító egy jegyzékfájlt (.man) vagy üzenetszövegfájlt (.mc) fogad el bemenetként, és a következő fájlokat hozza létre:

  • fájlnév.h

    C/C++ fejlécfájl, amely tartalmazza az alkalmazásban hivatkozott eseményleírókat, szolgáltatói GUID-azonosítókat és szimbólumneveket.

  • fájlnévTEMP.bin

    Bináris erőforrásfájl, amely a szolgáltató és az esemény metaadatait tartalmazza. Ez a sablonerőforrás, amelyet a fájl alapnevének TEMP-utótagja jelez.

  • Msg00001.bin

    Bináris erőforrásfájl minden megadott nyelvhez (például ha a jegyzék üzenetsztringeket tartalmaz en-US és fr-FR, a fordító létrehoz Msg00001.bin és Msg00002.bin).

  • fájlnév.rc

    Erőforrás-fordító szkript, amely tartalmazza az egyes .bin fájlok erőforrásként való belefoglalására vonatkozó utasításokat.

Az elérési utat tartalmazó argumentumok esetében az elérési út lehet abszolút, relatív vagy UNC elérési út, és környezeti változókat tartalmazhat.

Az MC 1.12.7051-es verziója előtt: A fordító nem engedélyezi a relatív elérési utakat vagy környezeti változókat.

Példák

Az alábbi példa egy jegyzékfájlt állít össze a fordító alapértelmezései alapján.

mc spooler.man

Az alábbi példa lefordítja a jegyzékfájlt, és a fejlécet és az erőforrásfájlokat a megadott mappákba helyezi.

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

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél Windows 2000 Professional [csak asztali alkalmazások]
Minimálisan támogatott kiszolgáló Windows 2000 Server [csak asztali alkalmazások]