2016-09-25 2 views
3

Я пытаюсь настроить сервер совместного использования файлов SMB на устройстве Windows CE 6.SMB Fileharing в Windows CE 6

Мои первоначальные попытки были в основном с настольной версией NK.exe. Когда я начинаю, модуль SMB0: работаю как smbserver.dll

я настроил (надеюсь) соответствующие значения реестра, а затем вновь начал процесс SMBServer:

услуга обновить модуль SMB0:

Однако , Я никогда не вижу рекламу, которую рекламирует, когда я пытаюсь подключить SMB-клиента (например, просматривая общие папки в окнах рабочего стола или пытаюсь подключить клиента SMB к IP-адресу устройства WinCE.

Мне интересно если необходимо, чтобы настройки реестра SMB были доступны во время загрузки? Мои устройства НЕ использует реестр на основе улья, поэтому для параметров реестра недоступно время загрузки. Я надеялся, что обновление процесса SMB-сервера будет достаточно для обмена файлами. Таким образом, я могу просто установить значения реестра в программной программе, перезапустить службу SMB и не перестраивать киоск NK.exe (киоск 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 и затем добавить аутентификацию и заставить ее работать в среде киоска.

Я был бы признателен за любую помощь!

ответ

2

Я бы сказал, что вам нужно установить "Keep"=dword:1 согласно MSDN docs:

Keep По умолчанию установлено значение 1. Если установлено в ноль (0), то DLL будет выгружается сразу после инициализации ,

Для сервера SMB не требуется реестр на основе улья. Мы использовали его в нескольких проектах с регистрацией только на основе RAM.

Для справки, эти параметры реестра, которые мы используем на CE-подвергать корневую папку в \\<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 
+1

Приятный улов за ценность для Keep! Я думал, что поставлю его на 1, но я ошибся. – Andromeda

+1

Я вижу службу как запущенную, как до, так и после обновления. Я рад узнать, что сервер SMB может работать с реестром на основе RAM! Я проведу тест с Keep set на 1, и скрестите пальцы. Благодаря! – Andromeda

+1

Я только что сделал эксперимент. Я установил значения реестра с помощью локального редактора реестра на устройстве WinCE (на этот раз я установил Keep to 1). Затем я выпустил «службы обновления SMB0:» Я все еще что-то пропустил, хотя я все еще не вижу устройство в качестве сервера SMB. Так что я все еще смущен. Спасибо за ваш ответ, хотя! – Andromeda

2

Там другая проблема при игре здесь, которая является то, что Windows CE 6 SMB-сервер по умолчанию с использованием NTLM версии 1. Windows 7 и выше, по умолчанию, требуют NTLM версии 2.

для того, чтобы в вашей системе Windows, 7+ увидеть долю SMB, необходимо изменить политику безопасности:

в Windows 7, запустите secpol.msc, найти параметры безопасности -> Локальные политики -> Параметры безопасности.Найдите уровень проверки подлинности LAN Manager и установите для него «Только отправьте ответ NTLM»

Смежные вопросы