views:

563

answers:

4

Let's say I have a drive such as "C:\", and I want to find out if it's shared and what it's share name (e.g. "C$") is.

To find out if it's shared, I can use NetShareCheck.

How do I then map the drive to its share name? I thought that NetShareGetInfo would do it, but it looks like that takes the share name, not the local drive name, as an input.

+2  A: 

If all else fails, you could always use NetShareEnum and call NetShareGetInfo on each.

Stu
A: 

Use;

SHGetFileInfo with SHGFI_ATTRIBUTES

upon return check the dwAttributes flag for SFGAO_SHARE.

I'm not sure how to find the actual path tho.

Andrew Grant
A: 

I believe you're looking for WNetGetConnection.

Joel Lucsy
+1  A: 

@Joel Lucsy: WNetGetConnection will give you the path associated with a mapped network drive, but not the share name associated with a local drive.

MOE37x3