Compartir a través de


Función ExAcquireRundownProtection (wdm.h)

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

Sintaxis

BOOLEAN ExAcquireRundownProtection(
  [in, out] PEX_RUNDOWN_REF RunRef
);

Parámetros

[in, out] RunRef

Puntero a una estructura de 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.

Valor devuelto

ExAcquireRundownProtection 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.

Observaciones

Para acceder de forma segura a un objeto compartido, un controlador llama a ExAcquireRundownProtection para adquirir protección de ejecución en el objeto. La rutina devuelve TRUE para indicar que la protección de desaprotección está en vigor. Cuando la protección contra la ejecución está en vigor, el controlador puede acceder de forma segura al objeto sin riesgo de que el objeto se elimine antes de que se complete el acceso.

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

Después de completar el acceso, el controlador llama a ExReleaseRundownProtection para liberar la protección de ejecución adquirida anteriormente.

Si exAcquireRundownProtection devuelve FALSE, el objeto ya no es accesible. Por ejemplo, si el objeto se va a reemplazar por uno nuevo, el autor de la llamada debe esperar a que el propietario del objeto cree el nuevo objeto y, a continuación, negociar el acceso al nuevo objeto.

Para obtener más información, vea Run-Down Protection.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows XP.
de la plataforma de destino de Universal
encabezado de wdm.h (incluya Wdm.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= DISPATCH_LEVEL (ver comentarios)
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport)

Consulte también

EX_RUNDOWN_REF

ExInitializeRundownProtection

ExReleaseRundownProtection