bool FSUIPC::openLink() { closeLink(); DWORD error = 0; #if VASFMC_GAUGE delete [] m_buffer; m_buffer=new BYTE[FSUIPC_BUFFER_SIZE]; int ret = FSUIPC_Open2(SIM_ANY, &error, m_buffer, FSUIPC_BUFFER_SIZE); #else int ret = FSUIPC_Open(SIM_ANY, &error); #endif if (!ret || error != FSUIPC_ERR_OK) { // printf("FSUIPC:openLink: Error: %s\n", getErrorText(error).toLatin1().data()); // fflush(stdout); return false; } m_link_ok = true; return true; };
Fsuipc::Fsuipc() { d = new Data; InitializeCriticalSection( &d->critSect ); // connect to FSUIPC DWORD res; if( !FSUIPC_Open2( SIM_FS2K4, &res, d->mem, 256 ) ) { derr << "Cannot connect to FSUIPC: " << gFsuipcErrors[res] << std::endl; } // register with freeware key begin(); char *key = "E09XMDV8JQZ0multicrewcore.dll"; bool ok1 = write( 0x8001, strlen(key)+1, key ); bool ok2 = end(); if( !ok1 || !ok2 ) { derr << "Cannot register Multicrew at FSUIPC with freeware key:" << gFsuipcErrors[res] << std::endl; } }