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

    KAB-studio.h


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

    MF 2004/10/11(Mon) No.277
    zMF 2036
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

EقƂ́[x݁cc
@߂ȂAOl̃zbgn[u͂x݂łccT͕KB


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

2004/10/03 (Sun)
@炾MachicianĂSQB̂тBقƂ́[O`Q͖łB
MachicianSR}Ƃɍւ\BΎRAGiDB
܂dccBĊዾƋƃerB

2004/10/04 (Mon)
@X̐VΖnBvZñ`FbNBdɂ͂ꂽB
ǂ邩BlŐHׂBJȂłBقƂ́[O`ȒO҂
ȁB

2004/10/05 (Tue)
@oOӂׂBƖ͂킩Ȃǂ킩ĂBA
ƔꂪoĂccBĂBlŐHׂ鎞Ԃ厖B
KޓKH

2004/10/06 (Wed)
@oO݂ׂBXgAhvV[WTBgccBȂ
ꂽBVԑgFXBēǂ݂ƂB

2004/10/07 (Thu)
@JCOM ܂Ȃł܎dłȂB炩܂
ĂȂBVԑg͂̂ƈ̂ƂccBĎdlƂB
ԂK̉́BălR~~̃Á͉H

2004/10/08 (Fri)
@oOTBvZȂ̂ƃ\[gƒ[̂ƁB͂Ȃ
KN̂B炭TgB_Iɂ͑vǔꂽB
xoB

2004/10/09 (Sat)
@XxoBoOSׂBUɏオdԂ͎~܂
^NV[ŁB܂񂪃^C𔃂Ă[ƁBVΖnAPTԂ
zB

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

@\́@t@C_EgЁ@|S|

ucć[v
@̓̒B
@Ƃ̌ւJŃAǂǂ鋱qƏrY̊ԂłƂ݂
̌܂qɔɌ˘fB
uIH@荞ݒȂ́Iv
u炱͊ȂČĂłIIv
uĐĂȂĂłȂłIIv
u򂭂炢IIv
uʖڂʖڂΑʖځII@͂񂽂̂΂́Â΂
̂΂̍炸ƂƎĂȂ񂾂A
ɗȂˁIv
uꂳ񂪂ĉɂȂȂłIIv
uȂƂȂ́Aďp̂ЂƂӂg邵AE
v
uAӖv
@ق̏uӁv܂񂾌tɁAƔ͔BbȌ󋵂
SɃLZAӂ͏Nɒӂ\B
uANccv
u͂悤܂B̓Vl̑ƂāÂ}
Q܂v
u}Hv
@mɁAt@C_EgЂƂ̂ǂɂ邩mȂ́A}
Ȃ΍s悤ȂB
uANɐuĂ̂킩ȂǁAƂRlǉĂHv
uIIv
uvłB͂Ƃ͋Cɂ܂v
@ƁAN͕؂Ƃ̂悤Ɍ؂B
uႠARO҂āA邩v
uʖڂāAẮIHv
uΌNA`oȂ񂾂ˁBL܂ŎĂHv
umȒl͂킩܂񂪁ȂȎ̗͑ł̓gbNグ
܂v
uȂ炨ꂳЂƂ炢vˁv
uccցHv
@݂݂̊͂߂ĂB
                                                              ()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]

@ޏ́AԂ߂āAB
uƁccƁAtĂ݂ȂHv


Pb 󂩂牤q~Ă 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.10
^C}[gI

uIuWFNgR߂̓^C}[łv

^C}[ i Waitable timer j

u^C}[dĝ݂͓̂܂v
wogƂȊHx
uƁB悤ɑ邱ƂɎƁv

E莞Ԗɑo

û^C}[ȁv
wHx
uI`AaAb鎞ɁA܂`āÂPɂaāA
̂ɂPɂbv
wnf݂ȊHx
uȊB܂͂ʂAvOĂ炨v

namespace B1
{

HANDLE g_hTimer = NULL;
const char *const TIMER_NAME= "ProcessesTimer";

// ^C}[쐬܂B
void Create()
{
    g_hTimer = CreateWaitableTimer( NULL, FALSE, TIMER_NAME );
    TRACE( "%x\n", g_hTimer );
}

// ^C}[擾܂B
void Open()
{
    g_hTimer = OpenWaitableTimer( TIMER_ALL_ACCESS, FALSE, TIMER_NAME );
    TRACE( "%x\n", g_hTimer );
}

// ^C}[Zbg܂B
void Set()
{
    // ^C}[Jn܂ł̂POOimbB
    const int DUE_NSEC = -5 * 1000 * 1000 * 10;
    LARGE_INTEGER largeInteger;
    largeInteger.QuadPart = DUE_NSEC;
    // ^C}[̊Ԋũ~bB
    const int INTERVAL_MSEC = 15000;
    BOOL b 
        = SetWaitableTimer
            ( g_hTimer
            , &largeInteger
            , INTERVAL_MSEC
            , NULL
            , NULL
            , FALSE
            );
    TRACE( "%d\n", b );
}

// ^C}[Ďđҋ@Ԃɓ܂B
void Wait()
{
    TRACE( "ҋ@JnB\n" );
    DWORD dwResult = WaitForSingleObject( g_hTimer, 120000 );

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

// ^C}[LZ܂B
void Cancel()
{
    LONG lCount = 0;
    BOOL b = CancelWaitableTimer( g_hTimer );
    TRACE( "%d\n", b );
}

// ^C}[폜܂B
void Close()
{
    CloseHandle( g_hTimer );
}

}

uOƊ֐̐ƖOႤ璍ӂāv
w Set() ǉācc Release()  Cancel() ɂȂĂHx
ułB̂̓^C}[̓IuWFNgƈႤ_ȁB
ႠAЂƂĂv

HANDLE g_hTimer = NULL;
const char *const TIMER_NAME= "ProcessesTimer";

w͂ƓAnhƖOˁx
u̕ӂ͂ǂ̓IuWFNgBv

// ^C}[쐬܂B
void Create()
{
    g_hTimer = CreateWaitableTimer( NULL, FALSE, TIMER_NAME );
    TRACE( "%x\n", g_hTimer );
}

u̓^C}[֐BƓv
wAx

// ^C}[擾܂B
void Open()
{
    g_hTimer = OpenWaitableTimer( TIMER_ALL_ACCESS, FALSE, TIMER_NAME );
    TRACE( "%x\n", g_hTimer );
}

uAXĂ^C}[擾܂v
w TIMER_NAME ƓÕ^C}[擾񂾂ˁx
uƁBł͎A͂Ƃ₱łv
wǉꂽ֐ˁx

// ^C}[Zbg܂B
void Set()
{
    // ^C}[Jn܂ł̂POOimbB
    const int DUE_NSEC = -5 * 1000 * 1000 * 10;
    LARGE_INTEGER largeInteger;
    largeInteger.QuadPart = DUE_NSEC;
    // ^C}[̊Ԋũ~bB
    const int INTERVAL_MSEC = 15000;
    BOOL b 
        = SetWaitableTimer
            ( g_hTimer
            , &largeInteger
            , INTERVAL_MSEC
            , NULL
            , NULL
            , FALSE
            );
    TRACE( "%d\n", b );
}

ů֐́A^C}[ۂɃZbg܂v
wԃZbgăIɂA݂ȁHx
uƁB OpenWaitableTimer() ͍邾A 
SetWaitableTimer() ŃZbgȂႢȂłv
włĂ悭킩Ȃccx
ug͂ӂB܂ЂƂ߂́A^C}[ԍŏɃIɂȂ܂
̎ԁv

    // ^C}[Jn܂ł̂POOimbB
    const int DUE_NSEC = -5 * 1000 * 1000 * 10;

wimbccHx
uPb̂POOÔP~bA~b̂POOÔP}CNbA
}CNb̂POOÔPimbBA̒Pʂ͂POOimb
A}CNb̂PÔPPOOimbv
wȐccx
ułimĐ͂܂CɂȂĂB̗ł 5 
TbĂƁv
wH@}CiXtĂ邯ǁx
u͂̑Qɂ͂ӂ̎głv

