You may have to have wildcard (*) option with your hosting company for virtual subdomains.
Basically, you cannot create a new blog on a virtual subdomain that does not exist. It won't exist until you create it, and you can't create it automatically if you don't have the option to do so through your hosting company.
Usually, if you are using some type of control panel, you can create a (virtual) subdomain, with the path to the root (the main site uri). It is not too efficient if you are trying to have an automated blog community, where people can create a blog without having to wait for you to create the space for it. It is efficient if you dont want people to automatically sign up for a blog.
I hope this helps you out.