REDIVIVUS

Proposals / #1558

Mac IDirectSoundBuffer_Restore: int32_t __cdecl (void* pBuffer) shim

checked · by KierTaylor · submitted 2026-11-08

This is the Mac DirectSound shim. The body ignores its arg and returns MOV EAX,0x80004005 (E_FAIL). The caller SOUNDSMP_CheckBufferLost 0x002e8a8b stores one arg, [ESP]=[ESI] (the buffer), and compares the HRESULT with 0x88780096 (DSERR_BUFFERLOST). This is the flattened form of IDirectSoundBuffer::Restore(this).

Changes 1, applied together

  1. Set prototype mac 0x000337da

    signatureundefined IDirectSoundBuffer_Restore(void)→int32_t IDirectSoundBuffer_Restore(void* pBuffer)
    conventionunknown→__cdecl