#include <windows.h>
#include <stdio.h>
#include "drvload.h"
void PrintUsage(char *exe)
{
printf ("%s [-name WinDriver] [-file WINDRVR] [create|start|stop|delete|install|remove]\n", exe);
printf ("\n");
printf ("example: To load a driver called MPEG Encoder, with file names MPEGENC.VXD and\n");
printf (" MPEGENC.SYS:\n");
printf (" WDREG -name \"MPEG Encoder\" -file MPEGENC create start\n");
printf (" is the same as:\n");
printf (" WDREG -name \"MPEG Encoder\" -file MPEGENC install\n");
printf ("\n");
printf ("example: To unload default driver (i.e. WinDriver), and remove it from registry:\n");
printf (" WDREG stop delete\n");
printf (" is the same as:\n");
printf (" WDREG remove\n");
}
int main (int argc, char *argv[])
{
char *sDriverName = NULL;
char *sDriverFile = NULL;
int i;
if (argc==1)
{
PrintUsage(argv[0]);
return 0;
}
for (i=1; i<argc; i++)
{
if (argv[i][0]=='-')
{
if (stricmp(argv[i],"-name")==0)
{
i ++;
if (i==argc)
{
printf ("option '-name' needs a following argument\n");
return 1;
}
sDriverName = argv[i];
}
else if (stricmp(argv[i],"-file")==0)
{
i ++;
if (i==argc)
{
printf ("option '-file' needs a following argument\n");
return 1;
}
sDriverFile = argv[i];
}
else
{
printf ("unknown option %s\n",argv[i]);
return 1;
}
}
else break;
}
if (!sDriverName && !sDriverFile)
{
sDriverName = "WinDriver";
sDriverFile = "WINDRVR";
}
else if (!sDriverName)
{
sDriverName = sDriverFile;
}
else if (!sDriverFile)
{
sDriverFile = sDriverName;
}
int rc = 0;
LoadDriver *loadDriver = NewLoadDriver ();
if (!loadDriver)
{
printf ("This program can run only on Win95/Win98/WinNT");
rc = 1;
goto Exit;
}
if (loadDriver->HasMsg())
printf ("%s", loadDriver->GetLastMsg());
if (loadDriver->HasErr())
{
rc = 1;
goto Exit;
}
loadDriver->Init(sDriverName, sDriverFile);
if (i==argc)
{
printf ("nothing to do!\n");
rc = 0;
goto Exit;
}
for (; i<argc; i++)
{
if (stricmp(argv[i],"create")==0)
{
printf ("Creating driver entry... ");
if (!loadDriver->Create())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
}
else if (stricmp(argv[i],"delete")==0)
{
printf ("Deleting driver entry... ");
if (!loadDriver->Delete())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
}
else if (stricmp(argv[i],"start")==0)
{
printf ("Starting driver... ");
if (!loadDriver->Start())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
}
else if (stricmp(argv[i],"stop")==0)
{
printf ("Stopping driver... ");
if (!loadDriver->Stop())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
}
else if (stricmp(argv[i],"install")==0)
{
printf ("Creating driver entry... ");
if (!loadDriver->Create())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
printf ("Starting driver entry... ");
if (!loadDriver->Start())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
}
else if (stricmp(argv[i],"remove")==0)
{
printf ("Stopping driver entry... ");
if (!loadDriver->Stop())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
printf ("Deleting driver entry... ");
if (!loadDriver->Delete())
{
printf ("Failed\n");
printf ("%s", loadDriver->GetLastMsg());
}
else printf ("OK\n");
}
else
{
printf ("unknown option %s\n",argv[i]);
return 1;
}
}
Exit:
delete loadDriver;
return rc;
}
このサイトでは、サイトや広告を改善するために Cookie を使用します。サイトを利用することで、Cookie の使用に同意するものといたします。詳細は
プライバシーについてをご覧ください。