HRESULT vboxUhgsmiKmtEscCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D) { pHgsmi->BasePrivate.Base.pfnBufferCreate = vboxUhgsmiKmtEscBufferCreate; pHgsmi->BasePrivate.Base.pfnBufferSubmitAsynch = vboxUhgsmiKmtEscBufferSubmitAsynch; #ifdef VBOX_CRHGSMI_WITH_D3DDEV pHgsmi->BasePrivate.hClient = NULL; #endif return vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D); }
HRESULT vboxUhgsmiKmtCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D) { HRESULT hr = vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D); if (!SUCCEEDED(hr)) return hr; uint32_t u32Caps = 0; hr = vboxUhgsmiKmtQueryCaps(pHgsmi, &u32Caps); if (!SUCCEEDED(hr)) { WARN(("vboxUhgsmiKmtQueryCaps failed hr %#x", hr)); return hr; } if (u32Caps & CR_VBOX_CAP_CMDVBVA) vboxUhgsmiKmtSetupCallbacks(pHgsmi); else vboxUhgsmiKmtEscSetupCallbacks(pHgsmi); return S_OK; }
HRESULT vboxUhgsmiKmtEscCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D) { vboxUhgsmiBaseInit(&pHgsmi->BasePrivate, vboxCrHhgsmiKmtEscape); return vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D); }
HRESULT vboxUhgsmiKmtEscCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D) { vboxUhgsmiKmtEscSetupCallbacks(pHgsmi); return vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D); }