Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
Placeholdercampo 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) |