Windows Embedded Compact 7 ベースのデバイスで Wi-Fi 接続プロファイルが設定できない場合があります

現象
Windows Embedded Compact 7 ベースのデバイスにて、OS 標準のネットワーク ユーザーインターフェース ダイアログ (NETUI) から、特定の SSID に対して接続を行った場合、正しいセキュリティ設定を指定しているのにも関わらず、接続が行われず Wi-Fi プロファイルの保存も行われない場合があります。また、これは、Silverlight ベースの Wi-Fi 設定アプリケーション (WiFiCpl.exe) を使用した場合にも同様です。

この現象は、Platform Builder のカタログ アイテムから [RAM-based Registry (SYSGEN_FSREGRAM)] が選択されている場合にのみ発生し、[Hive-based Registry (SYSGEN_FSREGHIVE)] が選択されている場合は発生しません。
原因
Wi-Fi の接続プロファイルを設定した場合 Windows Embedded Compact 7 の Connection Manager では、その設定を保存するために RegFlushKey 関数を呼び出します。RegFlushKey 関数は、レジストリ設定を永続記憶装置に保存するために OEM のコードを呼び出します。このとき、OEM のコードにレジストリ保存のコードが実装されていない場合、RegFlushKey 関数は失敗し、Wi-Fi 接続プロファイルの設定も失敗します。

Windows Embedded Compact 7 では、RAM ベースのレジストリでは、レジストリ永続化の仕組みとして OEM に 2 通り提供しています。1 つは、OEM の OAL (OEM Adaptation Layer) で、OEMWriteRegistry 関数と OEMReadRegistry 関数を実装する方法です。もう 1 つは、OEMFS.DLL を用いた、レジストリの永続化を行うドライバーをシステムに組み込む方法です。
これら 2 つの仕組みのうち、いずれも実装されていない場合、この現象が発生します。

RegFlushKey 関数の説明については、以下の MSDN を参照してください。
RegFlushKey (Windows Embedded Compact 7)
解決方法
この現象が発生した場合、OEM は OAL に OEMWriteRegistry 関数と OEMReadRegistry 関数を実装するか、Platform Builder のプロジェクト プロパティから環境変数 SYSGEN_OEMFS を 1 にセットします。

OEMWriteRegistry 関数と OEMReadRegistry 関数については、以下の MSDN を参照してください。
OEMWriteRegistry (Windows Embedded Compact 7)
OEMReadRegistry (Windows Embedded Compact 7)

環境変数 SYSGEN_OEMFS をセットした場合、OS イメージに OEMFS.DLL が組み込まれ、簡易的に現象を回避することができます。OEMFS.DLL は、Platform Builder で提供されるサンプル ドライバーで以下のディレクトリにソースコードがあります。

 %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\FSD\OEMFS

OEMFS.DLL では、KITL (Kernel Independent Transport Layer) が利用可能な場合にデバイス内に存在している Release フォルダを永続記憶とみなしレジストリを保存します。この Release フォルダは、開発環境の _FLATRELEASEDIR となるため、このソリューションは最終的な OS イメージとして使用することができないことを注意してください。
OEMFS.DLL を使用する場合、OEM はサンプルコードで提供される実装を変更し、OEM のハードウェアに合わせた実装を行う必要があります。


レジストリのカタログ アイテムおよび SYSGEN 変数については、以下の MSDN を参照してください。
Registry Catalog Items and Sysgen Variables (Windows Embedded Compact 7)
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2855393 - 最終更新日: 09/29/2016 14:58:00 - リビジョン: 3.0

Windows Embedded Compact 7

  • kbtshoot kbhowto kboem KB2855393
フィードバック