Вы должны использовать Wnet API от pocketpc и попробовать подключиться к общему ресурсу. Существует
а) нет буквы дисков на PocketPC
и
б) нет API, чтобы проверить наличие доли.
Попытка подключения, можно использовать
DWORD WNetAddConnection3(HWND hwndOwner, LPNETRESOURCE
lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserName,
DWORD dwFlags);
с LPNETRESOURCE существа:
typedef struct _NETRESOURCE {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPWSTR lpLocalName;
LPWSTR lpRemoteName;
LPWSTR lpComment;
LPWSTR lpProvider;
} NETRESOURCE, *LPNETRESOURCE;
Это похоже на ПК. Вы можете просмотреть удаленный хост или ввести URI для общего ресурса, но нет API для проверки наличия общего ресурса. Вы можете выпустить команду NET VIEW на ПК для перечисления ресурсов, разделяемых данным доменом, рабочей группой или хостом.
Вы можете использовать WNetOpenEnum, чтобы получить список общих ресурсов и посмотреть, если ресурс существует в результатах: http://msdn.microsoft.com/en-us/library/ms898713.aspx
OpenNetCF предлагает функцию .net для вас:
/// <summary>
/// Enumerates network resources.
/// </summary>
/// <param name="remoteName">The name of the server</param>
/// <returns>Array of NetworkResource class</returns>
public static NetworkResource[] GetNetworkResources(string remoteName)
является частью пространство имен OpenNETCF.Net. Поэтому вам не нужно указывать свой собственный p/invoke для вызова API WNet, который вам нужен.
см. Также http://msdn.microsoft.com/en-us/library/ms885813.aspx