Función IoAcquireVpbSpinLock (ntifs.h)
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 autor de la llamada en la que guardar el IRQL actual para una llamada posterior a IoReleaseVpbSpinLock. Normalmente , Irql se guarda en la pila como una variable local.
Valor devuelto
None
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 (específicamente, 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 e IoReleaseVpbSpinLock, se recomienda encarecidamente a los escritores de controladores que 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. La llamada a IoReleaseVpbSpinLock restaura el IRQL original del autor de la llamada.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport) |