Почему мой код аварийно завершает работу при вызове TTGetEmbeddedFontInfo?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой код аварийно завершает работу при вызове TTGetEmbeddedFontInfo?

Сообщение Anonymous »

Моя цель — получить имя файла шрифта, выбранного в HDC, без использования DirectWrite.
Для этого я подумал, что могу использовать TTGetEmbeddedFontInfo(), потому что doc говорит:

Указатель на структуру TTLOADINFO, содержащую URL-адрес, из которого был получен встроенный объект шрифта.

Но сейчас, когда я вызываю TTGetEmbeddedFontInfo(), моя программа выходит из строя. Вероятно, это связано с моей функцией read_proc, которая является READEMBEDPROC, но я не могу понять, почему это происходит.
#define _CRT_SECURE_NO_DEPRECATE
#include
#include
#include
#pragma comment(lib, "t2embed.lib")

unsigned long write_proc(void* tFile, const void* buffer,
const unsigned long count)
{
return (unsigned long)fwrite((char*)buffer, 1, count, (FILE*)tFile);
}

unsigned long read_proc(void* tFile, void* buffer,
const unsigned long count)
{
return (unsigned long)fread((char*)buffer, 1, count, (FILE*)tFile);
}

int main()
{

HDC hdc = CreateCompatibleDC(nullptr);
if (hdc == nullptr)
throw std::runtime_error("Failed to call CreateCompatibleDC");

WCHAR tempPath[MAX_PATH];
WCHAR tempFileName[MAX_PATH];
UINT uRetVal;

if (GetTempPathW(MAX_PATH, tempPath) == 0)
throw std::runtime_error("Failed to call GetTempPathW");

if (GetTempFileNameW(tempPath, L"TMP", 0, tempFileName) == 0)
throw std::runtime_error("Failed to call GetTempFileNameW");

std::wcout

Подробнее здесь: https://stackoverflow.com/questions/789 ... edfontinfo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»