Mercurial > mplayer.hg
view libdha/dhahelperwin/dhasetup.c @ 13395:07708ec98d87
New MD5 sum video output driver. For every frame, it calculates the MD5 sum
and writes a list of those sums to an, optionally specified, output file.
It does not rely on external programs to be installed. The MD5 sum code is
borrowed from the uCIFS library, written by Christopher R. Hertel in 2004
and released under the LGPL license.
Note: This driver is not yet activated and will not be compiled and linked
to libvo. A separate patch will take care of that. This is just for adding
the files to the repository.
author | ivo |
---|---|
date | Mon, 20 Sep 2004 01:01:08 +0000 |
parents | 33dab236c631 |
children |
line wrap: on
line source
/* dhahelper setup program (c) 2004 Sascha Sommer */ /* compile with gcc -o dhasetup.exe dhasetup.c */ /* LICENSE: GPL */ #include <windows.h> #include <stdio.h> int main(int argc,char* argv[]){ SC_HANDLE hSCManager; SC_HANDLE hService; char path[MAX_PATH]; printf("dhasetup (c) 2004 Sascha Sommer\n"); GetWindowsDirectory(path,MAX_PATH); strcpy(path+strlen(path),"\\system32\\drivers\\dhahelper.sys"); if(argc==1){ printf("Usage:\n"); printf("dhasetup install - Copies dhahelper.sys from the current directory to\n%s and configures it to start at boot.\n", path); printf("dhasetup remove - Removes the dhahelper utility.\n"); return 0; } hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if(!strcmp(argv[1],"install")){ printf("Installing dhahelper...\n"); if(!CopyFile("dhahelper.sys",path,FALSE)){ printf("Copying dhahelper.sys failed.\nEither dhahelper.sys is not in the current directory or you lack sufficient\nprivileges to write to %s.", path); return 1; } // Install the driver hService = CreateService(hSCManager, "DHAHELPER", "DHAHELPER", SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, SERVICE_SYSTEM_START, SERVICE_ERROR_NORMAL, path, NULL, NULL, NULL, NULL, NULL); if(!hService){ printf("Unable to register DHAHELPER Service (0x%x).\n",GetLastError()); } } else if(!strcmp(argv[1],"remove")){ SERVICE_STATUS ServiceStatus; printf("Removing dhahelper...\n"); hService = OpenService(hSCManager, "DHAHELPER", SERVICE_ALL_ACCESS); ControlService(hService, SERVICE_CONTROL_STOP, &ServiceStatus); DeleteService(hService); DeleteFile(path); } else { printf("unknown parameter: %s\n",argv[1]); } CloseServiceHandle(hService); CloseServiceHandle(hSCManager); printf("Please reboot to let the changes take effect.\n"); return 0; }