Вы можете вызывать CacheGlobalData несколько раз. Для каждого формата буфера обмена в буфере обмена хранится последнее значение, установленное CacheGlobalData. Например, IE сохраняет данные в форматах CF_UNICODETEXT, CF_TEXT и CF_HTML при перетаскивании абзаца текста. Обычно приложение должно предоставлять данные в максимально возможном количестве форматов, чтобы большее количество приложений могло их распознать.
Во избежание потери данных при поездках туда, сначала в буфер обмена должны быть помещены форматы буфера обмена, содержащие наибольшее количество информации, а затем менее описательные форматы. Например, CF_HTML первый, CF_UNICODETEXT второй и CF_TEXT последний.
Вам, вероятно, нужно зарегистрировать свой собственный формат для числового значения и изменить целевое приложение перетаскивания, которое может понимать ваш собственный формат. Ни один из стандартных форматов не принимает числовое значение.
Данные буфера обмена должны храниться в глобальной памяти. Если вам это не нравится, вы можете передать NULL и обработать сообщения WM_RENDERFORMAT или WM_RENDERALLFORMATS для предоставления данных, когда это необходимо, но для DWORD это не стоит усилий.