このドキュメントでは、Microsoft® Windows® CE 5.0 に関する重要な情報について説明します。
目次
システムの必要条件
インストール
テクニカル サポートとコミュニティ
Third Party Solutions for Windows CE 5.0 CD
既知の問題
システムの必要条件
Windows CE 5.0 を使用するために必要なシステムの必要条件は、次のとおりです。 
400 MHz 以上の Pentium II プロセッサ。1 GHz のプロセッサを推奨します。 
Microsoft Windows 2000 Professional Service Pack 4 以降、または Windows XP Professional Service Pack 1 以降。 
Microsoft .NET Framework Version 1.1。 
256 MB の RAM。512 MB の RAM を推奨します。 
一般的なシングル マイクロプロセッサだけをインストールする場合は、ハード ディスクに 1.7 GB の空き領域が必要です。Platform Builder for Microsoft Windows CE 5.0 ツールセットを含む製品全体をインストールする場合は、約 17 GB の空き領域が必要です。 
VGA 以上の解像度のモニタ。Super VGA を推奨します。 
Microsoft Mouse、または類似のポインティング デバイス。 
シリアル ポートまたはイーサネット カード (デバッグ用)。LAN 用のハブを推奨します。 
CD-ROM ドライブまたは DVD-ROM ドライブ。 
インストール
Windows CE 5.0 は、複数の CD または 1 枚の DVD で配布されます。セットアップ アプリケーション Setup.exe で、CD または DVD に格納されているファイルを開発用ワークステーションにコピーします。
Windows CE 5.0 をインストールするには
注意   Windows CE 5.0 をインストールするには、管理者権限が必要です。
Windows 管理者権限で開発用ワークステーションにログオンします。 
開発用ワークステーションに Microsoft .NET Framework Version 1.1 がインストールされていない場合は、Dotnetfx.exe を実行して .NET Framework をインストールします。 
Dotnetfx.exe は、Windows CE 5.0 の 1 枚目の CD または DVD のルート ディレクトリにあります。 
Windows CE 5.0 の 1 枚目の CD または DVD のルート ディレクトリから Setup.exe を実行します。 
自動実行機能が有効になっている場合、CD または DVD を挿入すると Setup.exe が実行されます。 
[ようこそ] ダイアログ ボックスが表示されたら、[インストール] をクリックして画面上の指示に従います。 
注意   Platform Builder のインストール サイズを減らすには、[カスタム セットアップ] ダイアログ ボックスで必要なマイクロプロセッサのみを選択します。
インストール中、プログレス バーの表示が正確でないことがあります。特に、複数の CPU で大規模なインストールを行っている場合にプログレス バーの表示が正確でなくなることがあります。
インストールにかかる時間は、インストールの種類によって異なります。 
ツールのみのインストール : 15 ～ 20 分 
標準インストール (ツール、テスト キット、CEPC、およびエミュレータ): 20 ～ 30 分 
完全インストール : 2 時間以上 
インストールの問題
セットアップでは Windows CE 4.x から Windows CE 5.0 へのアップグレードはサポートされていない
RDP を介して Windows CE 5.0 をインストールすると、仮想スイッチのインストール時に接続が切断される場合がある
Windows CE 5.0 エミュレータが正常にインストールされない場合がある
Windows CE 5.0 をアンインストールするには再起動が必要になる場合がある
RDP またはターミナル サービスを介して Windows CE 5.0 をインストールする機能を MMC で有効にする
Platform Builder の複数のバーションを古いバージョンから順にインストールする
Windows CE および eMbedded Visual C++ のアンインストール後に残ったファイルを削除する
eMbedded Visual C++ 4.0 Service Pack 4 日本語版のインストール後、標準 SDK 420 を使用するにはホストの再起動が必要になる場合がある
Windows CE 5.0 のアンインストール後にシステムをクリーンアップする
Virtual Machine Network Services ドライバを手動でインストールするには
Platform Builder のインストール中に Visual Studio のヘルプが機能しない場合がある
異なるアカウントでヘルプを起動すると、[セットアップ] ダイアログ ボックスが表示される場合がある
他のアプリケーションを起動するときに [インストールの準備中] ダイアログ ボックスが表示される場合がある
InstallShield スクリプト エンジンの問題により、Platform Builder のインストールが起動中に中断される
セットアップでは Windows CE 4.x から Windows CE 5.0 へのアップグレードはサポートされていない
Windows CE 4.x からアップグレードするには、Windows CE 5.0 をインストールする前に Windows CE 4.x を削除する必要があります。Windows CE 4.x を削除するには、コントロール パネルからプログラムの追加と削除を実行します。 
Windows CE 5.0 と既存の Windows CE 4.x を共存させるには、Windows CE 5.0 をインストールします。
RDP を介して Windows CE 5.0 をインストールすると、仮想スイッチのインストール時に接続が切断される場合がある
リモート デスクトップ プロトコル (RDP) セッションを介して Windows CE 5.0 をインストールすると、仮想スイッチ ドライバのインストール時に RDP 接続が切断される場合があります。 
ドライバのインストールが完了したら、接続を再度確立できます。
Windows CE 5.0 エミュレータが正常にインストールされない場合がある
インストール中に、重要なエミュレータ コンポーネントが正常にインストールされなかったことを通知するメッセージが表示される場合があります。 
この問題を回避するには、次の手順を実行します。 
[はい] をクリックして、インストールを続行します。 
インストールが完了したら、再度 Setup.exe を実行し、修復オプションを選択します。 
それでもまだコンポーネントをインストールできない場合は、Windows CE 5.0 をアンインストールし、再起動してから、再度 Setup.exe を実行します。 
Windows CE 5.0 をアンインストールするには再起動が必要になる場合がある
Windows CE 5.0 をアンインストールするときに、開発用ワークステーションの再起動が必要になる場合があります。 
インストール中に再起動するよう指示された場合は、今後 Windows CE をインストールするときの問題を回避するため、開発用ワークステーションを再起動してください。
RDP またはターミナル サービスを介して Windows CE 5.0 をインストールする機能を MMC で有効にする
システム管理者は、リモート デスクトップ プロトコル (RDP) またはターミナル サービス セッションを介してプログラムをインストールすることはできません。 
ただし、Microsoft Management Console (MMC) グループ ポリシー設定でこの機能を有効にすることができます。
この問題を回避するには、次の手順を実行します。 
[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。 
「gpedit.msc」と入力し、[OK] をクリックします。 
[グループ ポリシー] ウィンドウが表示されます。 
[コンピュータの構成]、[管理用テンプレート]、[Windows コンポーネント] の順でノードを展開します。 
[Windows インストーラ] をクリックします。 
右側のペインに表示されている [管理者がターミナル サービス セッションからインストールできるようにする] をダブルクリックします。 
プロパティのダイアログ ボックスが表示されます。 
[設定] タブをクリックし、[有効] をクリックします。 
[OK] をクリックします。 
これで、このコンピュータからターミナル サービスを介してログオンして、Windows CE 5.0 などのプログラムをインストールできるようになります。
Platform Builder の複数のバーションを古いバージョンから順にインストールする
Platform Builder の複数のバージョンを 1 台のワークステーションにインストールするには、古いバージョンの Platform Builder をインストールしてから新しいバージョンをインストールする必要があります。
Windows CE および eMbedded Visual C++ のアンインストール後に残ったファイルを削除する
Windows CE 5.0、Microsoft eMbedded Visual C++®、およびすべての Windows CE 関連の SDK をアンインストールした後も、<DRIVE:\>Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\Bin ディレクトリにファイルが残っている場合があります。 
この場合は、アンインストール作業の後に、この \Bin ディレクトリのファイルを手動ですべて削除してください。
eMbedded Visual C++ 4.0 Service Pack 4 日本語版のインストール後、標準 SDK 420 を使用するにはホストの再起動が必要になる場合がある
eMbedded Visual C++ 4.0 日本語版を次の順序でインストールした場合、SDK 420 エミュレータを起動するには、ホストを再起動する必要があります。 
eMbedded Visual C++ 4.0 日本語版 
Service Pack 4 日本語版 
Windows XP 日本語版への SDK 420 
SDK 500 エミュレータを使用する場合、ホストの再起動は必要ありません。
Windows CE 5.0 のアンインストール後にシステムをクリーンアップする
Windows CE 5.0 を問題なく再インストールするには、以前インストールした Windows CE 5.0 をアンインストールした後に、システムのクリーンアップが必要になる場合があります。 
特に、エミュレータのドライバ コンポーネントが削除されているかどうかを確認してください。削除されていない場合は、手動でアンインストールしてください。
以前インストールした Virtual PC Application Services ドライバを手動でアンインストールするには
注意   コンピュータに Windows CE 5.0 よりも前のバージョンの Platform Builder がインストールされている場合は、このドライバをアンインストールしないでください。
[スタート] ボタンをクリックし、[マイ コンピュータ] を右クリックします。次に [管理] をクリックします。 
[コンピュータの管理] ウィンドウで、[システム ツール] を展開し、[デバイス マネージャ] をクリックします。 
右側のペインで、[システム デバイス] を展開します。 
[Virtual PC Application Services] を右クリックし、[プロパティ] をクリックします。 
[プロパティ] ダイアログ ボックスで、[ドライバ] タブをクリックし、[削除] をクリックします。 
Virtual PC Application Services ドライバのアンインストール後に、次の操作を実行します。 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VPCAppSv レジストリ キーを削除します。このレジストリ キーには、このドライバへの参照数が記録されています。 
C:\Windows\System32\Drivers から VPCAPPSV.SYS ドライバを削除します。 
以前インストールした Virtual PC Virtual Machine Manager ドライバを手動でアンインストールするには 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmm レジストリ キーを削除します。このレジストリ キーには、このドライバへの参照数が記録されています。 
C:\Windows\System32\Drivers から VMM.SYS ドライバを削除します。 
Virtual Machine Network Services ドライバまたは Virtual PC Emulated Ethernet Switch ドライバを手動でアンインストールするには
注意   コンピュータに Windows CE 5.0 よりも前のバージョンの Platform Builder がインストールされている場合は、このサービスまたはファイルを削除しないでください。
[スタート] ボタンをクリックし、[コントロール パネル] をクリックします。 
[ネットワーク接続] をクリックします。 
Windows XP を実行していて、コントロール パネルに [ネットワーク接続] が表示されない場合は、カテゴリ表示になっています。クラシック表示に切り替えてから、[ネットワーク接続] をクリックしてください。 
[ローカル エリア接続] を右クリックし、[プロパティ] をクリックします。 
[プロパティ] ダイアログ ボックスで、[Virtual Machine Network Services] または [Virtual PC Emulated Ethernet Switch] (どちらか一方が表示されます) をクリックし、[削除] をクリックします。 
Virtual Machine Network Services ドライバまたは Virtual PC Emulated Ethernet Switch ドライバをアンインストールした後、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VPCNetS2 レジストリ キーを削除します。このレジストリ キーには、どちらか一方のドライバへの参照数が記録されています。 
C:\Windows\System32\Drivers ディレクトリから、次のどちらかのドライバを削除します。 
Virtual Machine Network Services ドライバの場合は VMNeSrv.sys 
Virtual PC Emulated Ethernet Switch ドライバの場合は VPCNETS2.SYS 
Virtual Machine Network Services ドライバを手動でインストールするには
Virtual Machine Network Services ドライバを手動でインストールする手順を次に示します。 
[スタート] ボタンをクリックし、[コントロール パネル] をクリックします。 
[ネットワーク接続] をクリックします。 
Windows XP を実行していて、コントロール パネルに [ネットワーク接続] が表示されない場合は、カテゴリ表示になっています。クラシック表示に切り替えてから、[ネットワーク接続] をクリックしてください。 
[ローカル エリア接続] を右クリックし、[プロパティ] をクリックします。 
[ネットワーク コンポーネントの種類の選択] ダイアログ ボックスで、[サービス] をクリックし、[追加] をクリックします。 
[ネットワーク サービスの選択] ダイアログ ボックスで、[ディスク使用] をクリックします。 
[ディスクからインストール] ダイアログ ボックスで、[参照] をクリックします。 
C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\Bin に移動して [VMNetSrv.inf] をクリックし、[開く] をクリックします。 
[ディスクからインストール] ダイアログ ボックスで、[OK] をクリックします。 
[製造元] ボックスの一覧の [Microsoft] をクリックします。 
[ネットワーク サービス] ボックスの一覧の [Virtual Machine Network Services] をクリックし、[OK] をクリックします。 
Platform Builder のインストール中に Visual Studio のヘルプが機能しない場合がある
Platform Builder は、Visual Studio とヘルプ コンポーネントを共有します。したがって、Platform Builder のセットアップ中は、Visual Studio のヘルプが機能しない場合があります。Platform Builder のインストール中には、Visual Studio のヘルプを使用しないでください。
異なるアカウントでヘルプを起動すると、[セットアップ] ダイアログ ボックスが表示される場合がある
Platform Builder をインストールしたときとは異なるアカウントで Platform Buillder を使用すると、[Help 2.0 Setup] ダイアログ ボックスが表示される場合があります。
他のアプリケーションを起動するときに、[インストールの準備中] ダイアログ ボックスが表示される場合がある
Platform Builder をインストールした後で、Visual Studio .NET 2003、Visual Studio ヘルプのドキュメント ビューア、または Microsoft Office アプリケーションを開くと、[インストールの準備中] ダイアログ ボックスが表示される場合があります。このダイアログ ボックスは、インストール オン デマンド機能によるものです。インストーラが完了するまで待つ必要があります。
これらのアプリケーションを使用するときにこのダイアログ ボックスが引き続き表示される場合は、次の手順を実行してください。 
.reg という拡張子を持つテキスト ファイルを作成します。 
このファイルに次のテキストを追加します。 
Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.2] 
@="Microsoft Office 10.0 Object Library" 
"PrimaryInteropAssemblyName"="Office, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
[HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.2\0] 
[HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.2\0\win32] 
@="C:\\Program Files\\Common Files\\Microsoft Shared\\office10\\mso.dll" 
[HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.2\FLAGS] 
@="0" 
[HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.2\HELPDIR] 
@="" 
このファイルを保存して閉じます。 
このファイルをダブルクリックします。レジストリに情報を追加するかどうかを確認するメッセージが表示されたら、[はい] をクリックします。 
InstallShield スクリプト エンジンの問題により、Platform Builder のインストールが起動中に中断される
InstallShield スクリプト エンジンのインストールに関する問題により、Platform Builder のインストール プロセスが起動中に中断される場合があります。
この問題を解決するには、ISSCRIPT8.MSI アプリケーションを実行してから Platform Builder のセットアップ アプリケーションを再起動します。ISSCRIPT8.MSI は、Platform Builder のインストール メディアに含まれています。
テクニカル サポートとコミュニティ
マイクロソフトでは、製品サポート サービスから Windows Embedded ファミリーの Web サイトまで、各種のサポート オプションを提供しています。
利用可能なサポート オプションの詳細については、Microsoft Web サイトを参照してください。
Windows CE コミュニティの詳細については、Microsoft Web サイトを参照してください。
Third-Party Solutions for Windows CE 5.0 CD
Windows CE 5.0 には、"Third-Party Solutions for Windows® CE 5.0" というラベルの付いた CD が同梱されています。この CD には、サードパーティが提供する追加ソフトウェアが含まれています。これらのソフトウェアは、Windows CE 5.0 オペレーティング システム用に設計されており、この OS と互換性があります。CD には次のソフトウェアが含まれています。 
ハードウェア特定のデバイス ドライバ 
ボード サポート パッケージ (BSP) 
ブートローダ 
Platform Builder 用の eXDI プラグイン ドライバ 
シミュレータ 
Windows CE 5.0 が数千の企業に導入される可能性があるとすると、その目的は、CD でサードパーティの追加ソフトウェアを提供することによって、お客様によりよい Out of Box Experience を提供することです。 
CD には自動実行プログラムが含まれており、CD を挿入すると自動的に実行されます。その後、コンピュータにインストールするサードパーティ ソフトウェアを選択します。自動実行プログラムを起動せずに、CD を手動で検索して選択したサードパーティ ソフトウェアをインストールすることもできます。デバイス ドライバと BSP の場合は、CD からソフトウェアをインストールすると、デバイス ソフトウェアが Platform Builder カタログの [サードパーティ] の下に自動的に統合されます。 
重要 
この CD 上のソフトウェアは Windows CE 5.0 製品を補足するために提供されたもので、マイクロソフトによって提供された独自の使用許諾契約書追加条項が適用されます。この CD に含まれるソフトウェアの一部をインストール、使用、または配布する前に、使用許諾契約書を読み、契約条項に同意する必要があります。一部のサードパーティの会社では、Microsoft が提供する使用許諾契約書追加条項に取って代わる独自の契約書を提供している場合があります。また、各使用許諾契約書の条項は、CD のルート ディレクトリにテキスト形式で提供されています。
Microsoft では、Third-Party Solutions for Windows CE 5.0 CD のどのようなソフトウェアに対しても技術またはカスタマ サポートの提供をいたしかねます。これは、Microsoft との間に Windows CE 5.0 OS 製品に関するサポート契約 (インシデント、プロジェクト、または拡張サポート ポリシー) が締結されている場合も同様です。サードパーティ ソフトウェアの使用に関連したすべてのサポートおよび技術関連の問題については、対応するサードパーティにお問い合わせください。各サードパーティの連絡先の情報は CD 上の README.TXT ファイルで提供されています。
お客様からのフィードバックを歓迎します。Third- Party Solutions for Windows® CE 5.0 CD を今後どのように改善すべきかについて、ご意見やご提案を edevfdbk@microsoft.com までお送りください。
既知の問題
アプリケーションとサービス
BSP
通信とネットワーク
コア OS
デバッグとテスト
デバイス管理
ドライバとハードウェア
ファイル システムとデータ ストア
グラフィックとマルチメディア
Platform Builder IDE とツール
国際化
インターネット クライアント サービス
ローカライズ
セキュリティ
SDK ローラー
シェル
ボイス オーバー IP サービス
アプリケーションとサービス
新規 : ファイル バージョン リソース API は現在 Winver.h に含まれている
ソリティアのヘルプがローカライズされていない
JScript または JavaScript を使用する HTML ページが壊れているように見える場合がある
Windows Messenger のスプラッシュ スクリーンで AppVerifier が停止する
新規 : ファイル バージョン リソース API は現在 Winver.h に含まれている
ファイル バージョン リソース API は、Winbase.h に含まれていましたが、これらの構造体とプロトタイプは Winver.h に移動されました。
これらの関数と構造体への参照では、Winbase.h ではなく Winver.h を指す必要があります。 
Winbase.h は Winver.h を含むので、下位互換性の問題は最小限に抑えられます。
ソリティアのヘルプがローカライズされていない
ソリティア ソフトウェアはコア オペレーティング システム言語にローカライズされていますが、ソリティアのヘルプはローカライズされていません。
JScript または JavaScript を使用する HTML ページが壊れているように見える場合がある
Microsoft JScript® または JavaScript を使用して動作するページは、JScript または JavaScript が無効になっている Web ブラウザ、あるいは JScript または JavaScript の機能が実装されていない Web ブラウザでは、壊れているように見える場合があります。Microsoft Internet Explorer 6 for Windows CE のセキュリティが最も高いレベルに設定されている場合は、JScript 機能が無効になっているため、このような問題が発生する可能性があります。 
この問題を解決するには、ブラウザで JScript または JavaScript の機能を有効にすることを検討してください。たとえば、Internet Explorer for Windows CE のセキュリティ レベルを低くしたり、ブラウザが JScript または JavaScript をサポートしていない場合は、サポートするブラウザに切り替えたりします。 
この変更を行う前に、JScript または JavaScript の機能を有効にしたり、Internet Explorer for Windows CE の全般的なセキュリティ設定を低くしたりすることによるセキュリティ上の影響を十分に検討する必要があります。
Windows Messenger のスプラッシュ スクリーンで AppVerifier が停止する
リテール ランタイム イメージ上、またはデバッグ ランタイム イメージを含むリテール イメージ上で AppVerifier と Windows Messenger を実行すると、Messenger アプリケーションは正常に起動されません。AppVerifier を Windows Messenger と共に実行するには、-nosplash コマンド ライン オプションを指定して Windows Messenger を起動します。このオプションは、スプラッシュ スクリーンを無効にして AppVerifier の正常な実行を可能にします。
BSP
SH3 Keywest BSP はサポートされない
Broadcom BCM91101SP は無作為検出モードをサポートしない
Broadcom プラットフォーム上の圧縮されたフラッシュ イメージをデバッグする
PC カード NICS を使用して約 55 KB 以上のサイズのパケットを転送すると Intel Mainstone II が失敗する
Intel Mainstone II 開発プラットフォーム上のデバッグ シリアル ポートを現在選択できる
DBAU1xxx プラットフォームでは GetTickCount にずれが生じる
KITL は NEC Solution Gear 2-Vr5500 Development Kit 上ではシリアル接続経由で動作しない
一部の BSP は中断または再開をサポートしない
NEC Solution Gear 2-Vr5500 のシステム パルスとリアルタイム クロック (RTC) タイマがずれる
SH3 Keywest BSP はサポートされない
SH3 Keywest BSP はサポートされなくなりました。
Broadcom BCM91101SP は無作為検出モードをサポートしない
Broadcom BCM91101SP (VoIP Screen Phone) 上の EDBG ドライバは、無作為検出モードをサポートしません。
Broadcom プラットフォーム上の圧縮されたフラッシュ イメージをデバッグする
圧縮されたフラッシュ イメージをデバッグするには 
Platform Builder を使用して、圧縮されたイメージ (nk_comp.nb0) をダウンロードし、フラッシュ メモリに書き込みます。 
このイメージをデバッグできないことを示す Platform Builder の警告は無視してください。 
リリース ディレクトリから適切な NK.bin を選択します。 
[ターゲット] メニューの [接続オプション] をクリックします。 
イメージをダウンロードしないように Platform Builder の接続オプションを変更します。 
[ターゲット] メニューの [デバイスの接続] をクリックします。 
フラッシュ メモリに書き込まれたイメージでデバイスを起動します。 
ランタイム イメージが解凍されてデバイスが起動すると、デバッガは選択された NK.bin を使用してイメージをデバッグします。
PC カード NICS を使用して約 55 KB 以上のサイズのパケットを転送すると Intel Mainstone II が失敗する
これは、I/O サイクルのアクセス遅延によるものです。I/O アクセス サイクルのタイミングは短縮でき、依然として PCCARD 規格の範囲内にあります。ただし、このタイミングは、PCCARD 規格に準拠しない PC カードにも柔軟に対応できるようになっています。
Intel Mainstone II 開発プラットフォーム上のデバッグ シリアル ポートを選択できる
Intel は、デバッグ シリアル メッセージに Fully Functional Universal Asynchronous Receiver-Transmitter (FFUART) を使用します。Intel Mainstone II 開発プラットフォーム用の Windows CE BSP 実装では、Bluetooth Universal Asynchronous Receiver-Transmitter (BTUART) を使用して、プロダクト シリアルに使用できるように FFUART を解放します。ポートを FFUART に変更するのではなく、デバッグ シリアル ポートを選択できるようにしました。ポートを FFUART に変更すると、テストが中断されたり、ポートを必要とするドライバがハードウェア ハンドシェイク信号で中断されたりするからです。
既定では、BTUART (メイン ボードの左前面にある) が使用されます。38400 N81 では、ブートローダのメニューで停止した場合、これを FFUART に変更して設定を保存できます。再起動後は、新しく選択したポートが使用されます。ブートローダで選択したポートに関係なく、この情報は OS に提供され、OS デバッグ メッセージはそのブートローダ設定を使用します。
注意   38400 N81 で BTUART を試してもデバッグ出力が表示されない場合は、CPU の子カード上の FFUART ポートを試してください。
DBAU1xxx プラットフォームでは GetTickCount にずれが生じる
DBAU1x00 プラットフォームでシステム パルスに使用される水晶発振器は、32.768KHz で動作します。その周波数を適当なシステム パルス周波数に分周するために使用されるプリスケーラは 33 です。その結果求められる値 (発振器周波数/プリスケーラ) は整数値ではないので、ユーザーは GetTickCount によって返される値のずれに気付きます。
これらのプラットフォーム上のリアルタイム クロック (RTC) は、クロックとプリスケーラの同じ組み合わせによって生成されたパルス カウントから得られます。RTC ルーチンはこのずれを補正しようとするので、ずれは統計誤差の範囲内になります。
KITL は NEC Solution Gear 2-Vr5500 Development Kit 上ではシリアル接続経由で動作しない
SG2-Vr5500 ブートローダのメニューでは、デバッグ接続、つまり KITL に Universal Asynchronous Receiver-Transmitter (UART) が使用できるようになっています。シリアル KITL は SG2-Vr5500 Development Kit 上で動作しません。代わりに既定のイーサネット接続を使用してください。
一部の BSP は中断または再開をサポートしない
一部の BSP での OEMPowerOff 関数の実装はスタブです。つまり、中断してもすぐに元に戻ります。デバイス ドライバと Power Manager が使用されますが、デバイスは、実際にはさまざまなハードウェア サブシステムへの電力供給を減らしたり止めたりすることはありません。
次の BSP は、次の中断または再開をサポートしません。 
Intel Mainstone II 開発プラットフォーム 
SMDK2410 Samsung MCU Development Kit 
NEC Solution Gear 2-Vr5500 のシステム パルスとリアルタイム クロック (RTC) タイマがずれる
SG2-Vr5500 のシステム パルスと RTC タイマのタイムベースは、クロックの Phase-Locked Loop (PLL) におけるスキューやジッターの問題によってずれる場合があります。15 分のコースでは、デバイス上で 3 秒のロスが発生します。タイマのずれは、ボードによって異なる場合があります。ずれの影響を受けるのは、この差異を処理できる OS タイマと、OS パルス カウンタから得られ、この差異を処理できない RTC タイマです。正確な RTC 時間が必要な場合は、メイン ボード上の Dallas Semiconductor RTC を使用するように RTC の実装を変更することを検討してください。
通信とネットワーク
レジデンシャル ゲートウェイのパスワード保存機能が動作していないように見える
RAS サーバーはドメイン名をサポートしない
LLMNR ポート番号は 5355
名前解決の変更
ファイアウォールの DeleteRule が RegFlushKeys を呼び出す
アクセス ポイントからルーターへの切り替え時にレジデンシャル ゲートウェイの UI でスクリプト エラーが発生する場合がある
ピア ツー ピア ID マネージャと PNRP API には信頼されたアクセスが必要
DHCPv6 Lite クライアントにはルーター オプション フラグの設定が必要
レジデンシャル ゲートウェイのパスワード保存機能が動作していないように見える
レジデンシャル ゲートウェイの UI では、Microsoft JScript® または JavaScript の機能が無効になっているブラウザでログイン ページが表示された場合、[パスワードを保存する] チェック ボックスがオンになっていても、ユーザーのパスワードは保存されません。
これは、セキュリティが最も高いレベルに設定されている Internet Explorer for Windows CE で発生する可能性があります。このセキュリティ レベルでは、JScript 機能が無効になるからです。 
この問題を解決するには、ブラウザで JScript または JavaScript の機能を有効にすることを検討してください。たとえば、Internet Explorer for Windows CE のセキュリティ レベルを低くしたり、ブラウザが JScript または JavaScript をサポートしていない場合は、サポートするブラウザに切り替えたりします。 
この変更を行う前に、JScript または JavaScript の機能を有効にしたり、Internet Explorer for Windows CE の全般的なセキュリティ設定を低くしたりすることによるセキュリティ上の影響を十分に検討する必要があります。
JScript または JavaScript の機能に関係なく、[パスワードを保存する] チェック ボックスがオンになっている場合は、ユーザーの ID があらかじめ入力されています。
RAS サーバーはドメイン名をサポートしない 
RAS サーバーはドメイン名をサポートしていません。
LLMNR ポート番号は 5355
Microsoft は、Internet Assigned Numbers Authority (IANA) から Link Local Multicast Name Resolution (LLMNR) プロトコル用のポート割り当てを取得しています。このポート番号は 5355 です。
このポート番号を設定するには、次のように LLMNRPort レジストリ エントリを変更します。
[HKEY_LOCAL_MACHINE\Comm\AFD]
  "LLMNRPort"=dword:5355
