Чтобы извлечь информацию для вставки из буфера обмена, окно сначала выясняет формат извлекаемых данных. Как правило, окно перечисляет доступные форматы буфера при помощи использования функции EnumClipboardFormats и использует первый формат, который оно распознает. Этим способом выбирается самый лучший доступный формат согласно установке приоритета, когда информация помещалась в буфер обмена.
Или же, окно может использовать функцию GetPriorityClipboardFormat. Эта функция идентифицирует самый лучший доступный формат буфера обмена согласно заданному приоритету. Окно, которое распознает только один формат буфера обмена, может просто выяснить, доступен ли этот формат при помощи использования функции IsClipboardFormatAvailable.
После определения формата буфера обмена, который используется, окно вызывает функцию GetClipboardData. Эта функция возвращает дескриптор объекта глобальной памяти, содержащего данные в заданном формате. Окно может на краткое время блокировать объект памяти, чтобы проверить или скопировать данные. Однако, окно не должно освобождать объект или оставлять его блокированным в течение длительного периода времени.