Метод IDXGIOutputDuplication::GetFramePointerShape (dxgi1_2.h)
Возвращает сведения о новой фигуре указателя для текущего кадра рабочего стола.
Синтаксис
HRESULT GetFramePointerShape(
[in] UINT PointerShapeBufferSize,
[out] void *pPointerShapeBuffer,
[out] UINT *pPointerShapeBufferSizeRequired,
[out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo
);
Параметры
[in] PointerShapeBufferSize
Размер буфера в байтах, который вызывающий объект передал параметру pPointerShapeBuffer .
[out] pPointerShapeBuffer
Указатель на буфер, в который GetFramePointerShape копирует и возвращает пиксельные данные для новой фигуры указателя.
[out] pPointerShapeBufferSizeRequired
Указатель на переменную, которая получает количество байтов, необходимое GetFramePointerShape для хранения новых данных пикселей фигуры указателя в буфере в pPointerShapeBuffer.
Дополнительные сведения о возврате требуемого размера буфера см. в разделе Примечания.
[out] pPointerShapeInfo
Указатель на структуру DXGI_OUTDUPL_POINTER_SHAPE_INFO , которая получает сведения о фигуре указателя.
Возвращаемое значение
GetFramePointerShape возвращает:
- S_OK, успешно ли получена информация о новой фигуре указателя.
- DXGI_ERROR_ACCESS_LOST, если интерфейс дублирования рабочего стола недопустим. Интерфейс дублирования рабочего стола обычно становится недопустимым, если на рабочем столе отображается изображение другого типа. Примеры такой ситуации:
- Переключатель рабочего стола
- Изменение режима
- Включение DWM, отключение DWM или другого полноэкранного приложения
- DXGI_ERROR_MORE_DATA, если буфер, предоставленный вызывающим приложением, недостаточно велик.
- DXGI_ERROR_INVALID_CALL, если приложение называется GetFramePointerShape без владения образом рабочего стола.
- E_INVALIDARG, если один из параметров GetFramePointerShape является неправильным ; Например, если pPointerShapeInfo имеет значение NULL.
- Возможно, другие коды ошибок, описанные в DXGI_ERROR разделе.
Комментарии
GetFramePointerShape сохраняет значение размера в переменной pPointerShapeBufferSizeRequired. Это значение указывает количество байтов, необходимых pPointerShapeBufferSizeRequired для хранения новых данных пикселей фигуры указателя. Значение можно использовать в следующих ситуациях, чтобы определить объем памяти, выделяемый для будущих буферов, которые будут передаваться в pPointerShapeBuffer:
- GetFramePointerShape завершается сбоем с DXGI_ERROR_MORE_DATA, так как буфер недостаточно велик.
- GetFramePointerShape предоставляет буфер большего размера, чем необходимо. Значение размера, возвращаемое в pPointerShapeBufferSizeRequired , сообщает вызывающей объекту, какой объем буферного пространства фактически использовался по сравнению с объемом буферного пространства, выделенным вызывающим объектом и указанным в параметре PointerShapeBufferSize .
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | dxgi1_2.h |
Библиотека | Dxgi.lib |