Создание своего журнала событий

Discussion in 'WASM.WIN32' started by LubaEls, May 25, 2007.

  1. LubaEls

    LubaEls New Member

    Blog Posts:
    0
    Создаю свой EventLog с пом. CRegKey.
    Имя лога длинное с пробелами.
    В 2003 виндах все нормально: в %SystemRoot%\system32\config\ создается одноименный evt-file
    А вот в 2003 он обрезается до 8-ми символов.
    Пробую назначить файл через value File. Срабатывает далеко не всегда: т.е. проперти-то появляется, а вот файл нет:dntknw:

    Подскажите плз, как можно оставив длинное имя журнала, корректно назначить короткое имя evt-file?
     
  2. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Вот пример, имя файла ODiag.evt, а имя лога Microsoft Office 12 Diagnostics.

    Code (Text):
    1. Windows Registry Editor Version 5.00
    2.  
    3. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\ODiag]
    4. "DisplayNameFile"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\OFFREL.DLL"
    5. "DisplayNameID"=dword:00000065
    6. "Sources"=hex(7):4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,\
    7.   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,\
    8.   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,\
    9.   61,00,67,00,00,00,00,00
    10. "MaxSize"=dword:01000000
    11. "PrimaryModule"="ODiag"
    12. "Retention"=dword:00000000
    13. "File"="C:\\WINDOWS\\system32\\config\\ODiag.evt"
    14.  
    15. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\ODiag\Microsoft Office 12 Diagnostics]
    16. "EventMessageFile"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\OFFREL.DLL"
    17. "TypesSupported"=dword:00000007
     
  3. LubaEls

    LubaEls New Member

    Blog Posts:
    0
    Microsoft Office 12 Diagnostics - это же Source, кот. появится в окне ODiag Properties/Event Source
    А вот в самом Event Viewer будет виден ODiag

    Избыточное цитирование не приветствуется!
     
  4. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Да нет, в списке логов видно как раз полное имя.
     
  5. LubaEls

    LubaEls New Member

    Blog Posts:
    0
    Code (Text):
    1. Windows Registry Editor Version 5.00
    2.  
    3. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\AnyName]
    4. "Sources"=hex(7):49,00,6e,00,54,00,72,00,75,00,73,00,74,00,36,00,00,00,49,00,\
    5.   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,\
    6.   00,63,00,68,00,61,00,6e,00,67,00,65,00,00,00,00,00
    7. "Maxsize"=dword:06400000
    8. "Retention"=dword:00000000
    9. "DisplayNameFile"="C:\Program Files\AnyPath\AnyName.dll"
    10. "DisplayNameID"=dword:00000205
    11. "PrimaryModule"="AnyName"
    12. "File"="%SystemRoot%\system32\config\AnyName.evt"
    13.  
    14. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\AnyName\Source of any name]
    15. "EventMessageFile"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,\
    16.   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,\
    17.   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,\
    18.   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,\
    19.   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,\
    20.   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,\
    21.   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,\
    22.   00,46,00,69,00,6c,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
    23. "TypesSupported"=dword:0000001f
    24. "CategoryMessageFile"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,\
    25.   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,\
    26.   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,\
    27.   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,\
    28.   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,\
    29.   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,\
    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,\
    31.   67,00,46,00,69,00,6c,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
    32. "CategoryCount"=dword:00000005
    это мои ключи
    но в Event Viewer'e я вижу именно AnyName:dntknw:
    Хотя, как я понимаю, MSDN гласит, что название лога берется из ресурсов (DisplayNameID) из DisplayNameFile
     
  6. LubaEls

    LubaEls New Member

    Blog Posts:
    0
    трабл в следующем:
    когда в реестре создается ключ в ноде EventLog, винда сама создает evt-file в system32\config\
    при этом 2000 винда создает его купированный до 8ми символов

    если при создание ключа прописать value File со своим коротким именем, то в 80% он создается именно с заданным именем. но иногда ОСь проявляет самостоятельность:dntknw:

    и вопрос именно в том, как заставить винду не создавать свой файл
     
  7. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    LubaEls
    Тебе надо имя файла своё или имя журнала?
     
  8. LubaEls

    LubaEls New Member

    Blog Posts:
    0
    мне надо длинное имя лога с коротким именем файла:)

    в том примере, что ты прислал, ключ как и имя короткие
    значит длинное имя задается через values DisplayNameFile & DisplayNameID
    но у меня это не срабатывает

    а вот например стандартный "File Replication Service" имеет длинный ключ и короткое имя файла:
    File = "%SystemRoot%\system32\config\NtFrs.Evt"