名前解決の変更
IPv4 アドレスおよび IPv6 アドレスの名前解決要求は、現在、HKEY_LOCAL_MACHINE\Comm\<Adapter Name>\Parms\Tcpip レジストリ キーの下の DhcpV6DNS 値に一覧表示されている IPv6 DNS サーバー アドレスを使用します。
また、名前解決は、コントロール パネルの [ネットワーク] の [ネーム サーバー] ペインで構成された IPv4 WINS サーバーおよび DNS サーバーに要求を送信します。これらのアドレスは、以前は DHCP が構成されていないインターフェイス上のみで名前解決に使用されていましたが、現在は DHCP が構成されているインターフェイス上でも使用されます。
ファイアウォールの DeleteRule が RegFlushKeys を呼び出す
ファイアウォールを削除すると、DeleteRule は RegFlushKeys を呼び出します。したがって、ユーザーが RegFlushKeys を呼び出す必要はありません。
アクセス ポイントからルーターへの切り替え時にレジデンシャル ゲートウェイの UI でスクリプト エラーが発生する場合がある
OEM ハードウェアによっては、アクセス ポイント モードからルーター モードに切り替えるときに、ブラウザ スクリプト エラーが発生する場合があります。これは、ネットワークの再起動とレジデンシャル ゲートウェイによるコンテンツ配信の間に存在する可能性のあるタイミングの競合によって引き起こされます。 
ピアツーピア ID マネージャと PNRP API には信頼されたアクセスが必要
信頼された環境では、ピア ツー ピア ID マネージャまたは PNRP API を使用するアプリケーションは、信頼されたアプリケーションとして実行される必要があります。
DHCPv6 Lite クライアントにはルーター オプション フラグの設定が必要
DHCPv6 Lite クライアントが、DHCPv6 Lite のレジストリ設定でアップストリームとダウンストリームのインターフェイスを定義するだけでなく、ステートフルな自動構成やダウンストリーム デバイスへのプレフィックスの委任も実行できるようにするには、アップストリーム ルーターがルーター アドバタイズに other stateful configuration フラグを設定する必要があります。
コア OS
SetSystemTime の呼び出しによって夏時間のずれが生じることがある
SetSystemTime の呼び出しによって夏時間のずれが生じることがある
AutoDST のステータスや現在のタイム ゾーンによっては、SetSystemTime を呼び出すと、夏時間のずれが生じる場合があります。 
たとえば、SetSystemTime を呼び出してシステム時刻を 6/6/2004 1:00:00 に設定し、その後 SetSystemTime を呼び出してシステム時刻を 1/1/2004 1:00:00 に設定するとします。この場合、AutoDST のステータスと現在のタイム ゾーンによっては、現在のシステム時刻が 2:00:00 になることがあります。
デバッグとテスト
Windows CE テスト キットの切断タイムアウトはレジストリで設定できる
一部のテストは既定のコマンド ライン設定では実行されない
Windows CE テスト キットのテストに関するドキュメント アップデートはオンラインで入手できる
Windows CE 5.0 の clientside.exe によって Windows CE .NET 4.2 の cetest.exe がクラッシュする
Windows CE Stress がエラー コード 10054 で接続を失う場合がある
Windows CE テスト キットの切断タイムアウトはレジストリで設定できる
開発者は、通信呼び出しに応答しないデバイスを切断状態と見なすまでのタイムアウト時間を指定できます。たとえば、テストでデバッガが開始され、問題のデバッグ中にデバイスの切断を避ける場合などにこの設定を使用できます。
この設定を使用するには、HKEY_CURRENT_USER\Software\Microsoft\CETT\WinCE 5.00 キーに Disconnect Timeout Seconds という DWORD レジストリ エントリを作成します。このエントリの値に、Windows CE テスト キットがデバイスを切断状態と見なすまでの経過時間を秒数で設定します。
既定では、Windows CE テスト キットが 60 秒以内にデバイスから応答を受信しなかった場合にデバイスは切断されたと見なされます。
Windows Sockets を使用した接続の場合は、ソケット呼び出しによってエラーが返され、このレジストリ設定に指定された値よりも早くデバイスが切断状態と見なされる場合があります。
一部のテストは既定のコマンド ライン設定では実行されない
Windows CE テスト キットの一部のテストは、既定のコマンド ライン設定では実行されません。この場合、既定のコマンド ライン設定を変更してからテストを実行する必要があります。 
各テストの実行の詳細については、Windows CE テスト キット アプリケーションのツリー ビューでテストを右クリックし、[テスト情報] をクリックしてください。
Windows CE テスト キットのテストに関するドキュメント アップデートはオンラインで入手できる
Platform Builder のドキュメントに Windows CE テスト キットのテストに関する情報が記載されていない場合は、Windows CE 5.0 の最新のドキュメント アップデートがダウンロードされ、インストールされているかどうかを確認してください。
Windows CE 5.0 のドキュメント アップデートの詳細については、この Microsoft Web サイト (米国サイト) を参照してください。
Windows CE 5.0 の clientside.exe によって Windows CE .NET 4.2 の cetest.exe がクラッシュする
Windows CE 5.0 に含まれている clientside.exe のインスタンスを Windows CE .NET 4.2 以前のバージョンに含まれている cetest.exe のインスタンスに接続しようとすると、cetest.exe がクラッシュします。
Windows CE Stress がエラー コード 10054 で接続を失う場合がある
TCP を使用した通信中に、Windows CE Stress がデバイスとの接続を失い、エラー コード 10054 を示す場合があります。作成されるログ ファイルには、次のような内容が記録されます。
ハーネス ログ :
TcpWS::recv: failed to recv transport header with error code 10054
TcpWS::send: failed to send transport header with error code 10054
デバイス ログ :
TcpDev::send: failed to send transport header with error code 10054
TcpDev::recv: failed to recv transport header with error code 10054
この問題を解決するには、開発用ワークステーションで TCP パラメータ TcpMaxDataRetransmissions の値を 8 以上に設定します。詳細については、Microsoft サポート技術情報の記事 170359 と 314053 を参照してください。
この変更は、開発用ワークステーションで実行されているすべてのコードに影響を及ぼすので、レジストリをバックアップしていない場合、または問題が発生したときにレジストリを復元する方法がわからない場合は、変更しないでください。レジストリをバックアップ、復元、および編集する方法の詳細については、Microsoft サポート技術情報の記事 256986 を参照してください。
デバイス管理
デバイス管理のチェックポイントおよび再起動のレジストリ設定
チェックポイント/再起動 : MAX_RETRY の回数は可変
デバイス管理のチェックポイントおよび再起動のレジストリ設定
Windows CE のデバイス管理機能は、次のチェックポイントおよび再起動のレジストリ設定をサポートします。これらの設定は、どちらも HKEY_LOCAL_MACHINE\Comm\ApplicationDownload キーにあります。 
RetryTime は、タスクが失敗してから次に再試行されるまでの時間を指定する DWORD 設定です。この設定の形式は yy-mm-dd hh-mm-ss です。既定の設定は 00-00-00 00:03:00 であり、3 分経過すると再試行されます。 
MaxRetry は、再試行回数を指定する DWORD 設定であり、この回数を超えるとタスクは削除されます。既定の設定は 5 回です。 
チェックポイント/再起動 : MAX_RETRY の回数は可変
ネットワーク エラーの状況によっては、予期される最大時間 (レジストリで構成した、再試行回数と再試行時間をかけた値) よりも長い遅延の後にタスクが再び有効になる場合があります。これは一時的な状態であり、タスクはやがて通常どおり続行されます。
ドライバとハードウェア
ハード ディスクがインストールされている場合はデュアル スロット PCMCIA カード リーダーの最初のスロットだけを使用する
SolidTek Mini-USB キーボードが正しくエミュレートされない
IOGEAR USB 2.0 PCI カードが Net2280 周辺コントローラと競合する
SG2_VR4131 ボードに電源を入れるとすぐに不安定になる
UHCI を使用して RNDIS をホストするデバイスは中断または再開後にハングする場合がある
AMD DBAu1000、DBAu1100、および DBAu1500 の開発ボードにおける PCMCIA と USB の問題
SMSC100FD は SH4 マイクロプロセッサでのみテストされている
Samsung SMDK2410 MCU Development Kit は、一定間隔の自動再読み込みタイマを使用するため、OEMIdle で電力不足になる場合がある
1394 ハード ドライブにおけるデータ配置の問題
マルチ BSP ワークスペースでデバイス ドライバを追加または削除すると反直感的な動作が起こる
多くのドライバは CEDDK マクロではなく CEDDK 関数を使用する
環境変数 MODULE_NAME は大文字と小文字を区別する
フラッシュ ドライバは連続したページ プログラミング操作を必要とするデバイスをサポートしない
Windows CE ランタイム イメージでは 1 つのキャッシュ DLL しか使用できない
Intersil PRISM2 チップセット (ISLP2NDS) をベースにしたワイヤレス LAN カードに関する既知の問題
Silicon Motion 3DR (Cougar) は CEPC 上の 640 x 480 x 8 モードをサポートしない
ViewSonic ViewMate Slim Keyboard KU201 は Windows CE 5.0 と互換性がない
ALI ベースの ATAPI デバイスに対して DMA モードを有効にする
Intel PRO 100 用イーサネット ドライバは IDE 以外でサポートされる
CEPC 上では PCI バス マッチングは途中で終了する場合がある
PCMCIA NE2000 ドライバの読み込み
PCI の PME# 行でシステムを起動できない
シリアル ドライバはシリアル KITL と競合する
BSP_NO* 変数の使用法
Secure Digital カード ドライバのドキュメントに、存在しない EULA に関する記述がある
SDIO ワイヤレス LAN カード ドライバ Pegasdn.dll は特定の WEP 対応のネットワークにのみ接続する
Mainstone II PCMCIA ハードウェアは属性メモリと共通メモリにおける 16 ビット アクセスのみをサポートする
ハード ディスクがインストールされている場合はデュアル スロット PCMCIA カード リーダーの最初のスロットだけを使用する 
PCMCIA カード リーダーに 2 つ以上のスロットがある場合、IDE ハード ディスクと 2 番目の PCMCIA スロットのカードの間に競合が発生する可能性があります。ハード ディスクがインストールされている場合は、デュアル スロット PCMCIA カード リーダーの最初のスロットだけを使用してください。
SolidTek Mini-USB キーボードが正しくエミュレートされない
SolidTek のミニ キーボード モデル #ACK-595U は、エミュレーション中は正しく反応しません。したがって、このキーボードは Windows CE 5.0 ではサポートされていません。
IOGEAR USB 2.0 PCI カードが Net2280 周辺コントローラと競合する
IOGear USB 2.0 PCI カードは Net2280 周辺コントローラと競合するので、USB ACK トークンが壊れてしまいます。 
この問題を回避するには、USB ホスト コントローラ カードと Net2280 の間のパスでハブを使用します。
SG2_VR4131 ボードに電源を入れるとすぐに不安定になる
イメージを正常に起動させるには、次の手順に従ってボードに電源を入れます。 
ATX 電源 (ベースボードの CN6 に接続されている) をオンにします。 
15 秒間待ちます。 
ベースボードの電源ボタン S1 を押します。 
ボードの電源を切るには 
ATX 電源をオフにします。 
最低 1 分間待ちます。 
ATX 電源をオンにします。 
15 秒間待ちます。 
ベースボードの電源ボタン S1 を押します。 
UHCI を使用して RNDIS をホストするデバイスは中断または再開後にハングする場合がある
この問題を回避するには、SUSPEND_RESUME をサポートしないように uhci.reg ファイルを編集する必要があります。このファイルは、%_WINCEROOT%\public\common\oak\drivers\usb\hcd\uhc にあります。 
次のテキストを探します。
"HcdCapability"=dword:5      ;HCD_SUSPEND_ON_REQUEST|HCD_SUSPEND_RESUME
これを次のように変更します。
"HcdCapability"=dword:4      ;HCD_SUSPEND_ON_REQUEST
この変更により、Windows CE ベースのデバイス上の UCHI ホスト コントローラは、ファンクション デバイスのドライバをアンロードし、再開時に再度読み込みます。したがって、RNDIS では、RNDIS ホスト インターフェイスがアンロードされてから再度読み込まれます。
AMD DBAu1000、DBAu1100、および DBAu1500 の開発ボードにおける PCMCIA と USB の問題
次の問題は、AMD DBAu1000、DBAu1100、および DBAu1500 ボード上で発生します。 
既知の問題により、通常、8 ビット カードは Alchemy CPU で動作しません。 
Pre-AD ステッピング シリコンには、USB ホスト コントローラの問題があります。 
いくつかの Bluetooth カードは、8 ビット PCMCIA または USB であり、AMD DBAu1XXX 開発ボード上で動作しません。
SMSC100FD は SH4 マイクロプロセッサでのみテストされている
NDIS Miniport ドライバ SMSC100FD は、他のマイクロプロセッサではテストされていません。
Samsung SMDK2410 MCU Development Kit は、一定間隔の自動再読み込みタイマを使用するため、OEMIdle で電力不足になる場合がある
Samsung SMDK2410 MCU Development Kit 用の以前の BSP は、システム パルスとして Timer1 を使用していました。このタイマはワン ショットとして設定され、時間間隔はスケジューラによって変更されました。Timer1 の割り込みが発生すると、ISR は SYSINTR_RESCHED を返していました。
現在、Samsung SMDK2410 用の BSP は、システム パルスとして Timer4 を使用します。このタイマは自動再読み込みとして設定され、時間間隔は 1 ミリ秒に固定されます。 
割り込みサービス ルーチンの実行中に、CurMSec 変数と dwReschedTime 変数が比較され、SYSINTR_RESCHED を返すかどうかが決定されます。Timer4 の割り込みは 1 ミリ秒ごとに発生するので、Samsung SMDK2410 が 1 ミリ秒以上アイドル状態になることはありません。そのため、OEMIdle で電力不足になる可能性があります。
1394 ハード ドライブにおけるデータ配置の問題
scatter-gather バッファのサイズは、DWORD にアラインする必要があります。DWORD にアラインされていない scatter-gather バッファを使用して 1394 ハード ドライブからセクタを読み取ると、データが失われる可能性があります。 
マルチ BSP ワークスペースでデバイス ドライバを追加または削除すると反直感的な動作が起こる
デバイス ドライバをマルチ BSP ワークスペースに追加すると、ドライバはワークスペース内のすべての BSP に追加されます。ドライバが 2 つの BSP でサポートされており、そのドライバを必要とする BSP が 1 つだけの場合、ワークスペースに不要なドライバが含まれてしまう可能性があります。それぞれ個別に変更できるように、各 BSP に 1 つのワークスペースを作成する必要があります。この動作は、デバイス ドライバを削除する場合も同様に起こります。
マルチ BSP ワークスペースでは、今後ワークスペースに追加される BSP には、以前に追加された Sysgen を含むデバイス ドライバは組み込まれません。この動作は、Sysgen を含むコア OS テクノロジの動作とは異なります。コア OS テクノロジでは、新しく追加された BSP に Sysgen が適用されます。マルチ BSP ワークスペースでは、新しい BSP を追加した後で、Sysgen を含むすべてのデバイス ドライバを再度ワークスペースに追加する必要があります。
多くのドライバは CEDDK マクロではなく CEDDK 関数を使用する
多くのデバイス ドライバは、Wdm.h に含まれている CEDDK マクロではなく、CEDDK 関数を使用します。以前 CEDDK ライブラリをカスタマイズしたことがある場合、デバイス ドライバは Windows CE 5.0 上で正しくビルドおよび実行できません。CEDDK 関数を使用するデバイス ドライバの一覧については、ドキュメントの「Production-Quality Drivers」を参照してください。
環境変数 MODULE_NAME は大文字と小文字を区別する
環境変数 MODULE_NAME は、ドライバ リゾルバへのドライバの参加を可能にするために設定され、ドライバの CEC ファイルに追加できます。この変数は、大文字と小文字を区別し、すべて大文字にする必要があります。
フラッシュ ドライバは連続したページ プログラミング操作を必要とするデバイスをサポートしない
Windows CE フラッシュ ドライバは、連続したページ プログラミング操作を必要とするデバイスをサポートしません。これらのデバイスには、特定の大きいセクタのデバイスや NAND MLC が含まれます。
Windows CE ランタイム イメージでは 1 つのキャッシュ DLL しか使用できない
Windows CE は、1 つのキャッシュ DLL の使用のみサポートします。最初に読み込まれたキャッシュ DLL が常に使用されます。
Intersil PRISM2 チップセット (ISLP2NDS) をベースにしたワイヤレス LAN カードに関する既知の問題
次のような既知の問題があります。 
Intersil PRISM2 チップセット (ISLP2NDS) をベースにしたワイヤレス LAN カード用のデバイス ドライバは、共有割り込みをサポートしません。 
Intersil ベースの WLAN カードは、バスから電力が供給される ISA ベースのカード リーダーでは動作しない場合があります。 
Silicon Motion 3DR (Cougar) は CEPC 上の 640 x 480 x 8 モードをサポートしない
Silicon Motion 3DR (Cougar) は CEPC 上の 640 x 480 x 8 モードをサポートしません。
ViewSonic ViewMate Slim Keyboard KU201 は Windows CE 5.0 と互換性がない
ViewSonic ViewMate Slim Keyboard KU201 (モデル VSACC24168-1M) は 0 という無効な MaxPower を通知するため、CE USBD は電力を供給しないか、または USBHID.dll を読み込みません。
ALI ベースの ATAPI デバイスに対して DMA モードを有効にする
DMA モードは、既定ではハード ディスク ドライブに対して常に有効であり、CD-ROM ドライブおよび DVD ドライブに対しては無効です。CD/DVD の DMA は特定の ALI チップセット上で動作しないので、DMA モードは既定で無効になっています。DMA を有効にするには、レジストリで、次のように適切なデバイスのキーの下にある DMA モード値を設定します。
[$(PCI_BUS_ROOT)\Template\ALI1453\Device0]
    "DMA"=dword:01                 ; 0 = DMA を無効にする、1 = DMA を有効にする、2 = ATA に対してのみ DMA を有効にする (CD/DVD に対しては無効)
