Source code of Windows XP (NT5)
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.

71 lines
2.0 KiB

  1. FAQ for being a good IIS citizen (or how to write win95 friendly
  2. apps). Forward suggestions to JohnsonA
  3. Q: What entry points are supported on win95?
  4. A: Check the file win95.exp. It lists entry points for nashville
  5. for kernel32.dll, advapi32.dll, netapi32.dll, mpr.dll, ole32.dll,
  6. and ntdll.dll
  7. Among the notable entry points that are not supported,
  8. DuplicateTokenEx
  9. InterlockedCompareExchange
  10. InterlockedExchangeAdd
  11. ReadDirectoryChangesW
  12. CompletionPorts
  13. wsprintfW
  14. all the rtl apis
  15. all the nt system apis like (NtLoadLibrary)
  16. all the net apis
  17. all the lsa apis
  18. all the MS specific winsock functions like TransmitFile,
  19. AcceptEx, etc
  20. Entry points that are supported for Memphis
  21. winsock2 apis
  22. DCOM apis
  23. Q: What happens if I use an entry point that win95 does not export?
  24. A: Win95 will return error 31 (General error) during startup.
  25. Q: Are there behaviour differences among the supported APIs?
  26. A: Yes, definitely. Here's a list:
  27. - CreateFile
  28. Win95 does not support async file I/O. So FILE_FLAG_OVERLAPPED
  29. is not supported. It also does not support opening directories,
  30. so FILE_FLAG_BACKUP_SEMANTICS will not work.
  31. Among the share mode flags, FILE_SHARE_DELETE is not supported.
  32. Also, no templates.
  33. - CreateThread
  34. Win95 does not allow you to pass NULL for the pdwId parameter
  35. - Registry APIs
  36. Win95 does not support the UNICODE version of registry APIs
  37. - The following returns ERROR_CALL_NOT_IMPLEMENTED on win95
  38. ImpersonateLoggedOnUser
  39. MoveFileEx
  40. Q: What do I do if I need to use a non-supported API?
  41. A: You will need to do a dynamic load on the dll and get the entry
  42. point address using GetProcAddress.
  43. There are also 2 special dlls in IIS lonsint.dll and
  44. lonsiw95.dll (lonsi is library of non-standard interfaces). lonsint.dll
  45. gets loaded when running on NT, and lonsiw95.dll gets loaded on win95
  46. systems.
  47. If you have specific problems, come talk to me (johnsona).