The _InterlockedDecrement intrinsic has the following declaration:
long _InterlockedDecrement( long *lp );
This intrinsic function decrements the value of the semaphore data location pointed to by lp and returns the new value.