Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.9 KiB

4 years ago
  1. ========================================================
  2. | |
  3. | CONVERSION AND PORTABILITY ITEMS IN NT MULTI-MEDIA |
  4. | |
  5. ========================================================
  6. 1. SHORT MIDI MESSAGES (RCBS)
  7. Short midi messages are passed around the system as DWORDs.
  8. The documentations says that the first byte is the 'low order
  9. byte' (see midiOutShortMsg). However, testcases (eg sbtest.exe)
  10. and presumably applications often just use a union of a dword
  11. and byte[4] to convert (NOT the same).
  12. 2. WINDOW words
  13. The apis now take LONG parameters but actually only store WORDs.
  14. This can be fixed by using things like SetWindowLong but there
  15. is still the problem of the offsets they are using. One suggestion
  16. is just to double the size of everthing and every offset but
  17. the conversion effort is still there.
  18. 3. (SD) MCI Device IDs
  19. Unfortunately these are 16 bits values in Win 3.0+, and the size
  20. is difficult to change as it is used in disk files. Hence is a
  21. permanent fixed value. It could be "thunked" when read/written.
  22. More work needs to be done to decide whether to use a 32 bit
  23. device id for MCI devices in Win 32, or to stick with 16 bit.
  24. The device type MCIDEVICEID has been added to WINMM.H.
  25. 4. (SD) Global sound playing windows
  26. Windows MM extensions (MMSYSTEM) uses a single GLOBAL window
  27. handle (hwndNotify) to play all asynchronous sound (MCI and
  28. sndPlaySound). To do this a piece of global memory is used
  29. that defines which sound is playing. NO attempt is made in
  30. Windows (WIN16) to synchronise playing sounds.
  31. Much of the WIN16 high level sound code references the global
  32. window handle.