- if interface.name in self.bufferInterfaceNames:
- # FIXME: handle recursive locks
- getDescMethod = interface.getMethodByName('GetDesc')
- descArg = getDescMethod.args[0]
- assert descArg.output
- descType = getDescMethod.args[0].type.type
- print ' if (SizeToLock) {'
- print ' _LockedSize = SizeToLock;'
- print ' } else {'
- print ' %s Desc;' % descType
- print ' m_pInstance->GetDesc(&Desc);'
- print ' _LockedSize = Desc.Size;'
- print ' }'
- print ' m_pbData = *ppbData;'
- elif method.name == 'LockRect':
- print ' _LockedSize = _getLockSize(_this, %s);' % ', '.join(method.argNames()[:-1])
- print ' m_pbData = pLockedRect->pBits;'
- else:
- raise NotImplementedError
+ print ' _getMapInfo(_this, %s, m_pbData, _MappedSize);' % ', '.join(method.argNames()[:-1])