Leaked source code of windows server 2003
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.
|
|
#pragma once
#include "intflist.h"
extern HINSTANCE g_hInstance; extern UINT g_nThreads;
VOID WINAPI WZCSvcMain( IN DWORD dwArgc, IN LPTSTR *lpszArgv);
DWORD WZCSvcWMINotification( IN BOOL bRegister);
DWORD WZCSvcUpdateStatus();
DWORD WZCSvcControlHandler( IN DWORD dwControl, IN DWORD dwEventType, IN PVOID pEventData, IN PVOID pContext);
VOID CALLBACK WZCSvcWMINotificationHandler( IN PWNODE_HEADER pWnodeHdr, IN UINT_PTR uiNotificationContext);
// all the device notifications are forwarded from the specific
// handler to the central handler below.
VOID WZCWrkDeviceNotifHandler( IN LPVOID pvData);
// WZCTimeoutCallback: timer callback routine. It should not lock any cs, but just spawn
// the timer handler routine after referencing the context (to avoid premature deletion)
VOID WINAPI WZCTimeoutCallback( IN PVOID pvData, IN BOOL fTimerOrWaitFired);
VOID WZCSvcTimeoutHandler( IN PVOID pvData);
VOID WZCWrkWzcSendNotif( IN LPVOID pvData);
VOID WZCSvcShutdown(IN DWORD dwErrorCode);
// Internal WZC service settings.
typedef struct _WZC_INTERNAL_CONTEXT { BOOL bValid; // indicates whether the context is valid (cs is initialized)
WZC_CONTEXT wzcContext; // global WZC settings (timers, flags, etc)
PINTF_CONTEXT pIntfTemplate; // global interface context template.
CRITICAL_SECTION csContext; } WZC_INTERNAL_CONTEXT, *PWZC_INTERNAL_CONTEXT;
// WZCContextInit, WZCContextDestroy
// Description: Initialise and Destroy a context
// Parameters:
// [in] pwzcICtxt, pointer to a valid internal context object
// Returns: Win32 error code
DWORD WZCContextInit( IN PWZC_INTERNAL_CONTEXT pwzcICtxt); DWORD WZCContextDestroy( IN PWZC_INTERNAL_CONTEXT pwzcICtxt);
// WzcContextQuery, WzcContextSet
// Description: Query and set the context
// Returns: win32 error code
DWORD WzcContextQuery( DWORD dwInFlags, PWZC_CONTEXT pContext, LPDWORD pdwOutFlags); DWORD WzcContextSet( DWORD dwInFlags, PWZC_CONTEXT pContext, LPDWORD pdwOutFlags);
extern WZC_INTERNAL_CONTEXT g_wzcInternalCtxt;
|