Compartir a través de


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

Consulte también

keSynchronizeExecution