You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.9 KiB
100 lines
3.9 KiB
/*==========================================================================
|
|
*
|
|
* Copyright (C) 1999-2002 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: worker.h
|
|
* Content: DIRECT NET WORKER THREAD HEADER FILE
|
|
*@@BEGIN_MSINTERNAL
|
|
* History:
|
|
* Date By Reason
|
|
* ==== == ======
|
|
* 11/09/99 mjn Created
|
|
* 12/23/99 mjn Hand all NameTable update sends from Host to worker thread
|
|
* 12/23/99 mjn Added SendHostMigration functionality
|
|
* 01/09/00 mjn Send Connect Info rather than just NameTable at connect
|
|
* 01/10/00 mjn Added support to update application descriptions
|
|
* 01/15/00 mjn Replaced DN_COUNT_BUFFER with CRefCountBuffer
|
|
* 01/16/00 mjn Removed user notification jobs
|
|
* 01/23/00 mjn Implemented TerminateSession
|
|
* 01/24/00 mjn Added support for NameTable operation list cleanup
|
|
* 04/04/00 mjn Added support for TerminateSession
|
|
* 04/13/00 mjn Added dwFlags for internal sends
|
|
* 04/17/00 mjn Replaced BUFFERDESC with DPN_BUFFER_DESC
|
|
* 04/19/00 mjn Added support to send NameTable operations directly
|
|
* 06/21/00 mjn Added support to install the NameTable (from Host)
|
|
* 07/06/00 mjn Use SP handle instead of interface
|
|
* 07/30/00 mjn Added DN_WORKER_JOB_TERMINATE_SESSION
|
|
* 08/02/00 mjn Added DN_WORKER_JOB_ALTERNATE_SEND
|
|
* 08/08/00 mjn Added DNWTPerformListen()
|
|
*@@END_MSINTERNAL
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef __WORKER_H__
|
|
#define __WORKER_H__
|
|
|
|
//**********************************************************************
|
|
// Constant definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Macro definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Structure definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Variable definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Function prototypes
|
|
//**********************************************************************
|
|
|
|
void DNQueueWorkerJob(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
|
|
|
|
//
|
|
// DirectNet - Worker Thread Routines
|
|
//
|
|
|
|
void WINAPI DNGenericWorkerCallback(void *const pvContext,
|
|
void *const pvTimerData,
|
|
const UINT uiTimerUnique);
|
|
|
|
|
|
HRESULT DNWTSendInternal(DIRECTNETOBJECT *const pdnObject,
|
|
CAsyncOp *const pAsyncOp);
|
|
|
|
HRESULT DNWTProcessSend(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
|
|
HRESULT DNWTTerminateSession(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
|
|
HRESULT DNWTSendNameTableVersion(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
|
|
#if ((! defined(DPNBUILD_LIBINTERFACE)) || (! defined(DPNBUILD_ONLYONESP)))
|
|
HRESULT DNWTRemoveServiceProvider(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
#endif // ! DPNBUILD_LIBINTERFACE or ! DPNBUILD_ONLYONESP
|
|
|
|
void DNWTSendNameTableOperation(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
void DNWTSendNameTableOperationClient(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
void DNWTInstallNameTable(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
|
|
void DNWTPerformListen(DIRECTNETOBJECT *const pdnObject,
|
|
CWorkerJob *const pWorkerJob);
|
|
|
|
//**********************************************************************
|
|
// Class prototypes
|
|
//**********************************************************************
|
|
|
|
#endif // __WORKER_H__
|