Функция ZwOpenSymbolicLinkObject (wdm.h)
Подпрограмма ZwOpenSymbolicLinkObject открывает существующую символьную ссылку.
Синтаксис
NTSYSAPI NTSTATUS ZwOpenSymbolicLinkObject(
[out] PHANDLE LinkHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
Параметры
[out] LinkHandle
Указатель на переменную HANDLE, которая получает дескриптор объекта символьной ссылки.
[in] DesiredAccess
Задает значение ACCESS_MASK , определяющее запрошенный доступ к объекту. Вызывающий объект обычно указывает GENERIC_READ, чтобы дескриптор можно было передать в ZwQuerySymbolicLinkObject.
[in] ObjectAttributes
Указатель на структуру OBJECT_ATTRIBUTES , указывающую имя объекта и другие атрибуты. Используйте InitializeObjectAttributes для инициализации этой структуры. Если вызывающий объект не выполняется в контексте системного потока, он должен задать атрибут OBJ_KERNEL_HANDLE при вызове InitializeObjectAttributes.
Возвращаемое значение
ZwOpenSymbolicLinkObject возвращает STATUS_SUCCESS об успешном выполнении или соответствующем состоянии ошибки.
Комментарии
Когда дескриптор, на который указывает LinkHandle , перестанет использоваться, драйвер должен вызвать ZwClose , чтобы закрыть его.
Если вызывающий объект не работает в контексте системного потока, он должен убедиться, что все создаваемые им дескрипторы являются частными. В противном случае дескриптор может получить доступ к процессу, в контексте которого выполняется драйвер. Дополнительные сведения см. в разделе Дескрипторы объектов.
Если вызов функции ZwOpenSymbolicLinkObject происходит в пользовательском режиме, следует использовать имя "NtOpenSymbolicLinkObject" вместо ZwOpenSymbolicLinkObject.
NtOpenSymbolicLinkObject и ZwOpenSymbolicLinkObject — это две версии одной и той же подпрограммы windows Native System Services. Подпрограмма NtOpenSymbolicLinkObject в ядре Windows недоступна напрямую для драйверов режима ядра. Однако драйверы в режиме ядра могут получить доступ к этой подпрограмме косвенно, вызвав подпрограмму ZwOpenSymbolicLinkObject .
Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы собственных системных служб Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями процедуры NtXxx и ZwXxx см. в разделе Использование версий Nt и Zw для процедур собственных системных служб.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
См. также раздел
Использование версий Nt и Zw собственных процедур системных служб