////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2004 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    MF 2004/11/22(Mon) No.283
    zMF 2035
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                QOOSNPPQQij̍XV              */
http://www.kab-studio.biz/index.html

EقƂ́[X̂PPǉI
@Ol̃zbgn[uɁuX̂PP mɗǂȂvǉI
[ Ol̃zbgn[u ]
http://www.kab-studio.biz/Comic/HotHerb/index.html


////////////////////////////////////////////////////////////////////
/*                        储ʂȓL                        */
http://www.kab-studio.biz/nikki2/index.html

2004/11/14 (Sun)
@܂ Intuos3 ̃}bgI[o[CV[g󂯎āAߌ͂
Ђ炵̂ȂɂBMachicianĈȏBăv|[Y
B

2004/11/15 (Mon)
@ӂ܂ŃR[fBOB傪ȎdlύXccBςŖ{
̃vWFNgɈڂ\BhbЂwbhneBO
H@Ƃ肠f\BĖ{Ɏ߂̂B

2004/11/16 (Tue)
@ߑO͂傱傱oOׂhLgB̂тȂ̂ɂPP
オBĂ܂オ܂B

2004/11/17 (Wed)
@ߑO͂܂ł̃vWFNgAߌォ{̃vWFNgccȂ
ǁAd̓e܂킩BdÂ炢ccB[
ɔh`Ђ̐lƂbB낻AE邩ccBĘJB

2004/11/18 (Thu)
@POKvWFNgƂPVKvWFNgBPVKvWFNgł
f[^x[XdlCBߌ͂POKvWFNg̃guɁB
-HIMEccBĂ̂낯Ȃ̂sȂ̂B

2004/11/19 (Fri)
@ӎPTxɂBȃoԂł肪vOCB
Ăx݂܂BwbhneBÔfccB

2004/11/20 (Sat)
@ߑO͐ƂAߌ̓ohtH[XGO[RViICɁB
̎Ă܂ccBĂnas܂łB


////////////////////////////////////////////////////////////////////
/*                         A                             */
http://www.kab-studio.biz/Novel/Fuga/index.html

@\́@t@C_EgЁ@|PO|

uႠA珇ɌĂ炢܂v
@Gx[^[̒ASl͒qqɂĒnւƍ~ĂB
u͊Sȋ@łv
u킩Ă܂v
@͕̂B
@Gx[^[~ʘH𔲂ƁA̓Iy[^[[
Bj^[AL[{[hAA֎q̃ZbgQOȏłB
@̕ǂ͑SʃKXɂȂĂāA낷Ƃ߂܂B
uccv
@Ƃ̂ẢɂԂL傷̂BLȋԂ
ቺɍLĂB
uNv
@Ԃ̏ɂ͐ԂR[uĂāÅԂ삯pB
܂ɂA̕\͂悭ȂAwiDȑOnŐ
肾ƔB
ucc͂Ȃӂɑ́Hv
û˂cc͈ꉞʂ̐lԂȂ񂾂AȂƂłȂ́v
@łAƁAӎ̂ɉE肪B
@邱Ƃ́AȒPB
u̓g[jOXy[X˂eXgp̎{݂łBނ̂悤
`o̔\͂𐔒lċL^̂ȖړIłv
úA܂`oƂ̂Wr̋ZpƂƂłHv
uW]n̂ȂZpȂĂ܂Bł́A֍s܂傤v
@qq̓Gx[^[ւƌB
@ccCtĂ͂Ǎ͂̐lƑ炵B
u͂POK̎ЈHv
@R[X̏ԂȂ񂩂߂ႭȋC邪Ałɏdvȃ|C
gB
@POKɍ~ƂڂɓA̘eɒuꂽe[uƃT
vB
uF͏hQXgł̂ŁAIDJ[hΐH͖łv
uIHv
ucc`FbNAEgƂɎxĂƁHv
uAłv
@qq͂҂ƌ؂B
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
w鐝̗͂ЂƂāAڂ̑O̔𐁂΂Ix
uIv
uIIv
̈ꕶĐƁAuAi{[͍XƐ񂾁B

Machician Rb DƃXL D]AڒI
[ Machician ]
http://d.hatena.ne.jp/kab_studio/20040823#1093276416
[ Machician{ݒ ŐVꗗ ]
http://d.hatena.ne.jp/kab_studio/searchdiary?word=*%5BMachician
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

@Version 14.16
Xbh҂Ă݂

uXbh̎gɂ͂p^[܂B͂̂ЂƂA
XbhI܂ő҂Ƃ̂Ă݂܂v
wXbhI܂ő҂cc񂶂AXbhgӖȂ悤
ȁccx
u͂Ȃ񂾂ǂˁAꂩ畡Gȏ邽߂̏Ă
Łv
wAGȂ̂񂾁ccx
uAʂɑ҂ȂȒPɂłv

// ʃXbhŌĂяo֐B
void __cdecl ThreadFunction( void *p_p )
{
    TRACE( "XbhłB\n" );
    TRACE( "10 b~܂܂B\n" );
    Sleep( 10 * 1000 );
    TRACE( "10 b~܂܂B\n" );
    TRACE( "XbhI܂B\n" );
}

// XbhČĂяođ҂֐B
void WaitThread()
{
    HANDLE hThread 
        = (HANDLE)_beginthread( ThreadFunction, 0, NULL );

    TRACE( "ҋ@JnB\n" );
    DWORD dwResult = WaitForSingleObject( hThread, 100 * 1000 );

    if( dwResult == WAIT_TIMEOUT )
    {
        TRACE( "^CAEgB\n" );
    }
    else
    {
        TRACE( "ҋ@IB\n" );
    }
}    

wI@WaitForSingleObject() Ix
uAIuWFNg҂ƂɎg API łBڂ 
Version 14.05 ( No.272 ) QƁv
wXbh悤ɑ҂ẮHx
uB܂A _beginthread() ̖߂ĺA~[ebNXZ}tH
ynhzȂłv
w΃~[ebNXƂnh擾ĂgĂˁx
ũnhAIuWFNgƓ悤ɃVOiς܂v

EXbhsFVOiIt
EXbhI@FVOiI

wȂقǁAXbh̃nh҂Ă΁AXbhI܂ő҂Ă
āAIҋ@IAĂ킯ˁx
uAȊɁv

ҋ@JnB
XbhłB
10 b~܂܂B
10 b~܂܂B
XbhI܂B
Xbh 0x798 IAIR[h 0 (0x0)B
ҋ@IB

u WaitForSingleObject() ͑̓IuWFNgƓ悤ɃXbh
҂܂BāAXbh͏IƃVOiIɂȂ܂v
wȂ񂩃zgɓIuWFNg݂ccA΁x

Xbh 0x1E0 IAIR[h 0 (0x0)B

wāHx
u̓XbhĨbZ[WB̓XbhÎ VC 
mďɏo͂Ă̂ACɂȂĂȁv
wށ[ACɂȂĂ[̂Aˁccx
uāA̕@͕ʂɂ͎g܂v
wȂ́Hx
uŏ̃XbhAグXbhȊ҂ĂA
VOXbhłv
wAꂶXbhグӖȂˁx
uAƂԂɂЂƂXbh݂܂v
wցHx

// ʃXbhŌĂяo֐B
void __cdecl ThreadFunction( void *p_p )
{
    TRACE( "XbhłB\n" );
    TRACE( "10 b~܂܂B\n" );
    Sleep( 10 * 1000 );
    TRACE( "10 b~܂܂B\n" );
    TRACE( "XbhI܂B\n" );
}

// XbhČĂяođ҂֐B
// Å֐ʃXbhƂČĂяo܂B
void __cdecl WaitThread( void *p_p )
{
    HANDLE hThread 
        = (HANDLE)_beginthread( ThreadFunction, 0, NULL );

    TRACE( "ҋ@JnB\n" );
    DWORD dwResult = WaitForSingleObject( hThread, 100 * 1000 );

    if( dwResult == WAIT_TIMEOUT )
    {
        TRACE( "^CAEgB\n" );
    }
    else
    {
        TRACE( "ҋ@IB\n" );
    }
}    

// WaitThread() ʃXbhƂČĂяo֐B
// ̊֐{^̃CxgnhƂŌĂłB
void CallThread()
{
    TRACE( "WaitThread() ĂяoB\n" );
    _beginthread( WaitThread, 0, NULL );
    TRACE( "WaitThread() ĂяoB\n" );
}

w֐݂ccx
uĂяoԂ͂v

CallThread() FCXbh
     
WaitThread() FTuXbhP
     
ThreadFunction() FTuXbhQ

wԂ WaitThread() ʃXbhŌĂԂ񂾁ccx
u_CAOAvŎĂ݂ƁA_CAORɓ
v
wAzgI@܂Ōł܂Ă̂Ɂx
u܂ł̗̂悤ɁACXbhŃXbhĂ҂
ƁACXbh~܂܂܂ɂȂႤłv
wꂪAЂƂXbh΁AvɂȂccx
upIȗōlĂ݂悤v

ETuXbhQ̏RsɍsB
ER̏TuXbhPŎcB

uƂlĂ݂܂v
w܂TuXbhQRITuXbhPłȂ񂩂
ccx
uꍇA WaitForMultipleObjects() Ă֐g܂v

// ThreadFunction() ͓B

// XbhČĂяođ҂֐B
// Å֐ʃXbhƂČĂяo܂B
void __cdecl WaitThread( void *p_p )
{
    // R̃nhB
    HANDLE hThreadAry[3];
    hThreadAry[0]
        = (HANDLE)_beginthread( ThreadFunction, 0, NULL );

    hThreadAry[1]
        = (HANDLE)_beginthread( ThreadFunction, 0, NULL );

    hThreadAry[2]
        = (HANDLE)_beginthread( ThreadFunction, 0, NULL );

    TRACE( "ҋ@JnB\n" );
    DWORD dwResult
        = WaitForMultipleObjects( 3, hThreadAry, TRUE, 100 * 1000 );

    if( dwResult == WAIT_TIMEOUT )
    {
        TRACE( "^CAEgB\n" );
    }
    else
    {
        TRACE( "ҋ@IB\n" );
    }
}    

// CallThread() ͓B

w ThreadFunction() RĂŁcczɓĂHx
uA HANDLE ̔zɓāA WaitForMultipleObjects() Ƃ
 API ɓn܂v
w WaitForSingleObject() ̕ŁAĂƁHx
uƁB WaitForMultipleObjects() ̑P̓nh̐A
܂Q̗vfBQ͊ĎΏۂ̃nh̔zv
w̃nhҋ@킯ˁx
uŔAS҂AЂƂ҂B TRUE ƁAׂĂ
nhVOiIɂȂ܂ő҂܂v
w FALSE ƁHx
u FALSE ƂЂƂłVOiIɂȂҋ@Iv
wց[x
uۂ̗͂v

WaitThread() ĂяoB
WaitThread() ĂяoB
ҋ@JnB
XbhłB
10 b~܂܂B
XbhłB
10 b~܂܂B
XbhłB
10 b~܂܂B
10 b~܂܂B
XbhI܂B
Xbh 0x7C8 IAIR[h 0 (0x0)B
10 b~܂܂B
XbhI܂B
Xbh 0x3A8 IAIR[h 0 (0x0)B
10 b~܂܂B
XbhI܂B
Xbh 0x37C IAIR[h 0 (0x0)B
ҋ@IB
Xbh 0x658 IAIR[h 0 (0x0)B

wzgATuXbhQRƂIĂTuXbhQҋ@
IĂx
ugłĂƂŁv

/*
    Preview Next Story!
*/
włȂ񂩂܂g킩Ȃx
uƂ킯Ŏ񂩂炳ɋ̓IȎgĂ܂v
w狳Ă炢ȁ[x
uXbhƂ͊댯Ab炱Ɓv
w[Hx
uƂ킯Ŏv
 Version 14.17 XbhŕϐL 
wɂÂIx
uA{ɃXbh͊댯Ȃ񂾂ˁccv
wẮccx


////////////////////////////////////////////////////////////////////
/*                QOOSNPPOOij̍XV                */
http://www.kab-studio.biz/index.html

EقƂ́[ɂPbǉ
@Ol̃zbgn[uɈbǉ\B


////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.biz/nikki2/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2004 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

