The Unlock method releases the lock on the
specified server and allows any blocked threads to resume execution.
Only one server may be locked at any one time, and only the thread
which established the lock can unlock the server.
Every time the Lock method is called, an
internal lock counter is incremented, and the lock will not be
released until the lock count drops to zero. This means that each
call to the Lock method must be matched by an equal number of
calls to the Unlock method. Failure to do so will
result in the server becoming non-responsive as it remains in a
locked state.
The program should always check the return value from this
method, and should never assume that the lock has been released. If
a potential deadlock situation is detected, this method will fail
and return a value of zero.