What's the difference between OpenVirtualDisk() and CreateFile() function?

These both does the same work that is opening a vhd file... I want to ask the specific scenarios in which we use these two functions...please correct me if I'm wrong somewhere