2013-03-10 165 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結構的數組。