Создаю свой EventLog с пом. CRegKey. Имя лога длинное с пробелами. В 2003 виндах все нормально: в %SystemRoot%\system32\config\ создается одноименный evt-file А вот в 2003 он обрезается до 8-ми символов. Пробую назначить файл через value File. Срабатывает далеко не всегда: т.е. проперти-то появляется, а вот файл нет Подскажите плз, как можно оставив длинное имя журнала, корректно назначить короткое имя evt-file?
Вот пример, имя файла ODiag.evt, а имя лога Microsoft Office 12 Diagnostics. Code (Text): Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\ODiag] "DisplayNameFile"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\OFFREL.DLL" "DisplayNameID"=dword:00000065 "Sources"=hex(7):4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,\ 4f,00,66,00,66,00,69,00,63,00,65,00,20,00,31,00,32,00,20,00,44,00,69,00,61,\ 00,67,00,6e,00,6f,00,73,00,74,00,69,00,63,00,73,00,00,00,4f,00,44,00,69,00,\ 61,00,67,00,00,00,00,00 "MaxSize"=dword:01000000 "PrimaryModule"="ODiag" "Retention"=dword:00000000 "File"="C:\\WINDOWS\\system32\\config\\ODiag.evt" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\ODiag\Microsoft Office 12 Diagnostics] "EventMessageFile"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\OFFREL.DLL" "TypesSupported"=dword:00000007
Microsoft Office 12 Diagnostics - это же Source, кот. появится в окне ODiag Properties/Event Source А вот в самом Event Viewer будет виден ODiag Избыточное цитирование не приветствуется!
Code (Text): Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\AnyName] "Sources"=hex(7):49,00,6e,00,54,00,72,00,75,00,73,00,74,00,36,00,00,00,49,00,\ 6e,00,54,00,72,00,75,00,73,00,74,00,20,00,66,00,6f,00,72,00,20,00,45,00,78,\ 00,63,00,68,00,61,00,6e,00,67,00,65,00,00,00,00,00 "Maxsize"=dword:06400000 "Retention"=dword:00000000 "DisplayNameFile"="C:\Program Files\AnyPath\AnyName.dll" "DisplayNameID"=dword:00000205 "PrimaryModule"="AnyName" "File"="%SystemRoot%\system32\config\AnyName.evt" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\AnyName\Source of any name] "EventMessageFile"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,\ 00,6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,51,00,75,00,65,00,73,00,\ 74,00,20,00,53,00,6f,00,66,00,74,00,77,00,61,00,72,00,65,00,5c,00,49,00,6e,\ 00,54,00,72,00,75,00,73,00,74,00,20,00,50,00,6c,00,75,00,67,00,2d,00,49,00,\ 6e,00,20,00,66,00,6f,00,72,00,20,00,45,00,78,00,63,00,68,00,61,00,6e,00,67,\ 00,65,00,5c,00,31,00,2e,00,31,00,2e,00,30,00,37,00,31,00,2e,00,30,00,30,00,\ 5c,00,49,00,54,00,45,00,78,00,45,00,76,00,65,00,6e,00,74,00,4d,00,73,00,67,\ 00,46,00,69,00,6c,00,65,00,2e,00,64,00,6c,00,6c,00,00,00 "TypesSupported"=dword:0000001f "CategoryMessageFile"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,\ 61,00,6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,51,00,75,00,65,00,73,\ 00,74,00,20,00,53,00,6f,00,66,00,74,00,77,00,61,00,72,00,65,00,5c,00,49,00,\ 6e,00,54,00,72,00,75,00,73,00,74,00,20,00,50,00,6c,00,75,00,67,00,2d,00,49,\ 00,6e,00,20,00,66,00,6f,00,72,00,20,00,45,00,78,00,63,00,68,00,61,00,6e,00,\ 67,00,65,00,5c,00,31,00,2e,00,31,00,2e,00,30,00,37,00,31,00,2e,00,30,00,30,\ 00,5c,00,49,00,54,00,45,00,78,00,45,00,76,00,65,00,6e,00,74,00,4d,00,73,00,\ 67,00,46,00,69,00,6c,00,65,00,2e,00,64,00,6c,00,6c,00,00,00 "CategoryCount"=dword:00000005 это мои ключи но в Event Viewer'e я вижу именно AnyName Хотя, как я понимаю, MSDN гласит, что название лога берется из ресурсов (DisplayNameID) из DisplayNameFile
трабл в следующем: когда в реестре создается ключ в ноде EventLog, винда сама создает evt-file в system32\config\ при этом 2000 винда создает его купированный до 8ми символов если при создание ключа прописать value File со своим коротким именем, то в 80% он создается именно с заданным именем. но иногда ОСь проявляет самостоятельность и вопрос именно в том, как заставить винду не создавать свой файл
мне надо длинное имя лога с коротким именем файла в том примере, что ты прислал, ключ как и имя короткие значит длинное имя задается через values DisplayNameFile & DisplayNameID но у меня это не срабатывает а вот например стандартный "File Replication Service" имеет длинный ключ и короткое имя файла: File = "%SystemRoot%\system32\config\NtFrs.Evt"