если речь об windows, то функция listen не инициирует ождидания входящих подключений. это делают функции типа accept — например
AcceptEx. именно это функция генерирует IRP для которого возвращается STATUS_PENDING. а отменить это IRP (то есть прекратить ожидание входядящих соеденений) можно с помощью вызова
CancelIo