E̐F1601/01/01 00:00:00 ̂̂׎
E̐FĂяouԂ̂̂וb

u܂A̎Ԃg΁qQOOSNPPOOObrƂ
ӂɂƂԂ^C}[Jnłłv
w̓^C}[ĂA[ˁx
uǂ̏ꍇłA LARGE_INTEGER Ă\̂ɓēn܂v

    LARGE_INTEGER largeInteger;
    largeInteger.QuadPart = DUE_NSEC;

u̍\̂ 64 rbgTCY̐l܂v
w 64 rbgĂƁcc int  32 rbg炻̔{ˁx
u int ̍őlA 2  32 傫ĂƂv
w킷Ix
uPOOimbA̐̎ɂ͑傫ȐɂȂ邩ˁccŁÂ
X^[g܂ł̎ԁB̓^C}[̊Ԋuv

    // ^C}[̊Ԋũ~bB
    const int INTERVAL_MSEC = 15000;

u^C}[͈莞ԖɃIɂȂ邩ÅԊuv
w̓~bccPTbԊuˁx
uB̗ႾƂPTbԊuŃIɂȂ܂B̃^C}[́Å
Ŏ~߂܂v

// ^C}[LZ܂B
void Cancel()
{
    LONG lCount = 0;
    BOOL b = CancelWaitableTimer( g_hTimer );
    TRACE( "%d\n", b );
}

wŎ~߂܂Ŏ~܂ȂHx
uƁBƂ킯Ŏ͎ۂɎgĂ݂܂v

/*
    Preview Next Story!
*/
w^C}[āAlbgŒׂĂ܂Ȃˁx
uƎgĂ̂邯ǁcc
wǁHx
uԂ̗ŔAgȂƂȁv
wgȂ́Hx
uƂ킯Ŏv
 Version 14.11 ^C}[gĂ݂I 
wɂÂIx
uȂĂA͂肵ȂČccv
w܂͂肵x


////////////////////////////////////////////////////////////////////
/*                QOOSNPOPWij̍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
*/
////////////////////////////////////////////////////////////////////