Intel PRO 100 用イーサネット ドライバは IDE 以外でサポートされる
Intel PRO 100 チップセット ネットワーク カード用の新しいイーサネット ドライバはサポートされていますが、IDE では表示されません。このドライバは、SH4 BSP ではテストされていません。
CEPC 上では PCI バス マッチングは途中で終了する場合がある
CEPC 上では、特定の ATAPI コントローラに対して、PCI バス マッチングが途中で終了し、正しくないドライバが読み込まれる場合があります。PCI バス マッチングの続行を可能にするには、ProgIf レジストリ値をゼロまたはコントローラに基づく適切な値に設定します。
PCMCIA NE2000 ドライバの読み込み
BSP_NIC_NE2000_PCI が設定されていない場合、PCMCIA NE2000 ドライバは、PCCARD バスに依存しない新しい方式ではなく、従来の PCMCIA ドライバ方式で読み込まれます。
PCI の PME# 行でシステムを起動できない
PCI の PME# 行を使用してシステムを起動することはできません。CEPC プラットフォームで使用される pcibus ドライバは、PME# 行をウェイクアップ ソースとして認識できません。したがって、このメカニズムを使用するように設計された PCI カードは、システムを起動しません。
シリアル ドライバはシリアル KITL と競合する
KITL のポートを使用するには、シリアル ドライバを無効にする必要があります。
BSP_NO* 変数の使用法
カタログに表示される特定の BSP 変数、Sysgen 変数、およびモジュール名のプロパティ ウィンドウには、正確な情報が表示されない場合があります。これは、関連付けられている .cec ファイルが当該リリース用に更新されていないからです。また、すべての BSP 変数および Sysgen 変数がカタログに一覧表示されるとは限りません。これらすべての変数の一覧と正確な情報については、common.reg、common.bib、platform.reg、platform.bib、およびドライバ固有の .reg ファイルを確認してください。 
カタログにおけるドライバの表現は、コマンド ライン ツールの構成ファイル (.bib と .reg) 内の論理によって制御されます。これらのファイル内の BSP_NO* 変数で制御されるドライバ カタログ項目を、.bib および .reg ファイルが更新されていない OS デザインにドラッグ アンド ドロップすることはできません。.bib および .reg ファイルには、オリジナルの BSP で使用されている論理をコピーする必要があります。BSP_NO* 変数で制御されるドライバは、既定では (BSP_NO* が設定されていない場合) ランタイム イメージに組み込まれますが、そのカタログの論理は、明確なユーザー アクションに基づいて動作するように設計されています。ドライバ リゾルバは既定で組み込まれているドライバを取得し、MODULE_NAME の CEC エントリを取り込みます。ドライバは [FeatureView] タブに表示され、ランタイム イメージに組み込まれることを示します。そのドライバを別のプラットフォームにドラッグしようとすると、ドライバは使用できなくなります。 
この問題を解決するには、関連付けられている BSP の .bib ファイルおよび .reg ファイルを変更する必要があります。Platform Builder によって提供される一般的なドライバ用の .reg ファイルおよび .bib ファイルは、%_WINCEROOT%\Public\Common\Oak\Files ディレクトリにあります。ドライバ固有のレジストリ ファイルは、デバイス ドライバと同じディレクトリにあります。たとえば、%_WINCEROOT%\Public\Common\Oak\Drivers\Battdrvr ディレクトリにある Battdrvr.reg ファイルには、BSP_NOBATTERY 変数に関する情報が含まれています。
Secure Digital カード ドライバのドキュメントに、存在しない EULA に関する記述がある
Secure Digital (SD) カード ドライバのドキュメントには、そのドキュメントを SDIO ソース コード配布プログラムの使用許諾契約書 (EULA) に従って使用する必要があることが記述されています。この EULA は存在しないので、この情報は無視してください。
SDIO ワイヤレス LAN カード ドライバ Pegasdn.dll は特定の WEP 対応のネットワークにのみ接続する
SDIO ワイヤレス LAN カード ドライバである pegasdn.dll を WEP で使用する場合、クライアントは WEP キー インデックスが 1 であるネットワークにしか接続しません。
Mainstone II PCMCIA ハードウェアは属性メモリと共通メモリにおける 16 ビット アクセスのみサポートする
Mainstone II PCMCIA ハードウェアは、属性メモリと共通メモリにおける 8 ビット アクセスをサポートしません。このハードウェアは 16 ビット アクセスのみをサポートします。詳細については、%_WINCEROOT%\Platform\MainstoneII\Src\Drivers\PCCard\pcc_mainstoneii.reg を参照してください。 
ファイル システムとデータ ストア
新規 : ATAPI ドライバの変更
BinFS は 17 個以上のセクションを持つ ROM モジュールをサポートしない
EDB API と CEDB API
SG2 プラットフォーム上のハード ディスクにおける永続的なレジストリの使用にはレジストリの変更が必要
新規 : ATAPI ドライバの変更
ATAPI ドライバに次の変更が加えられました。 
メジャー PIO のパフォーマンスの向上 
ATA リセット プロトコルへの適合性の向上 
デバイス検出ルーチンの改良 
転送モード 
BinFS は 17 個以上のセクションを持つ ROM モジュールをサポートしない
バイナリ ROM イメージ ファイル システム (BINFS) は、17 個以上のコード、データ、およびリソースのセクション (Microsoft Portable Executable ファイル形式で定義) を持つ ROM モジュールをサポートしません。17 個以上のセクションを持つモジュールを BINFS で使用するには、セクション数を減らすか、またはモジュールを BIB ファイルの FILES セクションに移動します。
EDB API と CEDB API
CEDB API と EDB API を同じプロセス空間から使用しないことをお勧めします。
SG2 プラットフォーム上のハード ディスクにおける永続的なレジストリの使用にはレジストリの変更が必要
PRJ_ENABLE_FSREGHIVE 環境変数を 1 に設定するだけでは、SG2 プラットフォーム上のハード ディスクにおける永続的なレジストリ機能は有効になりません。必要な ATAPI のレジストリ設定がブート レジストリ ハイブ (boot.hv) にないので、この設定では不十分です。
SG2 プラットフォーム上のハード ディスクにおける永続的なレジストリ機能を有効にするには、ATAPI のレジストリ設定の前後に次の行を追加して platform.reg を変更します。 
; HIVE BOOT SECTION 
; END HIVE BOOT SECTION 
次の platform.reg の抜粋は、この例を示したものです。
;-- ATAPI/IDE Driver ---------------------------------------------------
; @CESYSGEN IF CE_MODULES_ATAPI
; HIVE BOOT SECTION           <----- この行を追加
IF BSP_NOIDE !

