2009-06-26 9 views
2

Windows Mobileエコシステムには、GUIDを生成するために使用できる、すぐに使えるAPI(C/C++)がありますか?私はこれを行うための簡単なワンショットAPIを探しています。アルゴリズム全体を書く必要がある場合や、他のサードパーティのモジュールを使用する必要がある場合は、これを削除します。Windows MobileでGUIDを生成するにはどうすればよいですか?

背景。ユーザーに通知を表示するには、そのGUIDが必要なSHNotificationAddを使用します。 MSDNやその他のソースの例では、GUIDはハードコードされています。しかし、私はSHNotification *を、アプリケーションの全体的なデザイン内でよく混じるクラス内にラップしたいと思っています。 MSDNは、SHNOTIFICATIONDATA-> clsidが表すものの詳細については非常に恥ずかしいです。言及された「クラス」は、それが答えるより多くの質問を提起する。

答えて

1

あなたはSHNOTIFICATIONDATAのためのGUIDを生成する必要はありません。

WMが、IshellNotificationCallbackインターフェイスを実装するCOMオブジェクトに通知するようにする場合は、clsidのみを設定します。 MSDNから

引用:SHNOTIFICATIONDATA 構造をロードするとき

は、コマンドの選択(hwndSink)、 またはその両方を受信する 通知クラス(CLSID)、ウィンドウ のいずれかを指定することができます。 clsidを指定する場合、 COMコンポーネントには、 IshellNotificationCallbackを実装する必要があります。 でclsidとhwndSinkを指定すると、 COMとWindow Messageスタイルの両方のコールバックが生成されます。

私は個人的にCOMコールバックを使用したことはありません。私はいつもWindowsメッセージコールバックを使用します。セットアップと使用がはるかに簡単で、GUIDを生成する必要はありません。

0

UuidCreate(CoCreateGuidが最終的に呼び出す)を使用することもできます。

+0

MSDN(https://msdn.microsoft.com/en-us/library/windows/desktop/aa379205(v=vs.85).aspx)によると、 'UuidCreate'はデスクトップアプリケーションでのみ使用できます( 「CoCreateGuid」がWindows Mobile上で実際に何をしているのか不思議です)。 – skyking

関連する問題