Как сгенерировать GUID под Windows Mobile? - PullRequest
2 голосов
/ 26 июня 2009

Существует ли готовый к использованию API (C / C ++) в экосистеме Windows Mobile, который я мог бы использовать для создания GUID? Я ищу простой однократный API для этого. Если есть необходимость написать целый алгоритм или использовать некоторые дополнительные сторонние модули, я покончу с этим.

Фон . Для отображения уведомления пользователю я использую SHNotificationAdd, для которого требуется GUID. Примеры в MSDN и других источниках показывают, что GUID жестко запрограммирован. Однако я хочу обернуть SHNotification * в класс, который хорошо вписывается в общий дизайн моего приложения. MSDN очень стесняется подробностей о том, что представляет SHNOTIFICATIONDATA-> clsid. Упомянутый «класс» поднимает больше вопросов, чем отвечает.

Ответы [ 3 ]

5 голосов
/ 26 июня 2009

Использование CoCreateGUID () для Windows Mobile ...

1 голос
/ 26 июня 2009

Вам не нужно генерировать GUID для SHNOTIFICATIONDATA.

Вы устанавливаете clsid только в том случае, если хотите, чтобы WM уведомляла COM-объект, реализующий интерфейс IshellNotificationCallback.

Цитата из MSDN :

При загрузке данных SHNOTIFICATIONDATA структура, вы можете указать либо класс уведомлений (clsid), окно получить выбор команды (hwndSink), или оба. Если вы укажете clsid, ваш COM-компонент должен реализовывать IshellNotificationCallback. если ты укажите clsid и hwndSink, как COM, так и оконный стиль сообщений будут сгенерированы обратные вызовы.

Я никогда не использовал обратный вызов COM, я всегда использую обратный вызов сообщений Windows. Его намного проще настроить и использовать, и вам не нужно генерировать GUID.

0 голосов
/ 26 июня 2009

Вы также можете использовать UuidCreate (который в конечном итоге вызывает CoCreateGuid).

...