gpt4 book ai didi

windows-ce - Windows CE 6 上的 SMB 文件共享

转载 作者:行者123 更新时间:2023-12-04 18:03:03 39 4
gpt4 key购买 nike

我正在尝试在 Windows CE 6 设备上配置 SMB 文件共享服务器。

我最初的尝试主要是使用桌面版本的 NK.exe。
当我启动时,SMB0: 作为 smbserver.dll 运行

我已经设置(希望)合适的注册表值,然后重新启动 SMBServer 进程:

服务刷新 SMB0:

但是,当我尝试附加 SMB 客户端(例如,通过在桌面窗口中查找文件共享,或尝试将 SMB 客户端连接到 WinCE 设备的 IP 地址)时,我从未看到广告服务。

我想知道 SMB 注册表设置是否需要在启动时可用?我的设备未使用基于配置单元的注册表,因此注册表设置在启动时不可用。我希望刷新 SMB 服务器进程足以让文件共享继续进行。这样,我可以在我的应用程序中以编程方式设置注册表值,重新启动 SMB 服务,而不必重建 kiosk NK.exe(kiosk NK.exe 似乎包含 smbserver.dll - 它是由不是很称职的第三方,重建它的工具可以追溯到 Visual Studio 2005。重建 NK.exe 会很“有趣”)。

我是否需要重建操作系统才能使用基于配置单元的注册表?

有任何想法吗?

我的注册表设置都在 HKEY_LOCAL_MACHINE 下:

            Ident\Name "aName"
Ident\Desc, "A string"
Ident\OrigName "Another string"

\Services\Smbserver\SMB\Shares\VirtualRoot\Type Dword:0
\Services\Smbserver\SMB\Shares\VirtualRoot\Path "a valid path"
\Services\Smbserver\SMB\Shares\VirtualRoot\UserList "*"

\Services\Smbserver\AdapterList "*"
\Services\Smbserver\Keep DWord:0
\Services\Smbserver\Prefix "SMB"
\Services\Smbserver\Index DWord: 0

\Services\Smbserver\SHARES\UseAuthentication DWord:0L

正如你所看到的,我暂时关闭了身份验证——我希望首先让它在 CE 桌面环境中工作,然后添加身份验证,让它在信息亭环境中工作。

我将不胜感激任何帮助!

最佳答案

我会说你需要设置 "Keep"=dword:1根据 MSDN docs :

Keep Default set to 1. If this is set to zero (0), the DLL will be unloaded immediately after initialization.



SMB 服务器不需要基于配置单元的注册表。我们已经在多个项目中使用了它,只有一个基于 RAM 的注册表。

作为引用,这些是我们在 CE 7 上用于将根文件夹公开为 \\<IP address>\Root 的注册表设置。 :
[HKEY_LOCAL_MACHINE\Services\SMBServer\Shares\Root]
"Path"=""
"Type"=dword:0

[HKEY_LOCAL_MACHINE\Services\SMBServer]
"AdapterList"="*"
"Keep"=dword:1
"Prefix"="SMB"
"Index"=dword:0
"DLL"="smbserver.dll"
"Order"=dword:12

[HKEY_LOCAL_MACHINE\Services\Smbserver\Shares]
"UseAuthentication"=dword:0
"NoSecurity"=dword:1

关于windows-ce - Windows CE 6 上的 SMB 文件共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39689835/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com