ãããã¯The Old New Thingã®ç¡æç« ããã®æç²ã§ãã 圌ãã¯äœãæããããšããŸããã ãããã¯ãæ°ããããŒãžã§ã³ã®Windowsãšå€ãã¢ããªã±ãŒã·ã§ã³ãšã®äºææ§ã«ã€ããŠã®æŠéæ©ã®æ¥åžžç掻ããã®çã楜ãããšããœãŒãã§ãã
Windowsã®ããŒãžã§ã³çªå·ãå€æŽãã
Windowsãããã°ã©ã ã«éç¥ããããŒãžã§ã³çªå·ãå€æŽããã®ã¯ãèŠãç®ã»ã©ç°¡åã§ã¯ãããŸããã ããšãã°ãäžéšã®ããã°ã©ã ã¯æ¬¡ã®ããã«ããŒãžã§ã³çªå·ã確èªããŸãã
UINT Ver = GetVersionïŒïŒ;
UINT MajorVersion = LOBYTEïŒuVerïŒ;
UINT MinorVersion = HIBYTEïŒuVerïŒ;
ifïŒMajorVersion <3 || MinorVersion <10ïŒ{
ãšã©ãŒïŒããã®ããã°ã©ã ã«ã¯Windows 3.1ãå¿
èŠã§ããïŒ;
}
ããŒãžã§ã³çªå·ã4.0ã®Windows 95ã§ãã®ã³ãŒããã©ã®ããã«æ©èœããããæ³åããŠãã ããã 2çªç®ã®ãã§ãã¯ã¯ã0ã10ããå°ããããã«ããªã¬ãŒãããŸãã
ãããŠãããã°ã©ã ã¯åã«ãšã©ãŒã¡ãã»ãŒãžã衚瀺ããŠçµäºããŸãã å€ãã厩å£ããŸãããããµããŒããããŠããªããããŒãžã§ã³ã®Windowsã§ã®åäœããã¹ããããªãã£ãããšã¯æããã§ããã
ãã®ãããªããã°ã©ã ãéåžžã«å€ãã£ããããäžåºŠã«1ã€ãã€ä¿®æ£ããã®ããããè¿ãããããŒãžã§ã³çªå·ã4.0ãã3.95ã«å€æŽããŸããã
MS-DOSçšã®ããã°ã©ã ããOSããŒãžã§ã³ã®å€æŽã«ãã¹ãŠã¹ã ãŒãºã«åå¿ããŸããã§ããã MS-DOSã«ã¯ãã§ã«å€æ°ã®ãªãªãŒã¹ããŒãžã§ã³ãšãµãããŒãžã§ã³ããããéçºè
ãããŒãžã§ã³çªå·ã確èªããæ¹æ³ãåŠã¶æãæ¥ãã®ã§ãããã¯é©ãã¹ãããšã§ãã ããããããšãã°ããããœãããŠã§ã¢ããã±ãŒãžã§ã¯ãDOSããŒãžã§ã³çªå·ãé¢æ°ããŒãã«ã®ã€ã³ããã¯ã¹ãšããŠäœ¿çšããŠããŸããããªãªãŒã¹ãããåããŒãžã§ã³ã®ç¬èªã®é¢æ°ã§ãã ããŒãã«ã«ã¯ãMS-DOS 1.xãã5.xãŸã§ã®5ã€ã®æ©èœããããŸããã ããã°ã©ã ãMS-DOS 6.0ã§èµ·åãããšãããŒãã«å€ã®ã¢ãã¬ã¹ãåŒã³åºããŠã¯ã©ãã·ã¥ããŸããã
Windowsãããã°ã©ã ã«éç¥ããããŒãžã§ã³çªå·ãå€æŽããããšã¯ãå¿
èŠã§ããéåžžã«é£ããæé ã§ãã ããã€ãã®ããŒãæŒãããä»ãŸã§ããŸãæ©èœããŠããäœçŸãã®ã¢ããªã±ãŒã·ã§ã³ãèœã¡ãŸãã ããã§ãäºææ§éšéã¯ä»ã®äººã®ãã°ããã£ããããããã«ããã«1,000æéãè²»ããå¿
èŠããããŸãã
éçºè
ã«ããã°ã©ã ã®ãã°ã«ã€ããŠéç¥ããŸã
å
·äœçã«ã¯ããã®äŒè©±ã¯æ¶ç©ºã®ãã®ã§ãããæ¬è³ªçã«åæ§ã®äŒè©±ãè€æ°åçºçããŠããŸãã
ãããã«ã¡ã¯ïŒã
âããã«ã¡ã¯ãããã¯Microsoft Windowsäºææ§éšéããã®ãã®ã§ãã ããã°ã©ã ã§ãã°ãèŠã€ãããŸããããæ©èœããŠããŸããã ããã°ã©ã ãåŒãç¶ãæ©èœããããã«ãWindows 95ã§ãã®ãã°ããã€ãã¹ããã³ãŒããè¿œå ããå¿
èŠããããŸããã
-é©ãããšã«ãã©ããããããšãïŒ ãŸãã ïŒ
çãããŒãé³ã ïŒ
ïŒå床çªå·ããã€ã€ã«ããŸããïŒ
ãããã«ã¡ã¯ïŒã
ãããã«ã¡ã¯ããã®...ãã°ãäœãªã®ãç¥ããããªãã§ããïŒã
ãéãã¯äœã§ããïŒã ãã¹ãŠãä¿®æ£ããŸããã ãããããé¡ãããŸãïŒ ããªããªãã§ã¯äœãããã§ãããïŒ
ããã ãããã€ãã¹ã³ãŒãã¯ãçŸåšã®ããŒãžã§ã³ã®ããã°ã©ã ã§ã®ã¿æ©èœããŸããã 次ã®ããŒãžã§ã³ããªãªãŒã¹ãããšãæ©èœããªããªããŸãã
ãããã¯ã©ãã§ããïŒ..ãŸããåŸ
ã£ãŠãç§ãã¡ãããã°ã©ããŒãšã€ãªããŸããã
éçºè
ã¯ãããã°ã©ã ãæ©èœããªããªããšèšåãããŸã§ããŸã£ãã泚æãæããŸããã
MS-DOSã®ããã°ã©ã ïŒäž»ã«ãããã¯ã²ãŒã ïŒãšã®äžäœäºææ§ã«åŸäºããŠãããšãã«ãããã°ã©ã ãWindows 95ã§åäœããªãããšãéçºè
ã«éç¥ããããã«é»è©±ããããããšããããããŸããã Windowsãã
æ瀺ã«åŸã£ãŠå³å¯ã«è¡åããããšããŠãŒã¶ãŒã«æãåºãããŸã
éçºè
ã®1人ã®é£äººããèµ·åçŽåŸã«ã¯ã©ãã·ã¥ããããã°ã©ã ã賌å
¥ããŸããã éçºè
ãšåœŒã®ååã¯ãæšæºã®æé ããå§ããŸãã-圌ãã¯ãã©ã€ããŒãå€ããŠãå¥ã®ã³ã³ãã¥ãŒã¿ãŒã§å§ããŸãã-ããããäœãå©ããŸããã§ããã èªåã§åé¡ã«å¯ŸåŠããããã«å¿
æ»ã§ã圌ãã¯éçºè
ã«é»è©±ããŸããã
æè¡ãµããŒãã¯ãããã«èª¬æããŸããïŒã€ã³ã¹ããŒã«ã®éã«3ã€ã®ãã£ãŒã«ããã¹ãŠ-ååãçµç¹ããã³ã·ãªã¢ã«çªå·-ãèšå
¥ããªãå Žåã€ã³ã¹ããŒã«ã¯æåããŸãããããã°ã©ã ã¯èµ·åæã«ã¯ã©ãã·ã¥ããŸãã ãããŠãããã¯æŽç·Žãããã³ããŒä¿è·ã§ã¯ãªããææžåããããã°ã§ãã
ã«ãŒãã銬ã®åã«çœ®ããŸã
ãã®ãããªæããããã°ãããã°ã©ã ã§èŠã€ããããšããããããããã©ã®ããã«æ©èœãããããæ確ã§ã¯ãªãããšããããŸãã
人æ°ã®ããããã°ã©ã ã®ã€ã³ã¹ããŒã©ãŒã¯ãã·ã¹ãã ãã¡ã€ã«ãç¬èªã®ããŒãžã§ã³ã«çœ®ãæããããšããŠããŸãã ãã®ãã€ãã£ãããŒãžã§ã³ãã·ã¹ãã ã«æ¢ã«ã€ã³ã¹ããŒã«ãããŠãããã®ãããå€ãå Žåã§ãããã¡ã€ã«ã眮ãæããŸããã€ã³ã¹ããŒã©ãŒã¯ããŒãžã§ã³ãã§ãã¯ãæ°ã«ããŸããã
ãã°ãããããšã«ãWindowsãã¡ã€ã«ä¿è·ã·ã¹ãã ã¯ãã®ãããªããã°ã©ã ã泚ææ·±ãç£èŠããŠãããã€ã³ã¹ããŒã«ãå®äºãããšããã«æ£ããããŒãžã§ã³ã埩å
ããŸãã ããã¯åé¡ã§ã¯ãããŸããã
ã€ã³ã¹ããŒã©ãŒã眮ãæããããšããŠããã·ã¹ãã ãã¡ã€ã«ãããžãŒã®å Žåãã€ã³ã¹ããŒã©ãŒã¯ããã
MOVEFILE_DELAY_UNTIL_REBOOT
ãªãã·ã§ã³ã§äžæžãããã·ã¹ãã ã®åèµ·åæã«ããžãŒãã¡ã€ã«ã眮ãæããããããã«ããŸãã
//ããããããããããã«ã³ãŒããç°¡çŽ å
MoveFileExïŒ "sysfile.new"ã "sysfile.dll"ãMOVEFILE_DELAY_UNTIL_REBOOTïŒ;
CopyFileïŒ "DïŒ\\ CDROM \\ INSTALL \\ sysfile.dll"ã "sysfile.new"ïŒ;
ããã§ã-ããã°ã©ã ã¯ããŸã ååšããªããã¡ã€ã«ãã³ããŒããããšããŠããŸãïŒ
MOVEFILE_DELAY_UNTIL_REBOOT
ã§
MoveFileEx
é¢æ°ãåŒã³åºããã
MOVEFILE_DELAY_UNTIL_REBOOT
ãã³ããŒããããã¡ã€ã«ãååšãããã©ããããã§ãã¯ããªãã£ãããããã®ã³ãŒãã¯Windows NTã§å®éã«æ©èœããŸããã Windows 2000ã®ããŒã¿çã§ã¯ãããå³å¯ãªãã©ã¡ãŒã¿ãŒãã§ãã¯ãè¿œå ããŸããã
MoveFileEx
ããšã©ãŒãè¿ããŸããã ã€ã³ã¹ããŒã©ãŒã¯ãã®ãšã©ãŒãèŽåœçã§ãããšèŠãªããã€ã³ã¹ããŒã«ãçµäºããŸããã
MOVEFILE_DELAY_UNTIL_REBOOT
ãªãã·ã§ã³ã䜿çšããŠãWindows 2000ãååšããªããã¡ã€ã«ãã³ããŒã§ããããã«ãã
MOVEFILE_DELAY_UNTIL_REBOOT
ãŸããã
MoveFileEx
ã¯ãå®è¡ãæåããããšãå ±åããŸã-åèµ·åã®æç¹ã§ãã³ããŒããããã¡ã€ã«ãå®éã«è¡šç€ºãããããšãæåŸ
ããŠã
åŒã³åºãã®æåã確èªããæãå¥åŠãªæ¹æ³
ãããã«ãã¡ãã£ã¢ããã°ã©ã ã®éçºè
ãäœãèããŠããã®ã
MMRESULT
ãŸããããã«ãã¡ãã£ã¢é¢æ°ã®åŒã³åºãã®æåããã§ãã¯ããè¿ããã
MMRESULT
ãš
MMSYSERR_NOERROR
æ¯èŒããããšã©ãŒçªå·ã®ããã¹ã説æãåãåãããã®è¡ããæå®ãããã³ãã³ããæ£åžžã«å®äºããŸããã ã
å®éã圌女ã¯æåã®16æåã®ã¿ããæå®ãããcoããšæ¯èŒããŸããããããã誰ããã³ãŒããèŠãŠããã®å Žæãæé©åããããšã決ããã®ã§ãããã
Windowsã®ããããŒãžã§ã³ã§ã¯ããã®ã¡ãã»ãŒãžãå°ãèšãæãããšãããã°ã©ã ãåäœããªããªããŸããã èšããŸã§ããªããè±èªç以å€ã®Windowsã§ã¯æ©èœããŸããã§ããã
ã³ãŒã«ã®æåããã¹ãããæãå¥åŠãªæ¹æ³ãããèŠç¥ãã¬äºº
ã©ãæããŸããïŒ ããã«å¥åŠãªæ¹æ³ããããŸãã å°ãªããšãã以åã®ããã°ã©ã ã¯æ»ããšã©ãŒã³ãŒãã§åäœããŸããã MCIã䜿çšããŠãããªãåçããå¥ã®ããã°ã©ã ã¯ã
MCIWndOpen
ãåŒã³åºããŠè¿ãããå€ãå®å
šã«ç¡èŠã
MCIWndOpen
ã 代ããã«ãMCIãŠã£ã³ããŠã®ã¿ã€ãã«ãèªã¿åãããããã€ã¹ãªããè¡ãšæ¯èŒããŠããã¡ã€ã«ãæ£åžžã«éããããã©ãããå€æããŸããã
Windows 95ã§ã¯ããã¡ã€ã«ãéããšãã®MCIãŠã£ã³ããŠã®ã¿ã€ãã«ãå°ãé
ããŠèšå®ãããŠããŸããã ãã®ããã°ã©ã ã¯ãããªãéãããšãã§ããŸããã§ããã圌女ã¯ãŠã£ã³ããŠã¿ã€ãã«ãæ©ãã«ãã§ãã¯ããŸããã
é¢æ°ã1è¡ããééããæ¹æ³
åŸæ¥å¡ãç§ã®ãªãã£ã¹ã«æ¥ãŠããããããªãã¯ãµãŠã³ãã«ãŒãã欲ããã§ããïŒããšå°ããããç§ã¯èªåã®ãµãŠã³ãã«ãŒããæã£ãŠããªãã£ãã®ã§ãç§ã¯åæããŸããã
圌ã¯ãã®ã«ãŒããWindows 95ã§åäœãããããšãã§ããªãã£ãã®ã§ãç§ã«ãã®ã«ãŒããæž¡ããŠãããããšãå€æããŸãããä»ã¯ããã§ã¯ãããŸããããç§ã¯å£ãããµãŠã³ããšã³ãžã³ã§è² ããŸããã ããã«ç§ã¯åœŒããªã圌女ãè¿œãåºãããã£ãã®ããç解ããŸããã圌女ã¯å®æçã«ã·ã¹ãã å
šäœãç Žå£ããŸããã ã¯ã©ãã·ã¥ã®åå ãç¹å®ã§ããããã«ããããã°ããŒãžã§ã³ã®Windowsããã·ã³ã«ã€ã³ã¹ããŒã«ãããŸããã
ãã®ãµãŠã³ãã«ãŒãã®ãã©ã€ããŒã®éçºè
ã¯ã1è¡ããé¢æ°ãååŸããŸãããããã®ãµã³ãã«ã¯DDKã«èšèŒãããŠããããªããšãééããŸããã
DDKã®ãµã³ãã«é¢æ°ã¯æ¬¡ã®ãšããã§ãã
void FAR PASCAL midiCallbackïŒNPPORTALLOC pPortAllocãWORD msgã
DWORD dwParam1ãDWORD dwParm2ïŒ{
ifïŒpPostAlloc-> dwCallbackïŒ
DriverCallBackïŒpPortalloc-> dwCallbackãHIWORDïŒpPortalloc-> dwFlagsïŒã
pPortalloc-> hMidiãmsgãdwParam1ãdwParam2ïŒ;
}
ããŒããŠã§ã¢å²ã蟌ã¿äžã«ã·ã¹ãã ã«ãã£ãŠåŒã³åºãããŸãã
ããã¯ããã®ãã©ã€ããŒã§ãã®é¢æ°ãã©ã®ããã«èŠãããã§ãã
void FAR PASCAL midiCallbackïŒNPPORTALLOC pPortAllocãWORD msgã
DWORD dwParam1ãDWORD dwParm2ïŒ{
char szBuf [80];
ifïŒpPostAlloc-> dwCallbackïŒ{
wsprintfïŒszBufã "DcïŒhMidi =ïŒ
XãwMsg =ïŒ
XïŒ"ãpPortalloc-> hMidiãmsgïŒ;
#ifdef DEBUG
OutputDebugStringïŒszBufïŒ;
#endif
DriverCallBackïŒpPortalloc-> dwCallbackãHIWORDïŒpPortalloc-> dwFlagsïŒã
pPortalloc-> hMidiãmsgãdwParam1ãdwParam2ïŒ;
}
}
ãããã¯ããã©ã€ããŒã®æçµããŒãžã§ã³ã«ãããã°ã³ãŒãã®æ®ããæ®ãã ãã§ã¯ãããŸããã ããŒããŠã§ã¢å²ã蟌ã¿äžã«ãçŸæç¹ã§ã¯åŒã³åºããªãé¢æ°ãåŒã³åºããŸãã
wsprintf
ã¡ã¢ãªããã¢ã³ããŒãããããšãã·ã¹ãã ã¯ããŒããŠã§ã¢å²ã蟌ã¿äžã«æ°ãããæ¬ èœã»ã°ã¡ã³ããå²ã蟌ã¿ãåãåããŸãã 幞éã«ãã
wsprintf
ãã¡ã¢ãªå
ã«ããå Žåããã®é¢æ°ã¯32ãããã¬ãžã¹ã¿ã®äžäœã¯ãŒããå€æŽããããŒããŠã§ã¢å²ã蟌ã¿ãã³ãã©ãŒã¯äžäœã¯ãŒãã®ã¿ãä¿åããŸãã ããã¯ãå²ã蟌ã¿åŠçãå®äºãããšãäžæãããã³ãŒããéåžžã«å€±ç€Œãªç®èŠããåŸ
ã£ãŠããããšãæå³ããŸãã
ããããã¹ãŠã«ããããããããµãŠã³ãã«ãŒãã¯ããã人æ°ã®ã³ã³ãã¥ãŒã¿ãŒéèªã®è³ãåè³ããŸããã
ããããããã¯äžæ£ã®çµããã§ã¯ãããŸããã§ãããã«ãŒãã®è£œé å
ã¯ãWindows 95ã«æ°ããããŒãžã§ã³ã®ãã©ã€ããŒãå«ããããšãæãã§ããŸããã ãããŠãç§ãã¡ã¯æ°ããããŒãžã§ã³ã§äœãèŠãŸãããïŒ ã·ã¹ãã ãã¯ã©ãã·ã¥ãããã®ãšåããã°ã¯ãæ°ãæåã«ããã°ã©ãã«èŠãããã®ã§ãã ãæ³åã®ãšãããæ°ããããŒãžã§ã³ã®ãã©ã€ããŒã¯Windows 95ã«å«ãŸããŠããŸããã§ããã
ãµãŠã³ããšãã£ã¿ãŒãšè¿·æãªå¯çè«
æšæºã®ãµãŠã³ããšãã£ã¿ã«å¯çãã1ã€ã®ãã¥ãŒããªã¢ã«ã«åºãããããããæ·±ãããã¿ã€ããã®ã§ããããããã«ç 究ããã°ããã»ã©ãç§ãã¡ã¯æåããŸããã
æåã®åé¡ã¯ãããµãããã®ã§ãããããã°ã©ã ã¯ã16ãããããŒãžã§ã³
SOUNDREC.EXE
ååã§ãµãŠã³ããšãã£ã¿ã
SOUNDREC.EXE
ã Windows 95ã§ã¯ããµãŠã³ããšãã£ã¿ãŒã¯32ãããã§ã
SNDREC32.EXE
ãšåŒã°ããŠããŸãã-Windows NTãšåãã§ãã ãã¡ã€ã«ã®ååã16ãããã®ååã«æ»ããããã°ã©ã ãåäœããããã«ãªã£ããšèããŸããã
ãããã圌女ã¯åããŸããã§ããã ãšãã£ã¿ãŒã®èµ·åã«æåãããšãããã°ã©ã ã¯ã¿ã€ãã«ã§ãŠã£ã³ããŠãæ€çŽ¢ããŸãã 圌女ã¯æåã«è±èªã®èŠåºããèŠã€ããããšãã次ã«ã€ã¿ãªã¢èªãæ¢ããŸãïŒããã°ã©ã ã¯ã€ã¿ãªã¢äººåãã«éçºãããŸããïŒã ããã»ã©æªããªãïŒå€ãã®éçºè
ã¯ãWindowsã®ããŒã«ã©ã€ãºçã®ãµããŒãã«ã€ããŠãèããŠããŸããã§ããã 確ãã«ããã©ã³ã¹ã«äœãã§ããã€ã¿ãªã¢äººã¯ããã®ããã°ã©ã ãå©çšããããšã¯ã§ããŸããã ããããããã¯ç§ãã¡ã®é¢å¿äºã§ã¯ãããŸããã
Windows 95ã§ã¯ããµãŠã³ããšãã£ã¿ãŒã®ã¿ã€ãã«ãå€æŽãããŸãããéããŠãããã¡ã€ã«ã®ååãããã«è¿œå ããŸããã ããã§ãããã°ã©ã ã¯èµ·åãããšãã£ã¿ãŒãŠã£ã³ããŠãèŠã€ããããšãã§ããŸããã§ããã
次ã«ã16ããããµãŠã³ããšãã£ã¿ãŒã®ã¿ã€ãã«ããWindows 3.1ã§äœ¿çšãããŠããã¿ã€ãã«ãšæ£ç¢ºã«äžèŽããããã«å€æŽããŸããã æåŸã«ãããã°ã©ã ãéå§ãããŸããã 圌女ããã©ããŒãããšããã圌女ã¯å®è¡äžã®ãšãã£ã¿ãŒã䜿çšããããšããªãããšãããããŸããïŒ ãªã圌女ã¯ãããå®è¡ããã®ã§ããïŒ
ããæ¡ä»¶ã§ã¯ã圌女ã¯ãããæ¬åœã«äœ¿çšããããšãå€æããŸããã éåžžãéåæãµãŠã³ãã«ãŒããã©ã€ããŒããµããŒãããç¹å¥ãªã³ã³ããŒãã³ãïŒ
æããã«VBX ïŒã䜿çšããŠãµãŠã³ããåçããŸãããåæãã©ã€ããŒ
SPEAKER.DRV
ãµããŒãããŸãããããã«ãããã³ã³ãã¥ãŒã¿ãŒã¯ãµãŠã³ãã«ãŒããªãã§ã¹ããŒã«ãŒãããµãŠã³ããåçã§ããŸãã
éçºè
ã¯ããã®åæãã©ã€ããŒã§åäœãããã®ãæ¢ããŠããŸãã-ãããŠããµãŠã³ããšãã£ã¿ãŒãèŠã€ããŸããã 圌ã®ãŠã£ã³ããŠã®ããŒã¹ãããŒã¯ãæš¡å£ããããã«-ãã¬ã€ã€ãŒã³ã³ããŒãã³ãã®å®äŸ¡ãªä»£æ¿åãçšæãããŠããŸãã
ãã ããããã°ã©ã ã®èµ·åæã«æ³šæãæããšããµãŠã³ããšãã£ã¿ãŠã£ã³ããŠãã¡ãã€ããããã«æ¶ããŠãç»é¢ã®å·ŠåŽã«ã¹ããªããã ããæ®ãããšã«æ°ä»ãããšãã§ããŸãã ããã°ã©ããŒã¯ããšãã£ã¿ãŒãŠã£ã³ããŠã衚瀺ããããããŸããã§ããã ãããã圌ãã¯ãŠã£ã³ããŠãèŠããªãããæ¹æ³ãç¥ããªãã£ãã®ã§ã圌ãã¯åã§ãã¹ãŠãããŸããïŒåœŒãã¯ãŠã£ã³ããŠãç»é¢ãããåŒããããŸãããã ãŸããã»ãšãã©è¶
ããŠããŸãã ããã°ã©ã ã§ãŠã£ã³ããŠã移åããæ¹æ³ããç¥ããªãã£ããããã¿ã€ãã«ããŒã§ãŠã£ã³ããŠããã©ãã°ããŠããããã«ãã¯ãªãã¯ãããŠã¹ã®åããæš¡å£ããŠããŸããã ããŠã¹ãç»é¢ã®å·Šã«ãã©ãã°ã§ããªããªã£ãçãã¹ããªããã®ã¿ãæ®ã£ãŠããå Žåãããã°ã©ãã¯ã¿ã¹ã¯ãå®äºãããšèããŸãããç»é¢ã®åŸãã®ãŠã£ã³ããŠãåé€ããŸããããããã誰ãæ°ä»ããªãã§ããããã
ç§ã®æåŸã®ç¿»èš³- ãæ°ã«å
¥ãã®ãéããã°ãåæã«èŠãããšããå§ãããŸã