; @CESYSGEN IF ATAPI_ATAPI_PCIO_CD
[$(PCI_BUS_ROOT)\Template\ALI1453]
   "SpawnFunction"="CreatePCIHDCD" ; controller-specific instantiation function (hard disk + CD/DVD)
; @CESYSGEN ELSE
[$(PCI_BUS_ROOT)\Template\ALI1453]
   "SpawnFunction"="CreatePCIHD"   ; controller-specific instantiation function (hard disk only)
; @CESYSGEN ENDIF ATAPI_ATAPI_PCIO_CD

; @CESYSGEN IF ATAPI_ATAPI_PCIO
#include "$(DRIVERS_DIR)\block\atapi\ALI1543.reg"
; @CESYSGEN ENDIF ATAPI_ATAPI_PCIO

; @CESYSGEN IF ATAPI_ATAPI_PCIP_PDC20262
#include "$(DRIVERS_DIR)\block\atapi\pdc20262.reg"
; @CESYSGEN ENDIF ATAPI_ATAPI_PCIP_PDC20262

ENDIF BSP_NOIDE !
; END HIVE BOOT SECTION      <----- この行を追加
; @CESYSGEN ENDIF CE_MODULES_ATAPI
グラフィックとマルチメディア
Windows Media コンテンツは VR41xx MIPS プラットフォーム上では再生されない
Windows Media コンテンツは VR41xx MIPS プラットフォーム上では再生されない
Windows Media® デコーダは、VR41xx ファミリのプラットフォーム上でコンテンツをデコードしようとするとクラッシュします。これは、Platform Builder 5.0 による CPU タイプの検出方法が原因です。現在の動作では、これらのプラットフォーム上で Windows Media コンテンツを再生することはできません。他の Windows Media 以外のデコーダや従来のデコーダ (MP3 など) は、この問題の影響を受けません。
Platform Builder IDE とツール
Cebuild ではプライベート ソース コードの警告が表示される
リソース スクリプトを含む Sources プロジェクトは、Sources ファイルへの情報追加を必要とする
エミュレータの複数のインスタンスで同じダイアログ ボックスを使用すると 2 つ目のインスタンスがフリーズする場合がある
エミュレータの仮想スイッチ モードを有効にすると、ホストをセキュリティ リスクにさらすことになる
eMbedded Visual C++ のインストール中に Platform Builder が実行されていると Platform Builder がクラッシュする
[Image Viewer 設定] ダイアログ ボックスが VGA 画面および HVGA 画面には大きすぎる
Platform Builder で別のワークスペースを開くと、Dbglist.txt ファイルが上書きされる
読み取り専用の dbglist.txt ファイルは、ダウンロード時に書き込みせず、ダイアログも表示しない
OS デザインのカタログ項目の変更後にクリーン ビルドを実行する
既定の %TEMP% 環境変数を変更すると Platform Builder のインストールが失敗する場合がある
Platform Builder IDE は %_WINCEROOT の UNC パスをサポートしない
IDE の Feature View ウィンドウで誤った言語フォルダにインターナショナル カタログ項目が表示される場合がある
IDE は依存関係を持たない親子のカタログ項目を処理するときに cesysgen の結果を正しく表示しない
setenv.bat 内の Doskey コマンドでエラーが発生する
ワークスペースに追加できないドライバ カタログ項目がある
割り当てられた仮想アドレス領域を超えるデバッグ イメージはビルドできない
PubSub 関数を参照するサードパーティのリモート ツールは Platform Builder のバージョンごとに再コンパイルする必要がある
Build.exe は sources ファイル内の一部の相対ディレクトリを解析しない
Platform Builder のユーザー プロジェクトのマネージ コードをビルドする
デバッガによってソース パス マッピングを要求される場合がある
Platform Manager はカタログ項目として利用できる
シリアル KITL デバッグのトラブルシューティング
不正アプリケーションによってエミュレータ セッションが切断される場合がある
プロジェクト設定を使用して callcap インストルメントを追加する
マネージ コードでサポートされない Core Connectivity インフラストラクチャ関数
ハードウェア支援デバッグを有効にするには OS デザインに HDSTUB コンポーネントを組み込む必要がある
Cebuild ではプライベート ソース コードの警告が表示される
Cebuild または Blddemo を使用してプラットフォームをビルドするときに、プライベート ソース コードに関する警告が複数回表示される場合があります。 
この警告は無視してください。ただし、プライベート ソース コードはビルドされません。
Blddemo と Cebuild は、-q オプションを指定せずに呼び出されると、ルートに DIRS ファイルがある各依存関係ツリーのパブリック ルートおよびプライベート ルートで Build.exe を実行します。 
%WINCEROOT%\private\winceos ディレクトリ、%_WINCEROOT%\private\servers ディレクトリ、および %_WINCEROOT%\private\wceshellfe ディレクトリは、これらの条件を満たすので、Build.exe はこれらの各ディレクトリで実行されます。 
Build.exe は、プライベート ツリーで実行されると、プライベート ツリーをビルドすることと、それによって Windows CE OS で提供されたライブラリが上書きされる可能性があることをユーザーに警告します。 
ただし、DIRS ファイルは空なので、ディレクトリはビルドされず、ライブラリも上書きされません。 
DIRS ファイルを削除しても、Build.exe が Sources.cmn ファイルを検索しなくなるだけなので、解決にはなりません。
リソース スクリプトを含む Sources プロジェクトは、Sources ファイルへの情報追加を必要とする
Platform Builder を使用してリソース スクリプト (.rc ファイル) を含む sources プロジェクトを作成する場合、sources ファイルに情報を追加する必要があります。sources ファイルを正しくビルドし、[ResourceView] タブからプロジェクトのリソース スクリプトを開くことができるようにするには、プロジェクトの sources ファイルに次のコードを追加します。
RELEASETYPE=LOCAL
_ISVINCPATH=$(_WINCEROOT)\public\common\sdk\inc;
_OEMINCPATH=$(_WINCEROOT)\public\common\oak\inc;$(_WINCEROOT)\public\common\sdk\inc;
エミュレータの複数のインスタンスで同じダイアログ ボックスを使用すると 2 つ目のインスタンスがフリーズする場合がある
エミュレータのインスタンスは、一度に 1 つだけ起動してください。エミュレータの 2 つのインスタンスを実行し、1 つのインスタンスでダイアログ ボックスを開いてからもう一方のインスタンスで同じダイアログ ボックスを開くと、最初のエミュレータ インスタンスのダイアログ ボックスのみが表示され、2 つ目のエミュレータ インスタンスがフリーズする場合があります。
エミュレータの仮想スイッチ モードを有効にすると、ホストをセキュリティ リスクにさらすことになる
エミュレータは次のネットワーク オプションをサポートします。 
なし - トラフィックなし 
NAT - 発信トラフィックのみ (既定) 
仮想スイッチ モード - 発信トラフィックと着信トラフィックの両方。エミュレータによる着信接続の受け入れを可能にしますが、エミュレータとデスクトップ コンピュータを潜在するセキュリティ リスクにさらすことになります。 
ネットワーク設定を変更するには、[接続オプション] ダイアログ ボックスを使用します。
eMbedded Visual C++ のインストール中に Platform Builder が実行されていると Platform Builder がクラッシュする
この問題を回避するには、Platform Builder を閉じてから Microsoft eMbedded Visual C++ をインストールします。
[Image Viewer 設定] ダイアログ ボックスが VGA 画面および HVGA 画面には大きすぎる
[Image Viewer 設定] ダイアログ ボックスは、0409 以外の言語の VGA 画面および HVGA 画面には大きすぎます。OEM は、このダイアログ ボックスのサイズを変更できます。
Platform Builder で別のワークスペースを開くと、Dbglist.txt ファイルが上書きされる
dbglist.txt ファイルは、変更済みの場合でも、別のワークスペースを開くたびに上書きされます。ランタイム イメージに含まれているモジュールとファイルを、イメージを再度作成せずに上書きするには、次の操作を実行します。 
ワークスペースが開いている状態で、[ターゲット] メニューの [リリース ディレクトリ モジュール] をクリックします。 
ワークスペースのフラット リリース ディレクトリから読み込むことができる上書きファイルの一覧が表示されます。これらのファイルは、開いているワークスペースから読み取られた OPT ファイルに含まれています。 
別のワークスペースを開くたびに、DBGLIST.TXT の内容が消去され、開いているワークスペースの OPT ファイルに存在するファイルで置き換えられます。 
フラット リリース ディレクトリから直接ターゲット デバイスに読み込むモジュールを選択します。 
読み取り専用の dbglist.txt ファイルは、ダウンロード時に書き込みせず、ダイアログも表示しない
ランタイム イメージ ファイル (nk.bin) をダウンロードする前に、dbglist.txt が読み取り専用でないことを確認してください。dbglist.txt は、ワークスペースのアクティブ構成用のリリース ディレクトリにあります。
OS デザインのカタログ項目の変更後にクリーン ビルドを実行する
カタログ項目を変更してからクリーンアップを実行せずにビルドまたはシステム生成ツールを実行すると、ビルド エラーが発生する場合があります。バイナリは、最初のビルド時にワークスペースにコピーされます。カタログ項目の変更後、依存関係が追加された新しいバイナリがコピーされます。このバイナリには、ライブラリなどの異なるインポートが含まれる可能性があります。 
バイナリを再生成するには、クリーンアップを実行してから OS デザインのツリー内のファイルに対してシステム生成ツールを実行する必要があります。詳細については、ドキュメントの「ランタイム イメージをビルドする」を参照してください。
既定の %TEMP% 環境変数を変更すると、Platform Builder のインストールが失敗する場合がある
Platform Builder の Platform Manager コンポーネントのインストールは、%TEMP% 環境変数の値に依存する場合があります。%TEMP% の値を標準のシステム既定値 (\Documents and Settings\<user>\Local Settings\Temp) 以外の値に変更すると、Platform Builder の Platform Manager コンポーネントのインストールが失敗する場合があります。
この問題を回避するには、%TEMP% 環境変数を既定値に戻してから Platform Builder のセットアップを実行します。
Platform Builder IDE は %_WINCEROOT の UNC パスをサポートしない
[ツール] メニューの [オプション] をクリックし、[ビルド] または [プラットフォームの設定] で汎用名前付け規則 (UNC) パスを使用すると、予期しない結果やサポートされていない結果が生じます。
既定の WINCEROOT パスである C:\WINCE500 を変更できますが、そのパスを必ず Z:\WINCE500 のようにローカルにマップしてください。IDE は、\\MyMachine\WINCE500 などのパスをサポートしません。 
IDE の Feature View ウィンドウで、誤った言語フォルダにインターナショナル カタログ項目が表示される場合がある
インターナショナル カタログ項目の中には、多数の言語で共有されるものがあります。言語固有のフォルダから Feature View ウィンドウにカタログ項目をドラッグすると、その項目が正しいフォルダに表示されない場合があります。 
これによって、ビルドや機能が影響を受けたり、OS デザインに言語が追加されたりすることはありません。
IDE は依存関係を持たない親子のカタログ項目を処理するときに cesysgen の結果を正しく表示しない
カタログ項目の中には、子のカタログ項目を持つものがあります。たとえば、Windows CE 用 Internet Explorer 6.0 - 標準コンポーネントは、Internet Explorer 6.0 サンプル ブラウザの親です。また、これらのカタログ項目に関連付けられている Sysgen 変数は、ビルドの cesysgen フェーズ中は依存関係を持たない場合があります。前述の例で、子 (SYSGEN_IESAMPLE) の Sysgen を設定しても、親 (SYSGEN_IE) の Sysgen は設定されません。子のカタログ項目をワークスペースに追加すると、IDE の OSDesign ビューに親のカタログ項目が表示されますが、その項目は、実際にはワークスペースに存在せず、ビルドにも含まれません。 
ビルド環境をチェックすると、親の Sysgen 変数が設定されていないことを確認できます。
setenv.bat 内の Doskey コマンドでエラーが発生する
Platform Builder で %_WINCEROOT% にローカル ディレクトリを設定して新しいワークスペースを作成すると、setenv.bat ファイル内の Doskey コマンドでエラーが発生します。[OS をビルド] メニューの [リリース ディレクトリを開く] をクリックしたときのエラーと同じように、Keyboard History Utility のエラーが発生する場合があります。 
これらのエラーを回避するには、setenv.bat 内の Doskey コマンドをエイリアス コマンドで置き換えます。
ワークスペースに追加できないドライバ カタログ項目がある
ドライバ カタログ項目の中には、情報提供のみを目的としたものがあります。そのような項目はワークスペースに追加できません。
割り当てられた仮想アドレス領域を超えるデバッグ イメージはビルドできない
デバッグ イメージはリテール イメージよりも大きく、ビルド エラーが発生する場合があります。その主な原因は、次の 2 つです。 
OS イメージ全体に割り当てられた領域 (config.bib の RAMIMAGE エントリ) が不十分な場合。config.bib で使用される値は、多くの場合、ターゲット デバイス上の物理メモリの容量によって制限されます。したがって、これらの値は、ハードウェアの制限までしか増やすことができません。 
OS イメージ内のモジュール (DLL) が、割り当てられているスロットベースの仮想アドレス領域を超える場合。ビルド プロセス中に、Romimage によって、2 つのスロットのアドレス領域のうちの 1 つ (スロット 0 またはスロット 1) に合わせてモジュールが構成されます。どちらのスロットが使用されるかは、ビルド論理によって決定されます。これらの 2 つのスロット内の割り当てられたアドレス領域を使い果たしてしまった場合は、次のようなビルド エラーが発生します。 
Error: Too much data space used by DLL's in MODULES section 
Current usage = 42752k, Maximum usage = 26624k. 
Reduce DLL usage or move some DLL's into the FILES section. 
Fatal error hit, exiting... 
このエラーを回避するには、retail イメージをビルドして、デバッグが必要な実行可能ファイルのみのデバッグ バージョンを含めるか、またはビルド構成 (SYSGEN/機能の選択) を小さくします。
PubSub 関数を参照するサードパーティのリモート ツールは Platform Builder のバージョンごとに再コンパイルする必要がある
Platform Manager の機能を使用するサードパーティのリモート ツールは、Platform Builder の新しいバージョンごとに再コンパイルする必要があります。再コンパイルする場合は、そのバージョンの Platform Builder 用の Platform Manager SDK に含まれるヘッダーとライブラリを使用します。
Build.exe は sources ファイル内の一部の相対ディレクトリを解析しない
Build.exe は、sources ファイル内の一部の相対ディレクトリ パスを解析しません。次のような内容のエラーが表示されます。
SOURCES = \
   dir1\file1.cpp \ # error
   ..\dir1\file1.cpp \ # error
   ..\..\file1.cpp # error
