 p 㬥p -樨
Julius Goryavsky, 2:5030/16.32

Serge Ivanov wrote in a message to All:

SI>      bseord.h p㦨 쬠 p -樨:

SI> Win32SwitchProgramRegister   156
SI> Prf32QueryDefinition         111 -    pmshl.h,
SI> Prf32AddProgram              109  p   
SI> Prf32RemoveProgram           104 ⭮襭  ᮤp
SI> Prf32ChangeProgram           110 WPS`᪨ 䮫p.

    p   ...

SI> Dos32OpenChangeNotify  440 -   祭 宦 
SI> Dos32ResetChangeNotify 441   p 㯠 
SI> Dos32CloseChangeNotify 442   䠩 ?

     .  㭪樨 㢥   
pp㥬 ⠫.  㭪樨 ⨢ ᯮ
WPS. Hpp, ᫨ ᮧ ⠫ C:\DESKTOP\TEST  
desktop- ᪮p     test,  p
ᮤp c:\desktop   dosfindfirst/next  
.

SI>     -  p樥   맮 
SI> 祭.

 ᠭ 直 㬥p 㭪権:

----------------------------------------------------------

   APIRET APIENTRY DosTmrQueryTime (QWORD Time)

     _祭_ 筮 p⭮ ⠩p. 
䥪⨢ 筮   _p_ᥪ㭤. Time - 8 
ᮤp ⥪饥 p   ⥬ ⠩p. .
DosTmrQueryFreq.  ᯮ  㭪  ⠩p
p楤p ᯮ p  200-400 ⠪⮢ 
 쭮  p.

----------------------------------------------------------

   APIRET APIENTRY DosTmrQueryFreq (ULONG Freq)

   p  ⥬ ⠩p. Freq - 
⥬ ⠩p. p⥫쭮 1193182 .

----------------------------------------------------------

   APIRET APIENTRY DosReplaceModule (PSZ OldModule,
                                     PSZ NewModule,
                                     PSZ BackModule)

     p㦥 pp  
.  㭪 ᯮ service pack-  selective
install   p dll 묨. Hpp,  p
⠫樨  pp   dspres.dll.

   OldModule  -  䠩  塞 dll  exe.
   NewModule  -   䠩, p p 
                 p.    NULL.
   BackModule -  backup-䠩  p p-
                 p .   NULL.

    ᢮ p  㭪 ᯮ 㬥p-
 㭪 Dos32ICacheModule...

----------------------------------------------------------

   APIRET APIENTRY DosDumpProcess (ULONG Flag, ULONG Drive,
                                   ULONG pid)

    pp DUMPPROCESS  CONFIG.SYS.

   ᫨ Flag = 0  p頥  
pᮢ  , ᫨ Flag = 1  pp蠥. Drive
p p ᪠ (稭  )  p 
  pᮢ. ᫨ Flag = 2  pid
p p 騩 .

----------------------------------------------------------

   APIRET APIENTRY DosForceSystemDump (ULONG Reserved)

   p  ᥩ ⥬   
ᯥp  pp TRAPDUMP 䠩 CONFIG.SYS.

----------------------------------------------------------

   APIRET APIENTRY DosQueryABIOSSupport(ULONG reserved)

   p頥 p 䫠 pp騥 ⨯
⥬ 設  p ABIOS:

 0: ᫨ p 1  設 - Micro Channel Architecture.
 1: ᫨ p 1  設 - EISA.
 2: ᫨ p 1  ABIOS p.
 3: ᫨ p 1  ABIOS .

   ᫨ p頥 0h  ABIOS , ᫨   -  
Not Supported.

----------------------------------------------------------

   APIRET APIENTRY DosQueryModFromEIP (HMODULE * hmod,
                                       ULONG * obj,
                                       ULONG BufLen,
                                       PCHAR Buf,
                                       ULONG * Offset,
                                       ULONG Address)

   p ,  p᭮ pp⢮ p
 㪠 p. 室: Address  BufLen. ⠫쭮
-  室. Address - pp塞 p. BufLen - 
p    p p p, Buf -
ᠬ p. Obj - p ꥪ   p 
p, Offset - ᬥ饭  㫥. hmod - Handle 
p p p.

----------------------------------------------------------

   APIRET APIENTRY DosSuppressPopUps (ULONG Flag,
                                      ULONG Drive)

   ⠥  pp SUPPRESSPOPUPS  CONFIG.SYS.
Flag = 0 - Disable ᯫ騩 p  Help,Retry,End
Process  .. (HARDERR.EXE), Flag = 1 - Enable. Drive
ᮤp p ᪠  p  ᫨ ᠭ ᡮ
p Disabled Pop-Ups.

----------------------------------------------------------

   APIRET APIENTRY DosVerifyPIDTID (ULONG pid, ULONG tid)

   p   楯窠 tid  p pid.
᫨ p㫨 0h -  Ok,  楯窠  . 
 p  ⢮  楯窨 1,  맮
DosVerifyPIDTID(pid, 1) p   p.

----------------------------------------------------------

   HAPP APIENTRY WinHAPPFromPID (ULONG pid)

    HAPP  PID. ᫨ p㫠 0h  Error.

----------------------------------------------------------

   HSWITCH APIENTRY WinHSWITCHFromHAPP

    HSWITCH  HAPP. ᫨ p㫠 0h  Error.

   DosOpenChangeNotify
   DosCloseChangeNotify
   DosResetChangeNotify

    p...  p 䠪 -
  ᪥.   ᯮ짮  㭪権 WPS
p   祧 䠩
ꥪ⮢.  ᯮ짮  p  
ﭨ ⠫     Hp⮭  .... 
檮 ᠭ:

----------------------------------
 Area : OS2PROG
 Date : Apr 24 '95, 09:01
 From : Peter Fitzsimmons
 To   : Henrik Vendelbo
 Subj : DosNotify..
----------------------------------

HV> Does anybody know why the DosNotify.. functions are
HV> ommitted from the 32 bit API.

   (Fyi: they are DosFindNotify...(), not just
DosNotify...()).

   I can't even find these in my 1.x header files.

   I do know that they are still there -- IFSs must support
them, and the WorkPlace shell actively uses these services
in the IFSs I have written.

   Try prototyping them yourself and using them.

   [later] After perusing \ddk\h (A great place find
"undocumented" os/2 APIs), it appears that you may the
correct -- the DosFindNotify...() apis no long exist as
32bit apis (but you can still import the 16bit ones if if
like).

   They appear to have been replaced by something better
(which probably uses the FindNotify IFS services
underneath). You'll have to figure these out on your own
(please report back here);but they don't look too hard:

 #pragma pack(1)

 typedef struct _CNPATH {      /* CHANGENOTIFYPATH */
     ULONG   oNextEntryOffset;
     ULONG   wFlags;
     USHORT  cbName;
     CHAR    szName[1];
 } CNPATH;
 typedef CNPATH *PCNPATH;

 typedef struct _CNINFO {      /* CHANGENOTIFYINFO */
     ULONG   oNextEntryOffset;
     CHAR    bAction;
     USHORT  cbName;
     CHAR    szName[1];
 } CNINFO;
 typedef CNINFO *PCNINFO;

 #pragma pack()

 // Equates for ChangeNotifyInfo baction field

 #define             RCNF_FILE_ADDED        0x0001
 #define             RCNF_FILE_DELETED      0x0002
 #define             RCNF_DIR_ADDED         0x0003
 #define             RCNF_DIR_DELETED       0x0004
 #define             RCNF_MOVED_IN          0x0005
 #define             RCNF_MOVED_OUT         0x0006
 #define             RCNF_CHANGED           0x0007
 #define             RCNF_OLDNAME           0x0008
 #define             RCNF_NEWNAME           0x0009
 #define             RCNF_DEVICE_ATTACHED   0x000A
 #define             RCNF_DEVICE_DETACHED   0x000B

 APIRET  APIENTRY DosOpenChangeNotify(PCNPATH PathBuf,
                                      ULONG LogSize,
                                      PHDIR hdir,
                                      ULONG ulReserved);

 APIRET  APIENTRY DosResetChangeNotify(PCNINFO LogBuf,
                                       ULONG BufferSize,
                                       PULONG LogCount,
                                       HDIR hdir);

 APIRET  APIENTRY DosCloseChangeNotify(HDIR hdir);

 㢠, .
