![windows 10 available maplestory private servers windows 10 available maplestory private servers](https://i.imgur.com/pXyVUn6.png)
- #WINDOWS 10 AVAILABLE MAPLESTORY PRIVATE SERVERS CODE#
- #WINDOWS 10 AVAILABLE MAPLESTORY PRIVATE SERVERS WINDOWS 8#
- #WINDOWS 10 AVAILABLE MAPLESTORY PRIVATE SERVERS WINDOWS#
It's because of this that I needed to look more into this myself so that I could find a fix that would for sure make the client no longer have issues executing the external calls.
![windows 10 available maplestory private servers windows 10 available maplestory private servers](https://i.ytimg.com/vi/DeJwVy6xSg8/maxresdefault.jpg)
However, since we have removed the COM error exceptions, we don't see any "parameter is incorrect" anymore the client process just ends and you have to re-run the game. It seems to work most of the time, but very commonly the client will continue to fault and terminate. So I tested out the client with just simply sleeping and jumping back, removing the COM error exceptions.
![windows 10 available maplestory private servers windows 10 available maplestory private servers](https://lasopasystems978.weebly.com/uploads/1/2/5/8/125827277/331328226.jpg)
This means that we'll indeed get rid of the parameter is incorrect error, but doesn't mean that we took care of the issue. Upon doing so, we assemble over the conditional call to the DirectInput's COM error exception. What we did to simply ignore and throw away the error ever occurring was simply call a code-caved function to cause the thread to sleep for two seconds, and jump back. This is where the use of the current workaround released is involved. Well, the issue that had been brought up a few times was that it's just a multi-threading problem, and running it a few more times would generally fix whatever problem people were having.
#WINDOWS 10 AVAILABLE MAPLESTORY PRIVATE SERVERS WINDOWS#
At the same time, all new modern operating systems (since the start of the official release of Windows 8) had started using DirectX 11.1 and above. It turns out that around August 2012, Microsoft had officially deprecated the external calls to all of the DirectX 9 functions that the client utilizes, and upon doing so killed the compatibility on a lot of these older game clients that use them.
#WINDOWS 10 AVAILABLE MAPLESTORY PRIVATE SERVERS WINDOWS 8#
Keeping in mind that the issue only occurs on Windows 8 and above, we know it's some newer platform affecting it. Well by now we know the issue is specific to DirectX, and by some quick searching of the error 80070057 we'll find that the issue is actually seen throughout many other games and applications. Next, the problem and the workarounds available. Now that we have some little information on the error, we know that the message and problem we're having is not specific to MapleStory like some of our other error codes.
#WINDOWS 10 AVAILABLE MAPLESTORY PRIVATE SERVERS CODE#
Since the result is clearly < 0, it'll call to com_raise_error to trigger a CxxThrowException which will generate the StringPool that prints both the name and error code in the MapleStory OK window as it crashes. This means that the error involved actually has absolutely nothing to do with the physical application itself, as it is an external library call that returns an E_INVALIDARG result. Well, what is DirectInput8 returning at "v9"? It's actually returning a HANDLE Result, and a commonly known HRESULT is in fact 0x80070057, or E_INVALIDARG. This leaves us right back where we started, with something wrong in CInputSystem::Init, specifically from DirectInput8Create. We'll only find a limited amount of results (like we had hoped), however none of these actually throw the exception or come close to it when we trace and breakpoint the source of the issue. With that said, knowing the client is going to use hexadecimal values and this one is likely to be pretty unique, we could always search the client for this exact AoB. Well, with that in mind, we can remember that error code. At first hand you'd think all is well until you actually debug and breakpoint this area. _com_raise_error(hr, 0) All we see here is the client creating the m_pDI IDirectInput interface with a 2048 (2GB) minimum RAM requirement of the application. Code: hr = DirectInput8Create(hModule, 2048, &_IID_IDirectInput8A, &this->m_pDI, NULL)