Build.exe は、次のようなディレクトリ参照は処理できます。
SOURCES = \
   file1.cpp \
   .\file1.cpp \
   ..\file1.cpp
Platform Builder のユーザー プロジェクトのマネージ コードをビルドする
Platform Builder IDE でマネージ コードを含むプロジェクトをビルドできます。この場合、次の手順に示すように、空の DLL プロジェクトまたは EXE プロジェクトを作成して、プロジェクトのリリース タイプをマネージ EXE またはマネージ DLL に変更します。詳細については、ドキュメントの「Using Managed Code in a Project」を参照してください。 
新規プロジェクト ウィザードを使用して、空の DLL プロジェクトまたは EXE プロジェクトを作成します。 
[WCE アプリケーション] または [WCE コンソール アプリケーション] を選択することをお勧めします。これらのプロジェクト タイプを選択すると、新規プロジェクト ウィザードで空のプロジェクトを作成できるからです。 
[プロジェクトの設定] ダイアログ ボックスの [一般] タブをクリックし、[リリースの種類] を [マネージ] に変更します。 
[プロジェクトの設定] ダイアログ ボックスの [マネージ コード] タブをクリックし、各マネージ プロジェクトに適切なマネージ リファレンス (次の値を含む) をセミコロンで区切って指定します。 
$(_MANAGED_FRAMEWORK_DIR)\MSCorLib.dll 
$(_MANAGED_FRAMEWORK_DIR)\system.dll 
$(_MANAGED_FRAMEWORK_DIR)\system.data.dll 
これらの値は、Platform Builder で、プロジェクトに関連付けられている sources ファイルに格納されます。 
マネージ コードが実行可能 (EXE) ファイルに含まれ、ダイナミック リンク ライブラリ (DLL) に含まれていない場合は、関連付けられている Project.bib を変更してその EXE ファイルを次の形式で FILES セクションに配置します。 
FILES
Managed.exe $(_FLATRELEASEDIR)\Managed.exe                NK 
デバッガによってソース パス マッピングを要求される場合がある
ソース パス マッピングの設定が完了していない場合は、デバッガによって [マップされていないソース ファイル] ダイアログ ボックスが表示され、hdstub.c ファイルへのパスの入力を求められる場合があります。
この問題を解決するには、次の手順を実行します。 
hdstub.c へのアクセス権がある場合は、[マップされていないソース ファイル] ダイアログ ボックスに正しいパスを入力します。たとえば、次のパスを指定できます。 
C:\WINCE500\PRIVATE\WINCEOS\COREOS\NK\HDSTUB 
[マップされていないソース ファイル] ダイアログ ボックスを閉じます。このダイアログ ボックスが再び表示されないようにするには、[今後このダイアログを表示しない] チェック ボックスをオンにします。 
Platform Manager はカタログ項目として利用できる
Core Connectivity インフラストラクチャは、現在、開発用ワークステーションとターゲット デバイス間の通信に使用される既定の接続レイヤです。ただし、Platform Manager のカタログ項目 (SYSGEN_PBTOOLS) を追加すると、現在でも OS デザインに Platform Manager の機能を組み込むことができます。このカタログ項目は、Platform Manager フォルダのカタログにあります。 
通常、OS デザインには Platform Manager の機能は必要ありません。
Platform Manager の詳細については、Platform Builder ドキュメントの「Platform Manager」トピックとそのサブトピックを参照してください。 
シリアル KITL デバッグのトラブルシューティング
プラットフォームの中には、シリアル KITL デバッグで異常が発生するものがあります。問題が発生した場合は、次の手順を実行してください。 
デバイスからシリアル ケーブルを抜きます。 
デバイスの電源を切り、再度電源を入れます。 
デバイスの起動後、シリアル ケーブルを再接続します。 
不正アプリケーションによってエミュレータ セッションが切断される場合がある
GUID である仮想マシン ID (VMID) が知られている場合は、エミュレータ上の不正アプリケーションによってエミュレータ セッションが切断される可能性があります。
プロジェクト設定を使用して callcap インストルメントを追加する
プロジェクト ファイル (.pbp ファイル) の設定で、次の手順を実行します。 
[一般] タブの [カスタム設定] をクリックします。 
WINCECALLCAP=1 または WINCEFASTCAP=1 を設定します。 
マネージ コードでサポートされない Core Connectivity インフラストラクチャ関数 
次の Core Connectivity インフラストラクチャ関数は、マネージ コードでサポートされません。 
SetRegistryValue 
RegistryQueryValue 
ICcTransportStream (送信と受信の両方) 
ハードウェア支援デバッグを有効にするには OS デザインに HDSTUB コンポーネントを組み込む必要がある
eXDI/HW プローブを使用したハードウェア支援デバッグをサポートするには、OS デザインに HDSTUB コンポーネントを組み込む必要があります。このコンポーネントを組み込むには、ランタイム イメージを作成する前に IMGHDSTUB=1 を設定します。
国際化
カタログのインターナショナル セクションからドラッグしたカタログ項目が IDE の [OSDesign ビュー] タブに表示されない
MUI イメージに同じプライマリ言語識別子に属する複数のサブ言語が含まれる場合、正しくない UI 言語が表示されることがある
WinMgr と CommCtrl のヘルプの疑問符アイコンがアラビア語用に複製されていない
Internet Explorer for Windows CE はタイ語とインド諸語の入力のシーケンス チェックをサポートしない
複数の入力言語用の一部のカタログ項目がカタログに表示されない
エミュレータの既定のホスト キーは、一部のキーボード レイアウトと競合する場合がある
Uniscribe が実行されている場合、SetTextCharacterExtra の結果が正しくない
複数の入力言語のランタイム イメージでは日本語 IME ツール バーに入力モードが正しく表示されない場合がある
東アジア ロケールでは VoIP の連絡先名が正しく表示されない
カタログのインターナショナル セクションからドラッグしたカタログ項目が IDE の [OSDesign ビュー] タブに表示されない
インターナショナル コンポーネントの中には、多数の言語で共有されるものがあります。そのようなコンポーネントを言語固有のフォルダから [OSDesign ビュー] タブにドラッグすると、予想される言語フォルダに表示されない場合があります。 
そのようなアイテムの例として、アラビア語、ヘブライ語、およびタイ語で共有される SYSGEN_TAHOMA_1_08 があります。Sysgen は、予想されるフォルダにドラッグされていない場合、[OSDesign ビュー] タブの別の言語フォルダの下に表示されます。これによって、ビルドや機能が影響を受けたり、OS デザインに言語が追加されたりすることはありません。
MUI イメージに同じプライマリ言語識別子に属する複数のサブ言語が含まれる場合、正しくない UI 言語が表示されることがある
この場合は、既定の UI 言語用の MUI モジュールを作成します。これにより、正しい UI 言語が表示されるようになります。
WinMgr と CommCtrl のヘルプの疑問符アイコンがアラビア語用に複製されていない
WinMgr と CommCtrl のヘルプの疑問符アイコンは、アラビア語用に複製されていません。今後のリリースで発生する可能性のある下位互換性の問題を回避するには、これらのアイコンをローカライズまたは複製しないことを強くお勧めします。
Internet Explorer for Windows CE はタイ語とインド諸語の入力のシーケンス チェックをサポートしない
これはコンテンツの表示に影響を与えません。
複数の入力言語用の一部のカタログ項目がカタログに表示されない
英語 (U.S.)、日本語、または韓国語が "既定以外" の入力言語として含まれる複数の入力言語のランタイム イメージを作成するには、希望のキーボード レイアウト用の Sysgen 変数を手動で追加する必要があります。 
注意   英語 (U.S.)、日本語、または韓国語が既定の入力言語である場合は、希望のキーボード レイアウト用の Sysgen 変数を追加する必要はありません。
英語 (U.S.)、日本語、および韓国語用の Sysgen 変数は次のとおりです。 
SYSGEN_KBD_US=1 
SYSGEN_KBD_JAPANESE=1 
SYSGEN_KBD_KOREAN=1 
これらの Sysgen 変数を手動で設定する方法の詳細については、ドキュメントの「環境変数の設定または解除」を参照してください。
エミュレータの既定のホスト キーは、一部のキーボード レイアウトと競合する場合がある
エミュレータは、Alt GR キー (右の Alt キー) を既定のホスト キーとして使用します。インターナショナル キーボード レイアウトの中には、特定のキーへのアクセスに Alt GR キーを必要とするものがあります。この競合を解決するには、Platform Builder でホスト キーの指定を次のように変更します。 
[ターゲット] メニューの [接続オプション] をクリックします。 
[設定] をクリックします。 
[エミュレータ ダウンロードの設定] ダイアログ ボックスでホスト キーを変更します。 
Uniscribe が実行されている場合、SetTextCharacterExtra の結果が正しくない
Uniscribe を読み込むランタイム イメージで SetTextCharacterExtra を使用すると、文字間隔が不規則になります。
複数の入力言語のランタイム イメージでは日本語 IME ツール バーに入力モードが正しく表示されない場合がある
日本語 pIME または 日本語 IME 3.1 と英語キーボードを含むランタイム イメージに複数の入力言語がある場合、日本語 IME ツール バーに正しくない入力モードが表示される場合があります。この問題は、日本語 IME と英語キーボードの両方が事前に読み込まれ、ユーザーが日本語から英語キーボード レイアウトに切り替えて同じプロセス内で再び日本語に戻した場合に発生します。この問題を解決するには、入力モードを希望の入力に設定し直す必要があります。
東アジア ロケールでは VoIP の連絡先名が正しく表示されない
Exchange クライアントは、Outlook Web Access (OWA) から DisplayName を取得して返します。DisplayName には、名と姓が含まれます。Exchange クライアントを使用するアプリケーションは、現在のユーザー ロケールに基づいて DisplayName 内の名と姓を解析する必要があります。
VoIP UI は、ユーザー ロケールに従って表示名を解析しません。東アジア ロケールでは、VoIP UI は名を姓のデータとして格納し、姓を名のデータとして格納します。 
この問題を解決するには、次のいずれかの操作を実行します。 
サーバーから DisplayName の代わりに FirstName と LastName を取得するように Exchange クライアントを変更します。 
現在のユーザー ロケールに従って表示名を解析するように VoIP UI (TUI) を変更します。 
DisplayName の代わりに FirstName と LastName を取得するように Exchange クライアントを変更するには 
次のように OWA 関数の外部インターフェイスを変更します。 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\guid\IExchangeClient.idl の IExchangeClientContactInformation インターフェイス セクションを次のように変更します。 
HRESULT GetDisplayName() を削除します。 
次の関数を追加します。 
HRESULT GetFirstName() 
GetLastName() 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\contacts\ContactsInformation.h を次のように変更します。 
HRESULT GetDisplayName() を削除します。 
次の関数を追加します。 
HRESULT GetFirstName() 
GetLastName() 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\engine\Settings.cpp を次のように更新して、HTTP SEARCH に埋め込まれる SQL ステートメントを変更します。 
c_wszContactsBodyStartFmt 変数 
urn:schemas:contacts:fileas を削除します。 
次のステートメントを追加します。 
urn:schemas:contacts:sn 
urn:schemas:contacts:givenName 
c_wszContactsBodyEndFmt 変数については、ORDER BY ステートメントを urn:schemas:contacts:fileas から urn:schemas:contacts:sn に更新します。 
解析設定を追加します。 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\engine\settings.h を次のように変更します。 
const extern OWAClientSetting c_SettingContactsDispName を削除します。 
次の設定を追加します。 
const extern OWAClientSetting 
c_SettingContactsFirstName 
c_SettingContactsLastName 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\engine\settings.cpp を次のように変更します。 
c_SettingContactsDisplayName を削除します。 
次の設定を追加します。 
OWAClientSettings for c_SettingContactsFirstName(data = "givenName") 
c_SettingContactsLastName(data = "sn") 
解析テーブルを更新します。 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\engine\settings.h を次のように変更します。 
#define CONTACTS_PARSE_DISPLAYNAME 0 を削除します。 
次の定義を追加します。 
#define CONTACTS_PARSE_FIRSTNAME 0 
#define CONTACTS_PARSE_LASTNAME 1 
順序の変更を反映するように、連絡先セクション内のすべての #define を更新します。 
NUM_CONTACTS_PROPERTIES を 8 に変更します。 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\contacts\ContactsFormatHandler.cpp の CContactsFormatHandler::BuildParseTable セクションを次のように変更します。 
配列から DisplayName インデックスを削除します。 
配列に FirstName と LastName のエントリを追加します。 
解析テーブルの配列内の他のすべてのインデックスを更新します。 
%_WINCEROOT%\public\voip\oak\phone\owaexchangeclient\contacts\contactsinformation.cpp 内のパブリック インターフェイスのデータ エクストラクタを更新します。 
GetDisplayName() を削除します。 
次の関数を追加します。 
GetFirstName() 
GetLastName() 
現在のユーザー ロケールに従って表示名を解析するように VoIP UI (TUI) を変更するには 
ほとんどの画面では、Contacts::GetDisplayName が名と姓の文字列を取得します。連絡先から DisplayName を取得するには、名と姓を取得してそれらをつなげるヘルパ関数を作成します。 
この関数を %_WINCEROOT%\public\voip\oak\phone\TUI\utilities 内の exchangeclientutils.h と exchangeclientutils.cpp に追加します。 
%_WINCEROOT%\public\voip\oak\phone\TUI ディレクトリで、Contacts::GetDisplayName のすべてのインスタンスをこのヘルパ関数に置き換えます。 
連絡先検索画面 (TUI\State\ContactsState) で、DisplayName を解析することによって名と姓で検索するコードを、Exchange クライアント オブジェクトから名と姓を明示的に取得するコードに置き換えます。 
インターネット クライアント サービス
IESample ブラウザの [検索] ダイアログ ボックスが QVGA プラットフォーム上で正しく表示されない
ユーザー エージェント文字列を Pocket Internet Explorer 用に変更できない
ポップアップ ブロッカーを有効にしてポップアップ ウィンドウをフィルタする
IESample ブラウザの [検索] ダイアログ ボックスが QVGA プラットフォーム上で正しく表示されない
UI の左端が切れて一部の文字が重なります。この問題を回避するには、%_WINCEROOT%\PUBLIC\IE\OAK\SHDOCVWUI\RESDLL\find.dlx を編集し、[HTML] ダイアログ ボックスを編集する必要があります。
ユーザー エージェント文字列を Pocket Internet Explorer 用に変更できない
この問題は、コントロール パネルで文字列を変更する場合にも発生します。
ポップアップ ブロッカーを有効にしてポップアップ ウィンドウをフィルタする
不要なポップアップ ウィンドウをブロックするには、コントロール パネルでポップアップ ブロッカーを有効にし、インターネットをブラウズするときにデスクトップ上の [Internet Explorer] アイコンを開きます。[マイ デバイス] アイコンを使用してブラウズ セッションを開いた場合、このブロック機能は有効になりません。 
ローカライズ
ゲートウェイのイベント ログ文字列は英語のみである
ゲートウェイのイベント ログ文字列は英語のみである
イベント ログのサンプルは、英語のビルドのみに対応しています。別の言語を使用する場合は、%_WINCEROOT%\public\servers\oak\samples\logging\Messages\RGLogMsgs.mc 内のイベント ログ文字列を翻訳して RGLogMsgs.dll を再コンパイルする必要があります。保護者による制限を使用する場合は、%_WINCEROOT%\public\servers\oak\samples\parentctl\logdll\pclogdll.mc 内の文字列を翻訳して PCLogDll.dll を再コンパイルする必要もあります。
英語以外の言語でログ名を表示するには、%_WINCEROOT%\public\servers\oak\samples\RemoteAdmin ディレクトリにある RemoteAdmin.dll を変更する必要があります。
セキュリティ
ローカル認証サブシステムに利用できる構成 UI、カタログ項目、または Sysgen 変数はない
FIPS 準拠
ローカル認証サブシステムに利用できる構成 UI、カタログ項目、または Sysgen 変数はない
ローカル認証サブシステム (LASS) 構成に利用できる UI はありません。LASS は、レジストリ キーを直接変更することによって構成できます。 
LASS は、GWES の一部として常に OS イメージに組み込まれます。この機能の組み込みを制御するカタログ項目または Sysgen 変数はありません。 
FIPS 準拠
連邦情報処理規格 (FIPS) は、米国政府内でコンピュータ システムに使用されるハードウェアとソフトウェアの暗号モジュールの要件が記載されている標準規格です。FIPS 140-1 (1994) と FIPS 140-2 (2001) は、国立標準技術研究所 (NIST) によって策定されました。 
Windows CE 5.0 では、rsaenh.dll ファイルに実装された CAPI (Crypto API) 暗号サービス プロバイダ (CSP) は、FIPS 検証用に提供されています。次の Windows CE 暗号アルゴリズムは、FIPS 140-2 Level 1 認定を取得しています。 
RSA 
AES 
DES 
3DES 
SHA-1 
SHA-2 
HMAC 
リモート デスクトップ プロトコル (RDP) は CSP を使用し、現在、FIPS 認定の取得を申請しています。
SDK ローラー
スキン ファイルはルート ディレクトリに配置できない
標準 SDK はランタイム イメージにコンポーネントを追加する
エクスポートされた SDK と連動する eMbedded Visual C++
SDK を管理者以外のユーザーとしてビルドするとランタイム エラーが発生する
エミュレータ イメージが正しく動作しない場合がある
SDK のエクスポートによって最新ではない SDK が作成される場合がある
アプリケーションに .rtf 拡張子が関連付けられていない場合、[印刷] ボタンが機能しない可能性がある
スキン ファイルはルート ディレクトリに配置できない
SDK をエクスポートするときに、スキン ファイルをルート ディレクトリに配置できません。個別のスキン用のファイルは、それぞれ別のディレクトリに配置する必要があります。 
標準 SDK はランタイム イメージにコンポーネントを追加する
OS イメージに標準 SDK を含めると、複数のコンポーネントが追加されます。詳細については、標準 SDK のオンライン マニュアルを参照してください。
エクスポートされた SDK と連動する eMbedded Visual C++
eMbedded Visual C++ 4.0 を Windows CE 5.0 からエクスポートした SDK と正しく連動させるには、eMbedded Visual C++ に Service Pack 4 をインストールする必要があります。
SDK を管理者以外のユーザーでビルドするとランタイム エラーが発生する
管理者権限のないユーザーは、別の管理者以外のユーザーがビルドしたワークスペースを使用してすぐに SDK をビルドすることはできません。これは、cesysgen ヘッダー ファイルに元の ACL が残っているからです。管理者以外のユーザーが生成したヘッダー ファイルは、2 人目の管理者以外のユーザーが読み取ることはできません。
この問題を回避するには、次のいずれかのタスクを実行します。 
2 人目の管理者以外のユーザーは、プラットフォームのシステム生成を再度実行する必要があります。 
最初の管理者以外のユーザーは、%_PROJECTROOT%\cesysgen\<sdk/ddk>\inc ディレクトリ内のファイルに対して明示的に ACL を設定する必要があります。 
エミュレータ イメージが正しく動作しない場合がある
SDK に含まれるエミュレータ イメージは、Platform Builder 環境以外で使用すると、設定が適切でなければ正しく動作しない場合があります。イメージの正常な起動または動作に関するエミュレータの問題を回避するには、次の環境変数を設定します。 
eMbedded Visual C++ 4.0 SP4 の SDK の場合は、IMGNODEBUGGER=1。 
Visual Studio 2003 以降の SDK の場合は、IMGNOKITL=1。 
また、マネージ コードを開発するときに、OS デザインにカタログ項目として CAB ファイル インストーラ/アンインストーラ (SYSGEN_WCELOAD) を追加する必要もあります。Microsoft® ActiveSync® 3.7 またはデバイス管理クライアントが OS デザインに組み込まれている場合は、このカタログ項目は自動的に追加されます。または、SYSGEN_WCELOAD を設定してカタログ項目を個別に追加することもできます。このカタログ項目は、Visual Studio がマネージ アプリケーションをエミュレータに配布するために必要です。 
SDK のエクスポートによって最新ではない SDK が作成される場合がある
SDK ウィザードは、ワークスペースのビルド設定の変更後に、ある BSP の構成が少なくとも 1 つはビルドされているかどうかのみを確認します。これにより、再ビルドされた構成と BSP が、SDK に組み込むものとして選択された構成と BSP に一致しない場合は、最新ではないファイルが SDK に含まれる可能性があります。 
この問題を回避するには、ワークスペースのビルド設定を変更した後に、SDK に含まれるすべての構成と BSP を再ビルドしてから SDK をエクスポートします。
アプリケーションに .rtf 拡張子が関連付けられていない場合、[印刷] ボタンが機能しない可能性がある
エクスポート ウィザードまたは SDK のエクスポート機能によって生成された .MSI ファイルのインストール中に表示される [印刷] ボタンは、.MSI ファイルが実行されるコンピュータ上に .rtf というファイル拡張子が関連付けられたアプリケーションが存在しない場合、機能しない可能性があります。 
この問題を解決するには、ワードパッドや Word などの RTF ファイルを表示できるアプリケーションに .rtf 拡張子を関連付けます。
たとえば、ワードパッドに .rtf 拡張子を関連付けるには、次の操作を実行します。 
Windows エクスプローラを開きます。 
[ファイル] メニューの [新規作成] をポイントし、[テキスト文書] をクリックします。次に、拡張子が .rtf のファイル名を入力します。 
新しいファイルをダブルクリックします。ファイルを開くアプリケーションの選択を求めるダイアログ ボックスが表示され、[このファイルを開くアプリケーション] ボックスの一覧にワードパッドが表示されます。 
[WordPad] をクリックし、[この種類のファイルを開くときは、選択したプログラムをいつも使う] チェック ボックスをオンにします。 
[OK] をクリックします。 
これで、[印刷] ボタンをクリックすると、ワードパッドに EULA が表示されるようになります。
シェル
別のプロセスのスレッドが所有するウィンドウがメッセージ取得コードを実行していない場合、FindWindow がブロックされることがある
GWES: 単一行のリスト ボックスと共に関連リスト ボックスを使用する
Explorer.exe が完全なブラウザ機能を実装しない
[スタート] メニューの層がタッチ ドライバで上書きされる
Application Data フォルダの表示名を変更できない
一部の AYGShell 関数およびシェル関数は信頼された呼び出し元からしか使用できない
別のプロセスのスレッドが所有するウィンドウがメッセージ取得コードを実行していない場合、FindWindow がブロックされることがある
別のプロセスのスレッドが所有するトップ レベルのウィンドウがメッセージ取得コードを実行していない場合、FindWindow が無期限にブロックされることがあります。この問題を回避するには、EnumWindows を使用してトップ レベルのウィンドウを列挙し、WM_GETTEXT を指定した SendMessageTimeout を使用して各トップ レベルのウィンドウのテキストを取得します。
GWES: 単一行のリスト ボックスと共に関連リスト ボックスを使用する
関連リスト ボックスまたはスピン コントロールは、アップダウン コントロールと関連する変更されたリスト ボックス コントロールです。詳細については、スピン コントロールに関する次の Microsoft MSDN® 開発者向けプログラム ドキュメントを参照してください。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ui_guide_ppc/htm/Spin_Boxes.asp (米国サイト)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win_ce/htm/pwc_spinnercontrols.asp (米国サイト)
Explorer.exe が完全なブラウザ機能を実装しない
Internet Explorer for Windows CE および Windows CE 標準のシェル (以前の HPC シェル) では、[Internet Explorer] アイコン (iesample.exe) と [マイ デバイス] アイコン (explorer.exe) によって起動されるブラウザ アプリケーションは別のものです。Explorer.exe は、ポップアップ ブロックなどの完全なブラウザ機能を実装しません。
[スタート] メニューの層がタッチ ドライバで上書きされる
[スタート] メニューの [設定] をタップすると、[設定] ダイアログ ボックスではなくコントロール パネルが表示されます。この問題を回避するには、OS デザインが SYSGEN_MENU_OVERLAP または SYSGEN_TOUCH をサポートしている場合に SYSGEN_MENU_TAP_UI も設定する必要があります。
Application Data フォルダの表示名を変更できない
Application Data フォルダの名前を変更すると、フォルダ名は変更されますが、desktop.ini 内の関連付けられている表示名は変更されません。表示名を変更するには、desktop.ini ファイル内で変更する必要があります。 
一部の AYGShell およびシェル関数は信頼された呼び出し元からしか使用できない
次の AYGShell 関数は、信頼された呼び出し元からのみ使用できます。 
SHDoneButton 
SHHandleWMSettingChange 
SHNotificationRemove 
SPI_SETSIPINFO が指定された SHSipInfo 
次のシェル関数は、信頼された呼び出し元からのみ使用できます。 
SHGetSpecialFolderPath 
ボイス オーバー IP サービス
不正な時刻データが原因でセキュリティ ダイアログが表示される場合がある
2 つのアプリケーションが MIPS II BCM プラットフォーム上で同時に voipphonemedia.dll を読み込むことはできない
複数のアプリケーションが使用される場合、VoIPUI (TUI) がキーボード イベントの優先権を得る
LCS をサポートするには、IP_Phone_Basic および IP_Phone_Advanced の OS デザインにリダイレクタとセキュリティを追加する
IP 電話が着信を拒否する
デバイス管理クライアントを使用して IP 電話ソフトウェアを自動更新する
Broadcom ハードウェア固有のコードは、初期化後に一時停止を必要とする場合がある
Windows Messenger とのピア ツー ピアの通話には開いている UDP ポート 5060 が必要である
IP 電話で IPSec を有効にすると、通話の開始時に 15 秒以上無音になる場合がある
IP_Phone_xxx イメージは、BCM91101SP 上のフラッシュから起動される場合、IP アドレスを取得しないことがある
不正な時刻データが原因でセキュリティ ダイアログが表示される場合がある
IP 電話が保持している内部時刻が正しくない場合、Exchange のグローバル アドレス一覧 (GAL) の検索などのアクションによって、Wininet の証明書のセキュリティ ダイアログが表示される場合があります。 
これらのダイアログは QVGA 画面に表示できる形式になっていないので、ダイアログ内の一部のテキストが表示されない場合があります。 
この問題を回避するには、次のいずれかの操作を実行します。 
SYSGEN_TIMESVC 変数によって表現される SNTP コンポーネントを使用して、IP 電話デバイス上の時刻が正しいことを確認します。 
(非推奨) 時刻が正しくない場合でも表示されないように、ダイアログを抑制します。 
この場合は、wininetui.lib ライブラリのカスタム実装を使用してください。詳細については、Windows CE 5.0 のドキュメントの「Replacement of the Wininet User Interface」トピックを参照してください。 
この方法は、最後の手段と考えてください。ただし、特に Internet Explorer for Windows CE のようにランタイム イメージ内の他のアプリケーションが Wininet を使用する場合は、このオプションを選択しないでください。wininetui.lib に対する変更は、Wininet を使用するすべてのアプリケーションに適用されます。つまり、抑制するセキュリティ ダイアログは、Internet Explorer for Windows CE を含むすべての Wininet アプリケーションで抑制されます。 
2 つのアプリケーションが MIPS II BCM プラットフォーム上で同時に voipphonemedia.dll を読み込むことはできない
VoIPMgr は、MIPS II BCM プラットフォーム上の同じアプリケーションから uninitialize が呼び出された後に初期化することはできません。これにより、voipphonemedia.dll のアクセス違反が発生するか、またはアプリケーションでスタック オーバーフローが発生します。MIPS II BCM プラットフォームの voipphonemedia.dll を uninitialize の呼び出し後に初期化する必要がある場合は、別の新しいアプリケーションからこの DLL を初期化する必要があります。
複数のアプリケーションが使用される場合、VoIPUI (TUI) がキーボード イベントの優先権を得る
VoIPUI (TUI) は、ホット キーとして F1 ～ F12、Esc、Tab、Enter、Ins、Del、Home、End、PageUp、および PageDown を定義しています。複数のアプリケーションが使用される場合、VoIPUI がキーボード イベントの優先権を得るので、別のアプリケーションで同じキー機能が使用されると、競合が発生します。たとえば、Internet Explorer for Windows CE で F5 キーを使用して最新の情報に更新する場合などです。 
Pocket PC では、標準のキーボード上に存在しないキー (0xC0、0xC1、0xC2 など) を TUI ホット キーとして定義できます。これにより、他のアプリケーションと同じ共通キーが使用されなくなります。 
ただし、CEPC 上など、仮想キーが定義されていないキーボード上でこれをデバッグおよび使用することが困難な場合があります。この問題を回避するには、単純なキーボード マッピング アプリケーションを作成して、押された F5 キーを 0xC2 またはホット キーの仮想キー コードとして定義したものにマップできます。
TUI ホット キーを変更するには、次の手順を実行します。 
キーボード ドライバが適切なキーボード イベントを希望の仮想キー コードで送信することを確認します。 
%_WINCEROOT%\public\voip\oak\phone\TUI\inc で、新しい仮想キーコードを使用するように Hotkeys.h ファイルを更新します。 
Pocket PC 以外のデバイスの場合は、TUI がフォアグラウンドである間にのみホット キー機能を保持するようにアプリケーションを変更します。このアプリケーションを、CEPC や専用電話などの複数のプラットフォーム上でテストできます。ただし、アプリケーションを変更するには、アプリケーション コアにおいて多少の開発作業が必要になります。元のキーをすべてホット キーにする場合は、アプリケーションの変更が不要な場合があります。
TUI がフォアグラウンドである間にのみホット キー機能を保持するようにアプリケーションを変更できます。この変更を行うには、次の手順を実行します。 
%_WINCEROOT%\public\voip\oak\phone\tui\controls\Desktop.cpp のコードを更新します。適切な WA_ACTIVE パラメータまたは WA_INACTIVE パラメータが指定された WM_ACTIVATE によって、CVoIPApp オブジェクトがホット キーを登録または登録解除するように変更します。この変更が必要なのは、アプリケーションが WM_ACTIVATE メッセージでフォアグラウンド ステータスを取得するか、または失うときに、TUI デスクトップ ウィンドウに通知されるからです。 
%_WINCEROOT%\public\voip\oak\phone\tui\app 内の voipapp.cpp と voipapp.h を変更することによって、CVoIPApp 上に RegisterHotKeys および UnregisterHotKeys のパブリック メソッドを作成します。 
電話アプリケーションをシミュレートするには、特定のイベントとキーに高い優先順位を割り当てるようにコードを更新します。たとえば、電話を受信するためのウィンドウは、常にフォアグラウンドにする必要があります。この場合、次のように CVoIPApp を更新します。 
CVoIPApp で、着信時 (CVoIPApp::OnCallEvent) に TUI がフォアグラウンド フォーカスを持つようにします。 
受話器を取ったときに、電話がフォアグラウンドになるようにします。フック スイッチは、標準以外のキーまたはあまり使用されない固定キー (ScrollLock など) に設定します。 
LCS をサポートするには、IP_Phone_Basic および IP_Phone_Advanced OS デザインにリダイレクタとセキュリティを追加する
これらのランタイム イメージを Microsoft Live Communications Server (LCS) サーバーで動作させるには、リダイレクタおよびセキュリティ カタログ項目が必要です。
これらのカタログ項目を OS デザインに追加して、LCS との互換性を確保する必要があります。
IP 電話が着信を拒否する
RTC を使用する IP 電話 (IP 電話のデザイン テンプレートを使用して作成された IP 電話を含む) は、Microsoft Live Communication Server のインスタンスで使用すると、特定のユーザーがブロックされている場合に呼び出しを拒否することがあります。特に、Windows Messenger で "そのほかの SIP ユーザー" または "他のユーザー" をブロックしている場合は、電話を使用してログオンするときや Windows Messenger と同時にログオンするときに、電話は着信をブロックされたユーザーと見なして拒否することがあります。
この問題を解決するには、[禁止するメンバ] の一覧から [そのほかの SIP ユーザー] または [他のユーザー] を削除します。[禁止するメンバ] の一覧にアクセスするには、Windows Messenger で、[ツール] メニューの [オプション] をクリックし、[プライバシー] タブをクリックします。
デバイス管理クライアントを使用して IP 電話ソフトウェアを自動更新する
IP 電話のデザイン テンプレートは、Microsoft では Windows CE のデバイス管理クライアント機能を使用してテストされます。この機能を使用すると、電話ソフトウェアをユーザーの介在なしに自動更新できます。電話ソフトウェアを更新するには、電話アプリケーションをシャット ダウンし、.EXE ファイルおよび .DLL ファイルを更新してからアプリケーションを再起動します。実際には、新しいバージョンの電話ソフトウェアは、ユーザーがオフィスにいない夜間でもインストールできます。 
レジストリと Windows CE データベースに格納されるユーザー設定は、更新後も保持されます。更新によって変更されるのはファイルだけであり、レジストリや Windows CE データベースの内容は更新の影響を受けません。次の設定は、更新後も電話上で保持されます。 
ユーザー資格情報 
短縮ダイヤル 
通話の記録 
暗証番号 (PIN) 
自動転送番号 
電話設定 
Windows CE には Microsoft のテストで使用した特定の設定やファイルは含まれていませんが、基本的なテスト プロセスを理解しておくと、使用する IP 電話で同様のテストを実施する必要がある場合に役立ちます。デバイス管理クライアントは一般的な機能であり、IP 電話に固有ではありません。したがって、次の手順は、どの Windows CE プロジェクトにも応用できます。 
Microsoft のテストでは、次のソフトウェアを使用します。 
デバイス管理クライアント (SYSGEN_DEVMGMT) を含む IP 電話の OS デザイン。この Sysgen 変数は IP 電話のデザイン テンプレートには含まれていません。 
Microsoft Systems Management Server 2003 (SMS 2003) Device Management Feature Pack (ベータ版) 
デバイス管理クライアントの機能の詳細については、Platform Builder のドキュメントの「Device Management Client」を参照してください。SMS 2003 の詳細については、Microsoft MSDN® の Web サイトを参照してください。
Microsoft のテスト プロセスでは、電話アプリケーションおよび関連する DLL を更新するために、管理者と SMS インストール スクリプトは次の操作を実行します。 
電話のシステム管理者は、更新された voipui.exe と他の DLL ファイルを含む新しい SMS パッケージと、カスタム SMS インストール スクリプトを作成します。そして、このパッケージを SMS サーバー上で利用できるようにします。 
電話上のデバイス管理クライアントは、定期的に SMS コンピュータをポーリングして、ダウンロード可能な新しいパッケージがないかどうかを確認します。 
電話上のデバイス管理クライアントは、パッケージをダウンロードし、ファイルを電話上の一時ディレクトリに展開します。 
デバイス管理クライアントは、カスタム SMS インストール スクリプトを実行します。このスクリプトによって、手順 5. ～ 8. で説明されている手順が実行されます。 
インストール スクリプトは、小さいアプリケーションを実行して、電話ユーザーに今すぐアップグレードするか後でアップグレードするかを確認するダイアログを表示します。今すぐアップグレードする場合は、アプリケーションから voipui.exe に WM_CLOSE メッセージが送信されます。これにより、voipui.exe (TUI アプリケーション) が終了するので、voipui.exe とそれが使用する DLL を更新できます。 
新しいファイルを一時ディレクトリから windows ディレクトリにコピーし、既存のファイルを上書きします。 
voipui.exe を再起動する別の小さいアプリケーションを実行します。 
不要になったファイルを一時ディレクトリから削除します。 
デバイス管理クライアントは、ランタイム イメージ全体の更新をサポートします。この機能は、IP 電話コードのテストでは使用されませんでした。その理由は、Broadcom BSP では Windows CE 内からフラッシュ メモリへのイメージの書き込みをサポートしていないからです (ブートローダからフラッシュへの書き込みはサポートされます)。
Microsoft は、内部テスト中に次のファイルを更新します。 
voipstore.dll 
voipui.exe 
voipphonemedia.dll 
rtcclient.dll 
voipmanager.dll 
voipconfigurationdatastore.dll 
voiplap.dll 
owaexchangeclient.dll 
ユーザーが実施するテストでは、これらすべてのファイルを更新する必要がない場合もあります。たとえば、rtcclient.dll は Windows CE の一部として出荷され、変更できないので、更新パッケージには含まれない可能性があります。一方、voipui.exe はソース形式で提供され、変更が可能なので、更新パッケージに含まれ、更新される可能性があります。
Microsoft のテスト中に、ランタイム イメージは次のレジストリ値を含むように変更されます。これらの値によって、ターゲット デバイスの起動時にデバイス管理クライアントが自動的に起動されるようになります。
[HKEY_LOCAL_MACHINE\Services\DEVMGMT]
    "Dll"="dmsvc.dll"
    "Prefix"="DMS"
    "Keep"=dword:00000001
    "Order"=dword:00000009
    "Index"=dword:00000000
