Windows/C++: как определить имя общего ресурса, связанного с общим диском?

Допустим, у меня есть диск, такой как C:\, и я хочу узнать, является ли он общим и каково его имя (например, C$).

Чтобы узнать, является ли он общим, я могу использовать NetShareCheck.

Как мне тогда сопоставить диск с его общим именем? Я думал, что подойдет NetShareGetInfo. это, но похоже, что в качестве входных данных используется имя общего ресурса, а не имя локального диска.


person Isaac Moses    schedule 15.08.2008    source источник


Ответы (3)


Если ничего не помогает, вы всегда можете использовать NetShareEnum и вызовите NetShareGetInfo для каждого.

person Stu    schedule 15.08.2008

Я полагаю, что вы ищете WNetGetConnectionA или WNetGetConnectionW.

person Joel Lucsy    schedule 16.08.2008

Использовать;

SHGetFileInfo with SHGFI_ATTRIBUTES

по возвращении проверьте флаг dwAttributes для SFGAO_SHARE.

Я не уверен, как найти фактический путь, хотя.

person Andrew Grant    schedule 15.08.2008