2013-03-10 166 views
0

我正在使用DirectWrite API,并且正在实现我自己的布局和文本渲染引擎。我已经成功创建了我的IDWriteTextLayout对象。当我拨打以下电话时,我收到访问冲突错误,我不知道为什么:访问冲突DirectWrite

DWRITE_LINE_METRICS m_lineMetrics; 
UINT32 m_lineCount; 

DX::ThrowIfFailed(
    m_textLayout->GetLineMetrics(&m_lineMetrics,31,&m_lineCount) 
); 
+1

您承诺第一个参数是指向包含31个元素的数组的指针。不是,你只有一个。 KABOOM。 – 2013-03-10 23:53:32

+0

这就是我的想法。该文件令人困惑。它说,当函数返回时,将会有一个指向DWRITE_LINE_METRICS结构数组的指针。当我尝试传递指向具有31个元素的数组的指针时,它会中断函数签名 – 2013-03-10 23:55:13

+0

如何将指针传递给包含31个元素的数组而不破坏签名 – 2013-03-11 00:01:23

回答

0

我想通了。我想我是错误地解释功能的文档。您可以传递指向单个DWRITE_LINE_METRICS结构的指针或DWRITE_LINE_METRICS结构的数组。