Archive for 2012/05/07

WEC/WinCE から共有ディレクトリ(ファイルサーバ)をアクセス

前回のエントリで、.NET CF アプリケーションから WNetAddConnection3() を呼び出す例を述べました。その例の説明で書いたように、WNetAddConnection3() は、Windows フィルサーバとの接続などを行う API です。

■Windows ファイルサーバに対するクライアント機能
Windows ファイルサーバ(CIFS サーバ)をアクセスする機能、つまり、Windows ファイルサーバに対するクライアント機能は、”Windows Networking API/Redirector” というコンポーネントになっており、SYSGEN 変数の SYSGEN_REDIR を設定することにより、OS イメージに組み込まれます。詳細については、リファレンスの次のページをご覧ください。

 Windows Networking API/Redirector Reference (Windows Embedded Compact 7)
 http://msdn.microsoft.com/en-us/library/ee495264.aspx

 Windows Networking API/Redirector (Windows Embedded CE 6.0)
 http://msdn.microsoft.com/en-US/library/ee494246(v=winembedded.60).aspx

Platform Builder のカタログ項目ビュー(Catalog Items View)の階層で言うと、次の項目を選択すると、SMB/CIFS クライアント機能が OS Design に組み込まれます(※WEC 7 の場合):

 <OS Design 名>
 Core OS
  Windows Embedded Compact
   Communication Services and Networking
    Networking – General
★    Windows Networking API/Redirector (SMB/CIFS)

ここで、”Redirector” という Windows の用語に馴染みのない方は、たとえば、次の解説記事が参考になるのではないかと思います。

 「基礎から学ぶWindowsネットワーク 第20回」
 http://www.atmarkit.co.jp/fwin2k/network/baswinlan020/baswinlan020_03.html

 「基礎から学ぶWindowsネットワーク」
 http://www.atmarkit.co.jp/fwin2k/network/baswinlan002/baswinlan002_03.html

なお、CIFS クライアントだけでなく、CIFS サーバ機能も WEC/WinCE に付属しています。こちらは、カタログ項目ビューの階層の、次の場所にあります:

 <OS Design 名>
 Core OS
  Windows Embedded Compact
   Communication Services and Networking
    Servers
     File Server (SMB/CIFS)

CIFS サーバに関する記述は、なぜか WEC 7 のリファレンスに見当たりません。興味のある方は、WinCE 6.0 のリファレンスをご覧ください。

 File Server (Windows Embedded CE 6.0)
 http://msdn.microsoft.com/en-us/library/ee500573(v=winembedded.60).aspx

■SMB/CIFS クライアント機能を組み込む場合の注意点
さて、SMB/CIFS クライアント機能(Windows Networking API/Redirector)を組み込む場合、一つ注意しなければいけません。WEC/WinCE のリファレンスには、このコンポーネントが依存するのは、TCP/IP (SYSGEN_TCPIP) と Winsock (SYSGEN_WINSOCK)、および NDIS (SYSGEN_NDIS) とだけ書かれているのですが、それらのコンポーネントだけでは、SMB/CIFS サーバにアクセスすることは、できません。

CIFS サーバに接続する場合は、認証処理が必要ですが、認証処理に必要なコンポーネントは、SMB/CIFS クライアント機能を組み込んでも自動的に組み込まれないため、明示的に組み込む必要があるのです。認証処理に必要なコンポーネントは、WEC 7 ですと、カタログ項目ビューの階層の、次の場所にあります:

 <OS Design 名>
 Core OS
  Windows Embedded Compact
   Security
    Authentication Services (SSPI)
★    Kerberos
★    NTLM

通常は、NTLM だけを選択しても CIFS サーバに接続できるでしょう。お手元の環境で、試してみて下さい。これらのコンポーネントについては、リファレンスの次のページで説明されています(※WEC 7 の場合)。

 NTLM Security Support Provider (Windows Embedded Compact 7)
 http://msdn.microsoft.com/en-us/library/ee498104.aspx

 Kerberos Security Support Provider (Windows Embedded Compact 7)
 http://msdn.microsoft.com/en-us/library/ee498711.aspx

 Authentication Services (Windows Embedded Compact 7)
 http://msdn.microsoft.com/en-us/library/ee498877.aspx

Add comment 2012/05/07 koga


Categories

Links

Posts by Authors

Recent Posts

Calendar

2012年5月
« 4月   6月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Posts by Month

Posts by Category

Meta