Función StorPortSynchronizeAccess (storport.h)
La rutina storPortSynchronizeAccess proporciona acceso sincronizado a la extensión de dispositivo de un controlador de miniport.
Sintaxis
STORPORT_API BOOLEAN StorPortSynchronizeAccess(
[in] PVOID HwDeviceExtension,
[in] PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
[in, optional] PVOID Context
);
Parámetros
[in] HwDeviceExtension
Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de miniport. Los controladores de miniportar suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados para el HBA. Esta área está disponible para el controlador de miniporte inmediatamente después de que el controlador de miniporte llame a StorPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.
[in] SynchronizedAccessRoutine
Puntero a una rutina proporcionada por el autor de la llamada cuya ejecución se va a sincronizar con la ejecución del ISR asociado a los objetos de interrupción. Para ver un prototipo de esta rutina, consulte la sección Comentarios más adelante en este tema.
[in, optional] Context
Puntero a un área de contexto que se va a pasar a la rutina de devolución de llamada proporcionada por el autor de la llamada cuando se llama a .
Valor devuelto
Valor devuelto de SynchronizedAccessRoutine.
Observaciones
Los controladores de miniporte que operan en modo dúplex completo y que acceden a la información que se comparte entre sus HwStorStartIo rutina y rutina de servicio de interrupción, deben usar esta rutina para acceder a los datos compartidos de una manera sincronizada.
El controlador de miniporte pasa una rutina de devolución de llamada a StorPortSynchronizeAccessy StorPortSynchronizeAccess lo llama después de garantizar el acceso exclusivo a estructuras de datos confidenciales. La rutina de devolución de llamada del controlador de miniport debe ajustarse al siguiente prototipo:
typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
IN PVOID HwDeviceExtension,
IN PVOID Context
);
donde HwDeviceExtension es un puntero a la extensión de dispositivo de hardware y Context es simplemente un puntero a la misma información de contexto que el autor de la llamada proporcionó al llamar a StorPortSynchronizeAccess.
Para obtener más información, vea acceso sincronizado dentro de rutinas de controlador miniport sin sincronizar.
Para obtener más información sobre las rutinas de sincronización, vea KeSynchronizeExecution.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
encabezado de | storport.h (incluya Storport.h) |
biblioteca de | Storport.lib |