Compartilhar via


estrutura KE_SRCU_LOCK (wdm.h)

A estrutura de KE_SRCU_LOCK representa o contexto de bloqueio usado nas seções críticas do lado de leitura SRCU (Copy-Updateleitura adormecida).

Sintaxe

typedef struct _KE_SRCU_LOCK {
  ULONG_PTR Placeholder[2];
} *PKE_SRCU_LOCK, KE_SRCU_LOCK;

Members

Placeholder[2]

Uma matriz de dois ULONG_PTR valores que servem como armazenamento opaco para o contexto de bloqueio srcu. O conteúdo desse campo é específico da implementação e não deve ser acessado ou modificado por drivers.

Observações

Essa estrutura é retornada pelas funções KeSrcuReadLock e KeRcuReadLock e deve ser passada para as funções de desbloqueio correspondentes.

Essa estrutura é opaca para drivers. Os drivers nunca devem:

  • Acesse ou modifique o Placeholder campo diretamente.
  • Faça suposições sobre o layout interno da estrutura.
  • Copie ou serialize o conteúdo da estrutura.
  • Use a estrutura em diferentes partições SRCU.

Normalmente, a estrutura é usada no seguinte padrão:

PSRCU_PARTITION SrcuPartition = KeSrcuAllocate();
KE_SRCU_LOCK LockContext;

// Enter read-side critical section
LockContext = KeSrcuReadLock(SrcuPartition);

// Access RCU-protected data safely
// ...

// Exit read-side critical section
KeSrcuReadUnlock(SrcuPartition, LockContext);

O contexto de bloqueio retornado pela função de bloqueio de leitura deve ser passado para a função de desbloqueio correspondente para sair corretamente da seção crítica. O uso de um contexto de bloqueio incorreto ou não inicializado pode resultar em instabilidade do sistema.

Requirements

Requirement Value
Cliente mínimo suportado Windows 11, versão 24H2
Servidor mínimo compatível Windows Server 2025
Header wdm.h (inclua Wdm.h)

Consulte também

KeSrcuReadLock

KeSrcuReadUnlock

KeRcuReadLock

KeRcuReadUnlock

KeSrcuAllocate

KeSrcuSynchronize