Драйвер загружается первым после старта процесса System и ведёт лог некоторых событий. Он отлавливает старт моей программы и создаёт устройство с символьной ссылкой для дальнейшей пересылки логов. Никаких ошибок не происходит, но символьная ссылка появляется не в "\??", а примерно сдесь - "\Sessions\0\DosDevices\00000000-0000fed7". В чём проблема?
Предполагаю: дело в том, что "\??" - это тоже символьная ссылка. И, может быть, в данном случае на "Sessions\0\DosDevices\00000000-0000fed7".
У тебя Terminal Services стоят. Там для каждой сесии создается локальное пространство имен все объекты созданные в сессии помещаются в своё пространство, чтобы небыло коллизии имён. Для того, чтобы объект был виден всем нужно делать примерно так: Код (Text): RtlInitUnicodeString( &usSymbolicLink, L"\\DosDevices\\[b]Global[/b]\\SymbolicLinkName" ); См. в ДДК раздел "Local and Global MS-DOS Device Names"