2009-07-13 16 views
0

CE 6.0デバイス用の一意のマシンIDを生成する必要があります。 Windows OSでは、WMIを使用してこのIDを構築したハードウェアIDを取得していました。どうやらWMIはWin CEでサポートされていないので、私は代替案を探しています。Windows CEデバイスの一意のマシンID

私がプラットフォームビルダーで構築し、エミュレータで自分のアプリケーションをテストしているOSイメージを再生している瞬間、後で実際のWinCEデバイスが提供されます。

私はGetDeviceUniqueIDKernelIoControl(IOCTL_HAL_GET_DEVICEID,...の両方を試しましたが、両方ともERROR_NOT_SUPPORTED(0x80070032)を返します。

  1. この機能を有効にするには、winceカタログのパッケージをいくつか含める必要がありますか?
  2. この制限はエミュレータでのみですか? (つまり、OEMが実際のデバイスにこのユニークID機能を実装している可能性がありますか?)

  3. ハードウェア/ OSシリアルなどの入手方法と同様に、

答えて

2

を取得OSをビルドし直してから、KernelIoControlが何かを返すようにIOCTLを実装する必要があります。私はMACをベースとして、オンボードフラッシュのシリアル番号を見てきました。

あなたは私が言うことができない特定のプラットフォームのためにそれを行うだろうが、x86用の例として、あなたはPLATFORM \ COMMON \ SRC \ X86 \ COMMON \ IOCTLの\ devinfo.c \%のWINCEROOT &でclone the codeかもしれない方法とクローンを変更してください(は共通コードを変更しないでください。明らかに、)。

0

ない、それは古い帽子だが、関連するthis thread思える場合には、「本物に見える」ID取得の両方のエミュレータを使用して人々を言及するようだ確認します。さんを、あなたならば人々が一定の0

+0

解決策を探している間もそのリンクに来ました。それは明らかではありませんが、IDが0の人は私と同じ問題を抱えていると思われます。実際には、私の最初の試みでも私は0を持っていますが、後でHRESULTをチェックしてエラーに気付きました。だから、私は彼らもいくつかのエラーコードを取得している(とHRESULTを無視する)と推定します。 –

関連する問題