簡體   English   中英

誰能幫助我使用Windows API NetApi32?

[英]Can anyone help me with the Windows API NetApi32?

我正在嘗試獲取特定計算機上的共享列表。 因此,我決定使用Windows API NetApi32.dll。 這是我的代碼段:

Dim svr As String = Environment.MachineName
Dim level As Integer = 2
Dim sharesRead As Integer, totalEntries As Integer, nRet As Integer, hResume As Integer = 0
Dim pBuffer As IntPtr = IntPtr.Zero

nRet = NetApi32.NetShareEnum(svr, level, pBuffer, -1, sharesRead, totalEntries, hResume)

我得到的返回碼為1231,但似乎找不到等於什么的代碼。 如果這是不正確的方法,誰能指出正確的方向呢?

http://msdn.microsoft.com/zh-CN/library/ms681383(VS.85).aspx

ERROR_NETWORK_UNREACHABLE 1231(0x4CF)

無法到達網絡位置。

您確定您的NetShareEnum定義有效嗎? 我對VB.NET不太熟悉,但是過去我曾在C#中使用過netapi32,並且通常沒有問題。

但是無論如何,如果您想枚舉計算機上的所有份額,則可以采用另一種方式。 在以下注冊表項中,您可以找到所有當前的計算機共享:

HKLM \\ System \\ CurrentControlSet \\ Services \\ LanmanServer \\ Shares

每股有一對鍵值對。 值是REG_MULTI_SZ類型,看起來像簡單的ini。 檢查“ type = 0”(文件共享),並讀取路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM