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.
 
 
 
 
 
 

343 lines
7.6 KiB

/*
* WORK.C
*
* RSM Service : Code to service a work item
*
* Author: ErvinP
*
* (c) 2001 Microsoft Corporation
*
*/
#include <windows.h>
#include <stdlib.h>
#include <wtypes.h>
#include <ntmsapi.h>
#include "internal.h"
#include "resource.h"
#include "debug.h"
/*
* ServiceOneWorkItem
*
* Service a single work item.
*
* Return TRUE iff the workItem is complete.
*/
BOOL ServiceOneWorkItem(LIBRARY *lib, WORKITEM *workItem)
{
BOOL workItemCompleted = FALSE;
switch (workItem->currentOp.opcode){
case NTMS_LM_REMOVE:
workItemCompleted = ServiceRemove(lib, workItem);
break;
// case NTMS_LM_DISABLECHANGER: has same value as NTMS_LM_DISABLELIBRARY
case NTMS_LM_DISABLELIBRARY:
DBGERR(("NTMS_LM_DISABLELIBRARY not yet implemented"));
#if 0
if (xxx){
workItemCompleted = ServiceDisableLibrary(lib, workItem);
}
else {
workItemCompleted = ServiceDisableChanger(lib, workItem);
}
#endif
break;
// case NTMS_LM_ENABLECHANGER: has same value as NTMS_LM_ENABLELIBRARY
case NTMS_LM_ENABLELIBRARY:
DBGERR(("NTMS_LM_ENABLELIBRARY not yet implemented"));
#if 0
if (xxx){
workItemCompleted = ServiceEnableLibrary(lib, workItem);
}
else {
workItemCompleted = ServiceEnableChanger(lib, workItem);
}
#endif
break;
case NTMS_LM_DISABLEDRIVE:
workItemCompleted = ServiceDisableDrive(lib, workItem);
break;
case NTMS_LM_ENABLEDRIVE:
workItemCompleted = ServiceEnableDrive(lib, workItem);
break;
case NTMS_LM_DISABLEMEDIA:
workItemCompleted = ServiceDisableMedia(lib, workItem);
break;
case NTMS_LM_ENABLEMEDIA:
workItemCompleted = ServiceEnableMedia(lib, workItem);
break;
case NTMS_LM_UPDATEOMID:
workItemCompleted = ServiceUpdateOmid(lib, workItem);
break;
case NTMS_LM_INVENTORY:
workItemCompleted = ServiceInventory(lib, workItem);
break;
case NTMS_LM_DOORACCESS:
workItemCompleted = ServiceDoorAccess(lib, workItem);
break;
case NTMS_LM_EJECT:
workItemCompleted = ServiceEject(lib, workItem);
break;
case NTMS_LM_EJECTCLEANER:
workItemCompleted = ServiceEjectCleaner(lib, workItem);
break;
case NTMS_LM_INJECT:
workItemCompleted = ServiceInject(lib, workItem);
break;
case NTMS_LM_INJECTCLEANER:
workItemCompleted = ServiceInjectCleaner(lib, workItem);
break;
case NTMS_LM_PROCESSOMID:
workItemCompleted = ServiceProcessOmid(lib, workItem);
break;
case NTMS_LM_CLEANDRIVE:
workItemCompleted = ServiceCleanDrive(lib, workItem);
break;
case NTMS_LM_DISMOUNT:
workItemCompleted = ServiceDismount(lib, workItem);
break;
case NTMS_LM_MOUNT:
workItemCompleted = ServiceMount(lib, workItem);
break;
case NTMS_LM_WRITESCRATCH:
workItemCompleted = ServiceWriteScratch(lib, workItem);
break;
case NTMS_LM_CLASSIFY:
workItemCompleted = ServiceClassify(lib, workItem);
break;
case NTMS_LM_RESERVECLEANER:
workItemCompleted = ServiceReserveCleaner(lib, workItem);
break;
default:
DBGERR(("ServiceOneWorkItem: illegal opcode %xh.", workItem->currentOp.opcode));
break;
}
return workItemCompleted;
}
BOOL ServiceRemove(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceDisableChanger(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceDisableLibrary(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceEnableChanger(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceEnableLibrary(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceDisableDrive(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceEnableDrive(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceDisableMedia(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceEnableMedia(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceUpdateOmid(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceInventory(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceDoorAccess(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceEject(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceEjectCleaner(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceInject(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceInjectCleaner(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceProcessOmid(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceCleanDrive(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceDismount(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceMount(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceWriteScratch(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceClassify(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceReserveCleaner(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}
BOOL ServiceReleaseCleaner(LIBRARY *lib, WORKITEM *workItem)
{
BOOL complete = FALSE;
// BUGBUG FINISH
return complete;
}