Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina IoAcquireVpbSpinLock adquiere el bloqueo de giro bloque de parámetros de volumen (VPB).
Sintaxis
void IoAcquireVpbSpinLock(
[out] PKIRQL Irql
);
Parámetros
[out] Irql
Puntero a una variable asignada por el llamador en la que guardar el IRQL actual para una llamada posterior a IoReleaseVpbSpinLock. Normalmente, el irql de se guarda en la pila como una variable local.
Valor devuelto
Ninguno
Observaciones
Los sistemas de archivos llaman a ioAcquireVpbSpinLock para adquirir el bloqueo de giro VPB. Este bloqueo de giro global debe adquirirse antes de acceder a cualquiera de los siguientes campos de una VPB:
Marcas (en concreto, VPB_MOUNTED)
DeviceObject
RealDevice
ReferenceCount
Cada llamada correcta a ioAcquireVpbSpinLock debe coincidir con una llamada posterior a IoReleaseVpbSpinLock. Para evitar interbloqueo, el titular del bloqueo de giro VPB debe liberarlo inmediatamente cuando ya no sea necesario.
Antes de usar IoAcquireVpbSpinLock y IoReleaseVpbSpinLock, se recomienda encarecidamente que los escritores de controladores estudien la forma en que se usan estas rutinas en el ejemplo FASTFAT.
Después de llamar a IoAcquireVpbSpinLock, el autor de la llamada se ejecuta en irQL DISPATCH_LEVEL. Al llamar a IoReleaseVpbSpinLock restaura el IRQL original del autor de la llamada.