我不熟悉使用Windows应用程序和c ++。我正在尝试使用此代码“http://msdn.microsoft.com/en-us/library/windows/desktop/hh404272(v=vs.85).aspx”从d3d11设备的Dxgi表面创建D2D设备。
但是HRESULT gr(创建d2d设备)给了我一个错误“E_INVALIDARG”,尽管我按照给定的步骤进行了操作。
以下是代码段。 // m_device已初始化
//获取DXGI设备
IDXGIDevice* DxgiDevice = nullptr;
HRESULT hr = m_Device->QueryInterface(__uuidof(IDXGIDevice), reinterpret_cast<void**>(&DxgiDevice));
// create id2d21factory
ID2D1Factory1* m_d2dFactory=nullptr;
D2D1_FACTORY_OPTIONS options;
options.debugLevel= D2D1_DEBUG_LEVEL_NONE;
D2D1_FACTORY_TYPE factoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED;
hr = D2D1CreateFactory(factoryType, __uuidof(ID2D1Factory1),&options, reinterpret_cast<void **> (&m_d2dFactory));
HRESULT gr= m_d2dFactory->CreateDevice(DxgiDevice, &m_d2dDevice );
在Visual Studio 2012中编译或构建解决方案时,此代码不会出现任何错误。 但在调试时给我错误。 我试图在microsoft的桌面复制示例代码中插入此代码。我需要为我的项目创建一个d2dbitmap源
请帮我解决这个问题。
如果需要进一步的详细信息,请与我们联系。
答案 0 :(得分:1)
我建议您在定义<ng-container *ngFor="let cat of categories">
<ng-container *ngIf="cat.parent_cat === 'noParentCategory'">
<h3>
{{cat.cat_name}}
</h3>
<ng-container *ngFor="let subcat of categoriesAndProducts">
<ion-list>
<ng-container *ngIf="subcat.parent_cat === cat.$key">
<ion-item-divider>
{{subcat.cat_name}}
</ion-item-divider>
<ion-item *ngFor="let prod of subcat.productDetails">
{{prod.details?.prod_name}}
</ion-item>
</ng-container>
</ion-list>
</ng-container>
</ng-container>
</ng-container>
时将options
设置为D2D1_DEBUG_LEVEL_INFORMATION
,然后您可能会在输出窗口中看到一些错误消息。例如,输出告诉我
D2D DEBUG WARNING - Direct3D设备未使用D3D11_CREATE_DEVICE_BGRA_SUPPORT创建,因此与Direct2D不兼容。
这真的很有帮助。