MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2InstallExt2Srv

Function Ext2InstallExt2Srv

Ext2Mgr/enumDisk.cpp:2959–3001  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2957TCHAR *Ext2StrLastA(TCHAR *t, TCHAR *s);
2958
2959BOOL Ext2InstallExt2Srv()
2960{
2961 TCHAR cmd[512] = {0}, *p;
2962 BOOL rc = FALSE;
2963
2964 if (GetWindowsDirectory(cmd, 512)) {
2965 if (g_isWow64)
2966 strcat(cmd, "\\SysWOW64\\Ext2Srv.EXE");
2967 else
2968 strcat(cmd, "\\System32\\Ext2Srv.EXE");
2969 rc = ExtSaveResourceToFile(IDR_RCDAT_SRV, cmd);
2970 }
2971
2972 if (!rc) {
2973 GetModuleFileName(NULL, cmd, 510);
2974 p = Ext2StrLastA(cmd, ".EXE");
2975 if (p && p > &cmd[3]) {
2976 p[-3] = 'S';
2977 p[-2] = 'r';
2978 p[-1] = 'v';
2979 } else {
2980 strcat(cmd, "-Srv.EXE");
2981 }
2982 rc = ExtSaveResourceToFile(IDR_RCDAT_SRV, cmd);
2983 }
2984
2985 if (!rc) {
2986 GetTempPath(50, cmd);
2987 strcat(cmd, "\\Ext2Srv.EXE");
2988 rc = ExtSaveResourceToFile(IDR_RCDAT_SRV, cmd);
2989 }
2990
2991 if (!rc) {
2992 return rc;
2993 }
2994
2995 rc = Ext2SetService(cmd, "Ext2Srv", "Ext2Fsd Service Manager", TRUE);
2996 if (!rc) {
2997 return rc;
2998 }
2999
3000 return Ext2StartService("Ext2Srv");
3001}
3002
3003
3004BOOL

Callers 1

Ext2StartExt2SrvFunction · 0.85

Calls 4

ExtSaveResourceToFileFunction · 0.85
Ext2StrLastAFunction · 0.85
Ext2SetServiceFunction · 0.85
Ext2StartServiceFunction · 0.70

Tested by

no test coverage detected