def retraceApi(self, api): print '// Swizzling mapping for lock addresses' print 'static std::map<void *, void *> _maps;' print self.table_name = 'd3dretrace::dxgi_callbacks' Retracer.retraceApi(self, api)
def retraceApi(self, api): print '// Swizzling mapping for lock addresses' print 'typedef std::pair<void *, UINT> MappingKey;' print 'static std::map<MappingKey, void *> _maps;' print Retracer.retraceApi(self, api)
def retraceApi(self, api): print 'static const GUID GUID_D3DRETRACE = {0x7D71CAC9,0x7F58,0x432C,{0xA9,0x75,0xA1,0x9F,0xCF,0xCE,0xFD,0x14}};' print self.table_name = 'd3dretrace::%s_callbacks' % api.name.lower() Retracer.retraceApi(self, api)
def retraceApi(self, api): print '// Swizzling mapping for lock addresses, mapping a (pDeviceContext, pResource, Subresource) -> void *' print 'typedef std::pair< IUnknown *, UINT > SubresourceKey;' print 'static std::map< IUnknown *, std::map< SubresourceKey, void * > > g_Maps;' print self.table_name = 'd3dretrace::dxgi_callbacks' Retracer.retraceApi(self, api)
def retraceApi(self, api): print('// Swizzling mapping for lock addresses, mapping a (pDeviceContext, pResource, Subresource) -> void *') print('typedef std::pair< IUnknown *, UINT > SubresourceKey;') print('static std::map< IUnknown *, std::map< SubresourceKey, void * > > g_Maps;') print() self.table_name = 'd3dretrace::dxgi_callbacks' Retracer.retraceApi(self, api)
def retraceApi(self, api): print '// Swizzling mapping for lock addresses' print 'static std::map<void *, void *> _maps;' print # TODO: Keep a table of windows print 'static HWND g_hWnd;' print Retracer.retraceApi(self, api)
def retraceApi(self, api): print '// Swizzling mapping for lock addresses' print 'static std::map<void *, void *> _maps;' print print r''' static void createWindow(DXGI_SWAP_CHAIN_DESC *pSwapChainDesc) { UINT Width = pSwapChainDesc->BufferDesc.Width; UINT Height = pSwapChainDesc->BufferDesc.Height; if (!Width) Width = 1024; if (!Height) Height = 768; pSwapChainDesc->OutputWindow = d3dretrace::createWindow(Width, Height); } ''' self.table_name = 'd3dretrace::dxgi_callbacks' Retracer.retraceApi(self, api)
def retraceApi(self, api): print '// Swizzling mapping for lock addresses' print 'static std::map<void *, void *> _maps;' print Retracer.retraceApi(self, api)