Compartir a través de


Función ZwOpenSymbolicLinkObject (wdm.h)

La rutina ZwOpenSymbolicLinkObject abre un vínculo simbólico existente.

Sintaxis

NTSYSAPI NTSTATUS ZwOpenSymbolicLinkObject(
  [out] PHANDLE            LinkHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

Parámetros

[out] LinkHandle

Puntero a una variable HANDLE que recibe un identificador para el objeto de vínculo simbólico.

[in] DesiredAccess

Especifica un valor ACCESS_MASK que determina el acceso solicitado al objeto . El autor de la llamada normalmente especificó GENERIC_READ, de modo que el identificador se pueda pasar a ZwQuerySymbolicLinkObject.

[in] ObjectAttributes

Puntero a una estructura de OBJECT_ATTRIBUTES que especifica el nombre de objeto y otros atributos. Use InitializeObjectAttributes para inicializar esta estructura. Si el autor de la llamada no se ejecuta en un contexto de subproceso del sistema, debe establecer el atributo OBJ_KERNEL_HANDLE cuando llama a InitializeObjectAttributes.

Valor devuelto

ZwOpenSymbolicLinkObject devuelve STATUS_SUCCESS si se ha realizado correctamente o el estado de error adecuado.

Comentarios

Una vez que el identificador al que apunta LinkHandle ya no está en uso, el controlador debe llamar a ZwClose para cerrarlo.

Si el autor de la llamada no se está ejecutando en un contexto de subproceso del sistema, debe asegurarse de que los identificadores que cree sean identificadores privados. De lo contrario, el proceso puede acceder al identificador en cuyo contexto se ejecuta el controlador. Para obtener más información, vea Identificadores de objeto.

Si la llamada a la función ZwOpenSymbolicLinkObject se produce en modo de usuario, debe usar el nombre "NtOpenSymbolicLinkObject" en lugar de "ZwOpenSymbolicLinkObject".

NtOpenSymbolicLinkObject y ZwOpenSymbolicLinkObject son dos versiones de la misma rutina de Servicios del sistema nativo de Windows. La rutina NtOpenSymbolicLinkObject del kernel de Windows no es accesible directamente para los controladores en modo kernel. Sin embargo, los controladores en modo kernel pueden acceder a esta rutina indirectamente llamando a la rutina ZwOpenSymbolicLinkObject .

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Servicios del sistema nativo de Windows se pueden comportar de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

ACCESS_MASK

InitializeObjectAttributes

Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema

ZwQuerySymbolicLinkObject