50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
//=======================================================================
|
|
//
|
|
// Copyright (c) 2001 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// File: WrkThread.h
|
|
//
|
|
// Creator: PeterWi
|
|
//
|
|
// Purpose: Worker thread declarations.
|
|
//
|
|
//=======================================================================
|
|
#pragma once
|
|
|
|
#include "wuauengi.h"
|
|
|
|
typedef enum
|
|
{
|
|
enWrkThreadInstall,
|
|
enWrkThreadAutoInstall,
|
|
enWrkThreadTerminate
|
|
} enumWrkThreadDirective;
|
|
|
|
//start another thread in client to install
|
|
class CClientWrkThread
|
|
{
|
|
public:
|
|
CClientWrkThread()
|
|
: m_hEvtDirectiveStart(NULL),
|
|
m_hEvtDirectiveDone(NULL),
|
|
m_hWrkThread(NULL)
|
|
{
|
|
}
|
|
|
|
~CClientWrkThread();
|
|
HRESULT m_Init(void);
|
|
void m_Terminate(void);
|
|
static DWORD WINAPI m_WorkerThread(void * lpParameter);
|
|
static void PingStatus(PUID puid, PingStatusCode enStatusCode, HRESULT hrErr = 0);
|
|
void m_DoDirective(enumWrkThreadDirective enDirective);
|
|
void WaitUntilDone();
|
|
|
|
private:
|
|
HRESULT m_WaitForDirective(void);
|
|
HANDLE m_hEvtDirectiveStart;
|
|
HANDLE m_hEvtDirectiveDone;
|
|
HANDLE m_hWrkThread;
|
|
static HANDLE m_hEvtInstallDone;
|
|
enumWrkThreadDirective m_enDirective;
|
|
};
|