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


Üzenetfájlok

Minden eseményforrás- olyan üzenetfájlokat kell regisztrálnia, amelyek leírási sztringeket tartalmaznak az egyes eseményazonosítók, eseménykategóriaés paraméterhez. Regisztrálja ezeket a fájlokat az EventMessageFile, CategoryMessageFileés ParameterMessageFile beállításjegyzék-értékekben az eseményforráshoz.

Létrehozhat egy üzenetfájlt, amely tartalmazza az eseményazonosítók, kategóriák és paraméterek leírását, vagy létrehozhat három különálló üzenetfájlt. Az összes üzenet üzenetazonosítójának egyedinek kell lennie, függetlenül attól, hogy egy vagy három fájlban adja meg az üzeneteket. Több alkalmazás is megoszthatja ugyanazt az üzenetfájlt. További információ az üzenetfájlokról: Üzenetfordító. Az üzenetfájl szintaxisával kapcsolatos részletekért tekintse meg Üzenetszövegfájlokcímű témakört.

Példa üzenetfájl

Az alábbiakban egy példaüzenetfájl látható.

; /* --------------------------------------------------------
; HEADER SECTION
;*/
SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
               Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
               Warning=0x2:STATUS_SEVERITY_WARNING
               Error=0x3:STATUS_SEVERITY_ERROR
              )
;
;
FacilityNames=(System=0x0:FACILITY_SYSTEM
               Runtime=0x2:FACILITY_RUNTIME
               Stubs=0x3:FACILITY_STUBS
               Io=0x4:FACILITY_IO_ERROR_CODE
              )
;
;/* ------------------------------------------------------------------
; MESSAGE DEFINITION SECTION
;*/

MessageIdTypedef=WORD

MessageId=0x1
SymbolicName=CAT_1
Language=English
Category 1
.

MessageId=0x2
SymbolicName=CAT_2
Language=English
Category 2
.

MessageId=0x3
SymbolicName=CAT_3
Language=English
Category 3
.

MessageIdTypedef=DWORD

MessageId=0x100
Severity=Error
Facility=Runtime
SymbolicName=MSG_COMMAND_ERR
Language=English
The command is incorrect. 
.

MessageId=0x101
Severity=Success
Facility=System
SymbolicName=MSG_STRIKE_ANY_KEY
Language=English
Press any key to continue . . . %0
.

MessageId=0x102
Severity=Error
Facility=System
SymbolicName=MSG_FILE_BAD_CONTENTS
Language=English
File %1 contains %2, which is in error
.

MessageId=0x103
Severity=Warning
Facility=System
SymbolicName=MSG_RETRYS
Language=English
There have been %1 retrys with %2 success! Disconnect from
the server and retry later.
.

MessageId=0x104
Severity=Informational
Facility=System
SymbolicName=MSG_INSERT_DISK
Language=English
Insert %%1000 in %%1001 and hit any key when ready... 
.

;/* Insert string parameters */
;

MessageId=1000
Severity=Success
Facility=System
SymbolicName=DISK
Language=English
disk%0
.

MessageId=1001
Severity=Success
Facility=System
SymbolicName=DRIVE
Language=English
drive%0
.

Az eseménymegtekintő alkalmazás az alábbi eljárással férhet hozzá az üzenet DLL-ben üzenetsztringekhez.

Leírási sztringek beszerzése

  1. Az eseményforrás megnyitásához hívja meg a RegOpenKey függvényt.
  2. Hívja meg a RegQueryValueEx függvényt az eseményforrás EventMessageFile értékének beszerzéséhez, amely az üzenet DLL-jének neve.
  3. Hívja meg a LoadLibraryEx függvényt a 2. lépésben meghatározott üzenet DLL-fájljának betöltéséhez.
  4. Hívja meg a FormatMessage függvényt az üzenetazonosítóval, hogy lekérjük a leírást a DLL-ből. (Vegye figyelembe, hogy az üzenetazonosítók a . Az üzenetfordító által létrehozott H fájl.) A FormatMessage függvény a megadott argumentumértékek használatával lecseréli a beszúrási sztringeket, de nem helyettesíti a paraméterbeszúrási sztringeket; a sztring megjelenítése előtt saját maga kell lecserélnie a paraméterbeszúrási sztringeket.