There's currently no built-in single function for creating junctions like there is for symbolic links or hard links. Like snoone said, it's a reparse point, so you have to use DeviceIoControl to interact with it. If I remember correctly, the source he linked is the same source I played around with when I was trying to figure this out, and I don't think I ran into any issues with it.
Alternatively, if you're not against using an external library in your application, and you're going to need functionality for reading/checking/deleting junctions, you might want to look into reparselib, which is a pretty decent library wrapping junctions, symbolic links, mount points, and custom reparse points.