Función FltAcquirePushLockExclusiveEx (fltkernel.h)
La rutina de FltAcquirePushLockExExclusiveEx adquiere el bloqueo de inserción dado para el acceso exclusivo mediante el subproceso que realiza la llamada.
Sintaxis
VOID FLTAPI FltAcquirePushLockExclusiveEx(
[in, out] PEX_PUSH_LOCK PushLock,
ULONG Flags
);
Parámetros
[in, out] PushLock
Puntero de bloqueo de inserción opaco. Este puntero debe haberse inicializado mediante una llamada anterior a FltInitializePushLock.
Flags
Máscara de bits de marcas que controlan los atributos del bloqueo. marcas puede ser el siguiente valor.
Bandera | Significado |
---|---|
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST | Deshabilite el aumento automático del bloqueo de inserción. |
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST | Obsolescente; no tiene ningún efecto. Habilita el aumento automático del bloqueo de inserción. |
Valor devuelto
Ninguno.
Observaciones
fltAcquirePushLockExclusiveEx adquiere el bloqueo de inserción especificado para el acceso exclusivo mediante el subproceso que realiza la llamada.
Los bloqueos de inserción son similares a las estructuras ERESOURCE (también denominadas recursos) en que se pueden adquirir para el acceso compartido o exclusivo. Para obtener más información sobre los bloqueos de inserción, consulte la entrada de referencia para FltInitializePushLock.
A diferencia de las estructuras ERESOURCE, los bloqueos de inserción no se pueden adquirir de forma recursiva. Si el autor de la llamada ya ha adquirido el bloqueo de inserción para acceso exclusivo o compartido, el subproceso se bloqueará.
Cuando el autor de la llamada tenga acceso exclusivo al bloqueo de inserción determinado depende de lo siguiente:
Si el bloqueo de inserción no está registrado actualmente, se concede acceso exclusivo inmediatamente al subproceso actual.
Si otro subproceso ya ha adquirido el bloqueo de inserción para el acceso exclusivo o compartido, el subproceso actual se coloca en un estado de espera hasta que se pueda adquirir el bloqueo de inserción.
Requisitos
Requisito | Valor |
---|---|
encabezado de | fltkernel.h |
biblioteca de | FltMgr.lib |