Приветствую! Постоянно возникает дурацкая ошибка(выводится по средством DbgPrint) Код (Text): #define SYMBOL L"\\DosDevices\\SymbolDriver1" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) { UNICODE_STRING usDeviceName; UNICODE_STRING usSymbolicName; PDEVICE_OBJECT DeviceObject = NULL; NTSTATUS Status; _KDPRINT("Driver load"); //... создание устройства происходит успешно RtlInitUnicodeString(&usSymbolicName, SYMBOL); Status = IoCreateSymbolicLink(&usSymbolicName, &usDeviceName); if (!NT_SUCCESS(Status)) { _KDPRINT("Couldn't create symbolic link\n"); IoDeleteDevice( DeviceObject ); } DriverObject->DriverUnload = DriverUnload; return ( STATUS_SUCCESS ); Загружаю драйвер через KmdManager, отслеживаю сообщения через DebugView: Код (Text): Driver load Couldn't create symbolic link KmdManager говорит что все успешно загружено, пробую читать из GUI-приложения символьную ссылку Код (Text): hDevice = CreateFile("\\\\.\\SymbolDriver1", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Проблема#1 В отладчике всегда hDevice равен -1, GetLastError() возврщает 2 - неверная функция, как понимать сей вывод немогу понять, подскажите что-то или по приведенным отрывкам невозможно определить в чем может быть проблема? Проблема#2 Приходится перезагружать систему, что бы снова загрузить драйвер, нежели происходит если использовать динамический загрузщик. Допускаю, что неправильно работаю с KmdManager. Все ли перезагружают драйвер после одной загрузки при работае с KmdManager? Если проблема номер1 не ожиданно испарилась, как и произошла, то вторая приследует на каждом шаге.