Blocks until exclusive ownership of the lock is acquired.
kLock ownership is recursive - the lock is relinquished when the number of calls to kLock_Exit equals the number of calls to kLock_Enter.