Función ExAcquireRundownProtectionEx (wdm.h)

La rutina ExAcquireRundownProtectionEx intenta adquirir protección de ejecución en un objeto compartido para que el autor de la llamada pueda acceder al objeto de forma segura.

Sintaxis

BOOLEAN ExAcquireRundownProtectionEx(
  [in, out] PEX_RUNDOWN_REF RunRef,
  [in]      ULONG           Count
);

Parámetros

[in, out] RunRef

Puntero a una estructura EX_RUNDOWN_REF inicializada por una llamada anterior a la rutina ExInitializeRundownProtection . Las rutinas de protección de ejecución usan esta estructura para realizar un seguimiento del estado de ejecución del objeto compartido asociado. Esta estructura es opaca para los controladores.

[in] Count

Cantidad por la que se va a incrementar el recuento de instancias de ejecución del objeto. El recuento solo se incrementa si la rutina devuelve TRUE. Para obtener más información, vea Comentarios.

Valor devuelto

ExAcquireRundownProtectionEx devuelve TRUE si la rutina adquiere correctamente la protección de degradación para el autor de la llamada. De lo contrario, devuelve FALSE. Un valor devuelto de FALSE indica que se ha iniciado la ejecución del objeto y que el objeto debe tratarse como no válido.

Comentarios

Para acceder de forma segura a un objeto compartido, un controlador llama a ExAcquireRundownProtectionEx para adquirir protección de ejecución en el objeto.

El parámetro RunRef apunta a una estructura de EX_RUNDOWN_REF que realiza un seguimiento del estado de ejecución del objeto asociado. Esta información de estado incluye un recuento de instancias de protección de ejecución inactiva que están actualmente en vigor en el objeto. Las rutinas ExAcquireRundownProtectionEx y ExReleaseRundownProtectionEx incrementan y reducen este recuento por cantidades arbitrarias. Dos rutinas relacionadas, ExAcquireRundownProtection y ExReleaseRundownProtection, incrementan y reducen este recuento en uno.

Siempre que el propio bloque de ejecución no esté paginado, se puede llamar a esta función en DISPATCH_LEVEL.

Para obtener más información, consulte Protección contra desaprotección.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Server 2003.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (ver comentarios)
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport)

Consulte también

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection

ExReleaseRundownProtectionEx