VOID
KeInitializeSemaphore(
  IN  PRKSEMAPHORE Semaphore,
  IN  LONG Count,
  IN  LONG Limit
  );

Routine Description:

    This function initializes a kernel semaphore object. The initial
    count and limit of the object are set to the specified values.

Arguments:

    Semaphore - Supplies a pointer to a dispatcher object of type
        semaphore.

    Count - Supplies the initial count value to be assigned to the
        semaphore.

    Limit - Supplies the maximum count value that the semaphore
        can attain.

Return Value:

    None.