windows-nt/Source/XPSP1/NT/base/ntos/po/locking.txt
2020-09-26 16:20:57 +08:00

30 lines
877 B
Plaintext

14 April 1997
19 May 1997
Locking Rules for Po interface code
1. The Dope structure and all elements in it
or referred to by it, including idle, notify,
and channel structures, are protected by a
global lock named PopDopeGlobalLock.
use PopLockDopeGlobal and PopUnlockDopeGlobal.
EXCEPTION: PoSetDeviceBusy is allowed to wack
directly on the IdleCount variable.
2. The Irp serial list is protected by the
PopIrpSerialLock, accessed via
PopLockIrpSerialList and PopReleaseIrpSerialList,
note that the later does NOT lower IRQL.
PowerFlags (sys state, dev state, pend, active) are
also protected by the irpserial list lock.
3. Notify network protected by eresource named PopNotifyLock,
dope/notify data protected by the DopeGlobalLock.
4. Lock order:
PopNotifyLock, DopeGlobalLock, IrpSerialLock.