On 8/29/19 4:46 PM, Jactry Zeng wrote:
+HRESULT WINAPI MFCreateDXGIDeviceManager(UINT *token, IMFDXGIDeviceManager **manager) +{ + struct dxgi_device_manager *object; + + TRACE("(%p, %p).\n", token, manager); + + if (!token || !manager) + return E_POINTER; + + object = heap_alloc(sizeof(*object)); + if (!object) + return E_OUTOFMEMORY; + + object->IMFDXGIDeviceManager_iface.lpVtbl = &dxgi_device_manager_vtbl; + object->refcount = 1; + object->token = MFGetSystemTime() >> 16; + + TRACE("Created device manager: %p, token: %u.\n", object, object->token); + + *token = object->token; + *manager = &object->IMFDXGIDeviceManager_iface; + + return S_OK; +} Turns out it's using GetTickCount(), as strange as it might sound. That's why tests will have to keep small sleep pause.