IDWriteFactory::CreateTextFormat() failing
IDWriteFactory::CreateTextFormat() failing
我正面临一个问题,我正在为之自杀。我有以下代码:
ComPtr<IDWriteFactory> factory;
DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory), factory.GetAddressOf();
ComPtr<IDWriteTextFormat> textFormat;
factory->CreateTextFormat(L"Arial", nullptr, DWRITE_FONT_WEIGHT_NORMAL,
DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, 20.0f, nullptr,
textFormat.GetAddressOf());
在最后一行之后,textFormat指向null。CreateTextFormat()返回值E_INVALIDARG。我肯定安装了Arial,根据MSDN,两个nullptr参数是允许的,所以我不认为什么是无效的。有人能解释一下吗?
正如CodeAngry所说,语言标记和familyName不能为null(In_z而不是In_opt_z)。其中一个可以是空的,尽管是",在这种情况下,不使用特定的语言,而是选择默认的回退字体。
相关文章:
- CreateDepthStencilView() is failing
- CGAL static_cast failing
- Qt C++ Modulo Operator Failing
- I_CHILDRENCALLBACK 64bit failing
- C++ GetBinaryType Failing
- IDWriteFactory::CreateTextFormat() failing
- fopen() failing
- C++ Minmax Failing
- IE9 GetPropertyByName failing
- C++: gethostname() failing
- Qt QMap.insert() failing
- wxSocket wxWidgets failing
- WaitForMultipleObjects failing c++
- CreateWindowEx failing