Hello to all

I have a little issue with paths.

In my C WinAPI program, I would like to know if a path exists, and also if its root exists, and so on.
I'll make an example:

my_path = C:\Programs\Software\MyProject

Ok, I would like to know if my_path exists (I'll do that with PathIsDirectory() function). If my_path doesn't exists, I would like to know if C:\Programs\Software exists. If it doesn't exists, I would like to know if C:\Programs exists, and so on.
There is a function that will split my_path into all it sub-folders? (I mean to split my_path in "C:\", "Programs", "Software", "MyProject")? Or I would do it by searching characters "\\" in the string?

Thank you in advance!