Я использую DirectWrite API и реализую свой собственный механизм макета и рендеринга текста. Я уже создал свой IDWriteTextLayout
объект успешно. Когда я выполняю следующий вызов, я получаю ошибку Access Violation и не знаю почему:
DWRITE_LINE_METRICS m_lineMetrics;
UINT32 m_lineCount;
DX::ThrowIfFailed(
m_textLayout->GetLineMetrics(&m_lineMetrics,31,&m_lineCount)
);
Я понял. Наверное, я неправильно интерпретировал документацию по этой функции. Вы можете передать либо указатель на одну структуру DWRITE_LINE_METRICS, либо массив структур DWRITE_LINE_METRICS.
Других решений пока нет …