? amd64
? cvsflt
? i386
? cvsfltlib/Release
? cvsflttest/Release
? inusemonitor/Release
? wix/cvsflt.cat
? wix/cvsflt.wixobj
? wix/cvsflt64.cat
? wix/ui.wixobj
Index: cvsflt_release.inf
===================================================================
RCS file: /scotty/cvsflt/cvsflt_release.inf,v
retrieving revision 1.6
diff -c -r1.6 cvsflt_release.inf
*** cvsflt_release.inf 18 Sep 2012 12:16:24 -0000 1.6
--- cvsflt_release.inf 19 Sep 2012 01:26:56 -0000
***************
*** 14,20 ****
Class = "FSFilterSystem" ;This is determined by the work this filter driver does
ClassGuid = {5d1b9aaa-01e2-46af-849f-272b3f324c46} ;This value is determined by the Class
Provider = %MarchHare%
! DriverVer = 10/23/2004,1.0.0.1
;;;
;;; The driver package type is used by DIFx to determine what steps are required for the installation of your specific type of driver.
;;;
--- 14,20 ----
Class = "FSFilterSystem" ;This is determined by the work this filter driver does
ClassGuid = {5d1b9aaa-01e2-46af-849f-272b3f324c46} ;This value is determined by the Class
Provider = %MarchHare%
! DriverVer = 9/19/2012,1.0.0.2
;;;
;;; The driver package type is used by DIFx to determine what steps are required for the installation of your specific type of driver.
;;;
***************
*** 89,94 ****
--- 89,96 ----
[CvsFlt.AddRegistry]
HKLM,%CvsFltRegistry%,%CvsFltDebugFlags%,0x00010001 ,0
+ ; http://support.microsoft.com/kb/817921
+ HKLM,%CvsFltRegistryKB%,%CvsFltObCase%,0x00010001 ,0
[CvsFlt.AddRegistry.EventLog]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\drivers\cvsflt.sys"
***************
*** 125,133 ****
CvsFltServiceDesc = "CvsFlt Filter Driver"
CvsFltServiceName = "CvsFlt"
CvsFltRegistry = "system\currentcontrolset\services\CvsFlt"
CvsFltDebugFlags = "DebugFlags"
CvsFltEventReg = "system\currentcontrolset\services\EventLog\System\CvsFlt"
CvsFltEventMsgFile = "EventMessageFile"
CvsFltEventTypes = "TypesSupported"
Disk1 = "CvsFlt Source Media"
-
--- 127,136 ----
CvsFltServiceDesc = "CvsFlt Filter Driver"
CvsFltServiceName = "CvsFlt"
CvsFltRegistry = "system\currentcontrolset\services\CvsFlt"
+ CvsFltRegistryKB = "System\CurrentControlSet\Control\Session Manager\Kernel"
+ CvsFltObCase = "ObCaseInsensitive"
CvsFltDebugFlags = "DebugFlags"
CvsFltEventReg = "system\currentcontrolset\services\EventLog\System\CvsFlt"
CvsFltEventMsgFile = "EventMessageFile"
CvsFltEventTypes = "TypesSupported"
Disk1 = "CvsFlt Source Media"
Index: cvsfltlib/cvsflt.cpp
===================================================================
RCS file: /scotty/cvsflt/cvsfltlib/cvsflt.cpp,v
retrieving revision 1.6
diff -c -r1.6 cvsflt.cpp
*** cvsfltlib/cvsflt.cpp 2 Dec 2004 17:22:11 -0000 1.6
--- cvsfltlib/cvsflt.cpp 19 Sep 2012 05:25:04 -0000
***************
*** 104,110 ****
return CvsAddPosixDirectoryW(AtoW(dir), temp);
}
! BOOL CvsAddPosixDirectoryW(LPCWSTR dir, BOOL temp)
{
DWORD dwRet,BufLen;
LPVOID Buf;
--- 104,110 ----
return CvsAddPosixDirectoryW(AtoW(dir), temp);
}
! BOOL CvsAddPosixDirectoryIntW(LPCWSTR dir, BOOL temp)
{
DWORD dwRet,BufLen;
LPVOID Buf;
***************
*** 125,130 ****
--- 125,166 ----
}
delete[] Buf;
return bRet;
+ }
+
+ BOOL CvsAddPosixDirectoryW(LPCWSTR dir, BOOL temp)
+ {
+ BOOL bRetShort = FALSE, bRetLong = FALSE;
+ // create buffers for the short and long version of this name
+ DWORD add_short_len=0, add_long_len=0, add_result;
+ add_result = GetShortPathNameW(dir,NULL,add_short_len);
+ if (add_result>0)
+ {
+ LPVOID add_short_str=NULL;
+ add_long_len=add_result*sizeof(WCHAR);
+ add_short_str = new char[add_long_len];
+ if (add_short_str)
+ {
+ add_result = GetShortPathNameW(dir,(LPWSTR)add_short_str,add_short_len);
+ if (add_result>0)
+ bRetLong=CvsAddPosixDirectoryIntW((LPWSTR)add_short_str,temp);
+ delete[] add_short_str;
+ }
+ }
+ add_result = GetLongPathNameW(dir,NULL,add_long_len);
+ if (add_result>0)
+ {
+ LPVOID add_long_str=NULL;
+ add_long_len=add_result*sizeof(WCHAR);
+ add_long_str = new char [add_long_len];
+ if (add_long_str)
+ {
+ add_result = GetLongPathNameW(dir,(LPWSTR)add_long_str,add_long_len);
+ if (add_result>0)
+ bRetShort=CvsAddPosixDirectoryIntW((LPWSTR)add_long_str,temp);
+ delete[] add_long_str;
+ }
+ }
+ return (bRetLong || bRetShort);
}
BOOL CvsRemovePosixDirectoryA(LPCSTR dir, BOOL temp)
Index: cvsflttest/cvsflttest.vcproj
===================================================================
RCS file: /scotty/cvsflt/cvsflttest/cvsflttest.vcproj,v
retrieving revision 1.5
diff -c -r1.5 cvsflttest.vcproj
*** cvsflttest/cvsflttest.vcproj 13 Sep 2012 11:49:22 -0000 1.5
--- cvsflttest/cvsflttest.vcproj 19 Sep 2012 06:12:14 -0000
***************
*** 90,96 ****