Я работаю с функцией NetShareEnum в Windows API.Он может вернуть структуру SHARE_INFO_2 .Эта структура содержит элемент shi2_type
, который определен как «битовая маска флагов, которые определяют тип общего ресурса».Значения битовой маски определены в LMSHare.h
#define STYPE_DISKTREE 0 // Disk drive.
#define STYPE_PRINTQ 1 // Print queue.
#define STYPE_DEVICE 2 // Communication device.
#define STYPE_IPC 3 // Interprocess communication (IPC).
Я не знаю, как интерпретировать STYPE_DISKTREE
.Поскольку это битовая маска с нулем, я не могу использовать побитовое И для маски и сравнивать ее с маской, чтобы увидеть, установлена ли она.То есть
(shi2_type & STYPE_DISKTREE) == STYPE_DISKTREE
всегда верно.Предполагается ли это, что все общие ресурсы по своей природе являются дисковыми?Или я должен сделать это в особом случае и использовать следующее сравнение, чтобы проверить, является ли общий ресурс дисковым ресурсом,
shi2_type == STYPE_DISKTREE
, что означает, что общий ресурс диска является исключительно общим диском и ничего больше.