name dplayx
type win32
init DPLAYX_LibMain
rsrc version.res

import winmm.dll
import ole32.dll
import user32.dll
import advapi32.dll
import kernel32.dll
import ntdll.dll

debug_channels (dplay)

  1 stdcall DirectPlayCreate(ptr ptr ptr) DirectPlayCreate
  2 stdcall DirectPlayEnumerateA(ptr ptr) DirectPlayEnumerateA
  3 stdcall DirectPlayEnumerateW(ptr ptr) DirectPlayEnumerateW
  4 stdcall DirectPlayLobbyCreateA(ptr ptr ptr ptr long) DirectPlayLobbyCreateA
  5 stdcall DirectPlayLobbyCreateW(ptr ptr ptr ptr long) DirectPlayLobbyCreateW
  6 extern gdwDPlaySPRefCount gdwDPlaySPRefCount
  9 stdcall DirectPlayEnumerate(ptr ptr) DirectPlayEnumerateA
  10 stdcall DllCanUnloadNow() DPLAYX_DllCanUnloadNow
  11 stdcall DllGetClassObject(ptr ptr ptr) DPLAYX_DllGetClassObject