Broadcom ハードウェア固有のコードは、初期化後に一時停止を必要とする場合がある
IVoIPMediaMgr::Initialize() の Broadcom 固有の実装は、メディア マネージャの初期化が完了する前に戻ります (初期化を実行する別のスレッドを生成してから戻ります)。したがって、追加コードの実行前に、待機が必要になる場合があります。
コードに必要な変更の詳細については、%_WINCEROOT%\Public\Voip\Oak\Phone\TUI\App\voipphone.idl のコメントを参照してください。
TUI によって使用されるハードウェア固有のコードの詳細については、Platform Builder のドキュメントの「Mapping Hardware to TUI Functionality」トピックを参照してください。
Windows Messenger とのピア ツー ピアの通話には開いている UDP ポート 5060 が必要である
Windows CE の IP 電話機能は、Windows Messenger とのピア ツー ピアの音声通話をサポートしています。Windows Messenger とのピア ツー ピア接続を確立するには、Windows Messenger が UDP ポート 5060 上でリッスンする必要があります。 
Windows Messenger および Microsoft Live Communications Server の特定のインストール (たとえば "高セキュリティ モード" でのインストール) は、UDP ポート 5060 を閉じます。このようなインストールでは、Windows CE ベースの IP 電話は Windows Messenger とピア ツー ピアで通話できません。
IP 電話で IPSec を有効にすると、通話の開始時に 15 秒以上無音になる場合がある
IPSec が有効になっている IP 電話では、通話の最初の 15 ～ 20 秒間無音になる場合があります。この間、どちら側も相手の声は聞こえません。この動作の要因の 1 つは、最初の接続が確立された後に行われる IPSec ネゴシエーションです。その後で接続された IP 電話では、前の IPSec ネゴシエーションが有効なままなのでこのような動作は発生しません。
IP_Phone_xxx イメージは、BCM91101SP 上のフラッシュから起動される場合、IP アドレスを取得しないことがある
BCM91101SP のランタイム イメージは、圧縮されたイメージがフラッシュから起動される場合、DHCP から IP アドレスを取得しないことがあります。この問題を解決するには、デバイスを再起動します。