├── .gitignore ├── CONTRIBUTING.md ├── Data └── x64 │ └── DLL_Registry │ └── vfs │ ├── QCIFSFwk.reg │ └── QCIFSProcessor.reg ├── Docs ├── 445InUse.PNG ├── Happy.PNG ├── NetManServiceInstall.PNG ├── NetManServiceMissing.PNG ├── NetUse.PNG ├── Sad.PNG └── booted.PNG ├── Free445-ADMIN.bat ├── Free445 ├── Free445.sln └── Free445 │ ├── Free445.cpp │ ├── Free445.vcxproj │ ├── Free445.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── KernelSDK ├── include │ ├── AcesTemporaryMacros.h │ ├── KernelDumpInterface.h │ ├── QKernelBase.h │ ├── QKernelBaseEnviron.h │ ├── QKernelBaseMacros.h │ ├── QKernelCheckedCasts.h │ ├── QKernelExec.h │ ├── QKernelExecDDK.h │ ├── QKernelExecEnviron.h │ ├── QKernelExecFactory.h │ ├── QKernelExecMacros.h │ ├── QKernelExecManagerClasses.h │ ├── QKernelExecObjectClasses.h │ ├── QKernelMacDDK.h │ ├── QKernelProducts.h │ ├── QKernelSDK.h │ ├── QKernelSDKVersion.h │ ├── QKernelWinDDK.h │ ├── QMacBase.h │ ├── QWinBase.h │ └── iActivityLogView.h ├── redist │ └── win64 │ │ ├── dll_registry │ │ └── vfs │ │ │ ├── KernelConsoleLogDriver.reg │ │ │ ├── KernelDebugDriver.reg │ │ │ └── KernelFileLogDriver.reg │ │ └── system │ │ ├── KernelExec.reg │ │ ├── KernelServer.reg │ │ ├── Locale │ │ └── Strings │ │ │ ├── NotFoundText.unicode │ │ │ └── SomeLanguage.unicode │ │ └── Product.txt └── src │ ├── coredrivers │ ├── KernelFileLogDriver │ │ ├── KernelFileLogDriver.rc │ │ ├── KernelFileLogDriver.vcxproj │ │ ├── KernelFileLogDriver.vcxproj.filters │ │ ├── LogCategories.h │ │ ├── Main.cpp │ │ ├── Version.h │ │ ├── Win32Resources.h │ │ ├── cBaseLogDriver.cpp │ │ ├── cBaseLogDriver.h │ │ ├── cBaseLogDriverCtor.cpp │ │ ├── cBaseLogDriverCtor.h │ │ ├── cHtmlLogDriver.cpp │ │ ├── cHtmlLogDriver.h │ │ ├── cLogFolderCleanUp.cpp │ │ ├── cLogFolderCleanUp.h │ │ ├── cScanFiles.h │ │ ├── cTextLogDriver.cpp │ │ ├── cTextLogDriver.h │ │ ├── isoTime.h │ │ ├── stdafx.cpp │ │ └── stdafx.h │ └── win │ │ ├── KernelConsoleLogDriver │ │ ├── KernelConsoleLogDriver.def │ │ ├── KernelConsoleLogDriver.idl │ │ ├── KernelConsoleLogDriver.rc │ │ ├── KernelConsoleLogDriver.vcxproj │ │ ├── KernelConsoleLogDriver.vcxproj.filters │ │ ├── LogCategories.h │ │ ├── Main.cpp │ │ ├── Main.h │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── TrayMenuItemCallback.rgs │ │ ├── Version.h │ │ ├── Win32Resources.h │ │ ├── cConsole.cpp │ │ ├── cConsole.h │ │ ├── cConsoleLogDriver.cpp │ │ ├── cConsoleLogDriver.h │ │ ├── cTrayMenuItemCallback.cpp │ │ └── cTrayMenuItemCallback.h │ │ └── KernelDebugDriver │ │ ├── KernelDebugDriver.rc │ │ ├── KernelDebugDriver.vcxproj │ │ ├── KernelDebugDriver.vcxproj.filters │ │ ├── Main.cpp │ │ ├── PSAPIHandler.cpp │ │ ├── PSAPIHandler.h │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── Version.h │ │ ├── Win32Resources.h │ │ ├── cDebugDriver.cpp │ │ ├── cDebugDriver.h │ │ ├── cThreadManager.cpp │ │ └── cThreadManager.h │ ├── kernel │ ├── KernelBase │ │ ├── KernelBase.vcxproj │ │ ├── KernelBase.vcxproj.filters │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── UpgradeLog.htm │ │ ├── Widen.cpp │ │ ├── cAutoResetEvent.cpp │ │ ├── cComplexRect.cpp │ │ ├── cComplexRectImpl.cpp │ │ ├── cComplexRectImpl.h │ │ ├── cDate.cpp │ │ ├── cDateTime.cpp │ │ ├── cFixedSizeAllocator.cpp │ │ ├── cFixedSizeAllocator.h │ │ ├── cGuard.cpp │ │ ├── cGuid.cpp │ │ ├── cGuid2.cpp │ │ ├── cLock.cpp │ │ ├── cLockGuard.cpp │ │ ├── cManualResetEvent.cpp │ │ ├── cMatrix44.cpp │ │ ├── cMemory.cpp │ │ ├── cMemoryImpl.cpp │ │ ├── cMemoryImpl.h │ │ ├── cMemoryView.cpp │ │ ├── cMemoryViewImpl.cpp │ │ ├── cMemoryViewImpl.h │ │ ├── cPulse.cpp │ │ ├── cRational.h │ │ ├── cRecoverable.cpp │ │ ├── cRect.cpp │ │ ├── cRefCount.cpp │ │ ├── cSemaphore.cpp │ │ ├── cTime.cpp │ │ ├── cVersion.cpp │ │ ├── cWaitMultipleEvents.cpp │ │ ├── cfRect.cpp │ │ ├── cfXYZ.cpp │ │ ├── fatal.cpp │ │ ├── fatal.h │ │ └── nameClip.cpp │ ├── KernelExec │ │ ├── KernelExec.rc │ │ ├── KernelExec.vcxproj │ │ ├── KernelExec.vcxproj.filters │ │ ├── LogCategories.h │ │ ├── NotifyRegValueChange.cpp │ │ ├── NotifyRegValueChange.h │ │ ├── Products.cpp │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── Version.h │ │ ├── Win32Resources.h │ │ ├── cActivityLog.cpp │ │ ├── cActivityLog.h │ │ ├── cBootManager.cpp │ │ ├── cBootManager.h │ │ ├── cClientServer.cpp │ │ ├── cClientServer.h │ │ ├── cCmdConsoleHandler.cpp │ │ ├── cCmdConsoleHandler.h │ │ ├── cCmdConsoleManager.cpp │ │ ├── cCmdConsoleManager.h │ │ ├── cDLL.cpp │ │ ├── cDLL.h │ │ ├── cDLLIterator.h │ │ ├── cDLLManager.cpp │ │ ├── cDLLManager.h │ │ ├── cDetectGFlags.h │ │ ├── cDevTestToggle.cpp │ │ ├── cDeviceManager.cpp │ │ ├── cDeviceManager.h │ │ ├── cException.h │ │ ├── cExceptionManager.cpp │ │ ├── cExceptionManager.h │ │ ├── cFactory.cpp │ │ ├── cFactory.h │ │ ├── cFile.cpp │ │ ├── cFile.h │ │ ├── cFileManager.cpp │ │ ├── cFileManager.h │ │ ├── cFixedSizeAllocator.cpp │ │ ├── cFixedSizeAllocator.h │ │ ├── cKernel.cpp │ │ ├── cKernelMainThread.cpp │ │ ├── cKernelMainThread.h │ │ ├── cLogManager.cpp │ │ ├── cLogManager.h │ │ ├── cLogOutputThread.cpp │ │ ├── cLogOutputThread.h │ │ ├── cLogThreadData.h │ │ ├── cMemoryManager.cpp │ │ ├── cMemoryManager.h │ │ ├── cModuleInstallHelp.cpp │ │ ├── cModuleInstallHelp.h │ │ ├── cModuleInstance.cpp │ │ ├── cModuleInstance.h │ │ ├── cModuleRegistrar.cpp │ │ ├── cModuleRegistrar.h │ │ ├── cMsgQueue.cpp │ │ ├── cMsgQueue.h │ │ ├── cProcessHelp.cpp │ │ ├── cProcessHelp.h │ │ ├── cSingletonConstructorImpl.cpp │ │ ├── cSingletonConstructorImpl.h │ │ ├── cSystemInfo.cpp │ │ ├── cSystemInfo.h │ │ ├── cThreadImpl.cpp │ │ ├── cThreadImpl.h │ │ ├── cThreadManager.cpp │ │ ├── cThreadManager.h │ │ ├── cTimerManager.cpp │ │ ├── cTimerManager.h │ │ ├── cVfsEnvironment.cpp │ │ ├── cVfsEnvironment.h │ │ ├── msgbox.html │ │ └── old │ │ │ ├── cDLLManagerHttp.h │ │ │ ├── cDeviceManagerHttp.h │ │ │ ├── cHttpDriverContext.cpp │ │ │ ├── cHttpDriverContext.h │ │ │ ├── cHttpManager.cpp │ │ │ └── cHttpManager.h │ └── win │ │ ├── KernelServer │ │ ├── KernelServer.rc │ │ ├── KernelServer.rgs │ │ ├── KernelServer.vcxproj │ │ ├── KernelServer.vcxproj.filters │ │ ├── LogCategories.h │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── WinMain.cpp │ │ ├── cKernelBootCommsThread.cpp │ │ ├── cKernelBootCommsThread.h │ │ └── resource.h │ │ └── WinBase │ │ ├── Error.cpp │ │ ├── FileHelp.cpp │ │ ├── MsgPump.cpp │ │ ├── Shortcuts.cpp │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── Win32Base.vcproj.vspscc │ │ ├── WinBase.vcxproj │ │ ├── WinBase.vcxproj.filters │ │ ├── cRegistryHelp.cpp │ │ └── cRegistryHelp.h │ └── tools │ └── win │ └── KernelSetup │ ├── EmbedHelp.h │ ├── Win32Help.h │ ├── cEmbed.cpp │ └── cEmbed.h ├── LICENSE ├── Notices.md ├── Props └── Boost64.props ├── QCIFSServer ├── Common │ ├── Common.cpp │ ├── Common.rc │ ├── Common.vcxproj │ ├── Common.vcxproj.filters │ ├── Main.cpp │ ├── ReadMe.txt │ ├── TransmitList.h │ ├── Version.h │ ├── Win32Resources.h │ ├── cCommonFactory.cpp │ ├── cCommonFactory.h │ ├── cIOCompletionPort.cpp │ ├── cIOCompletionPort.h │ ├── cIOCompletionThread.cpp │ ├── cIOCompletionThread.h │ ├── cMemory.cpp │ ├── cMemory.h │ ├── cWinErrorCodes.cpp │ ├── cWinErrorCodes.h │ ├── cqp_header.h │ ├── iCommonFactory.h │ ├── iCompletionMsg.h │ ├── iFile.cpp │ ├── iFile.h │ ├── iIOCompletionPort.h │ ├── iMsgQueue.cpp │ ├── iPointer.h │ ├── iQueue.h │ ├── iThread.cpp │ ├── iThreadHeader.h │ ├── iThreadMsgQueue.cpp │ ├── primatives.cpp │ ├── primatives.h │ ├── qcp_header.h │ ├── stdafx.cpp │ ├── stdafx.h │ ├── string_routines.cpp │ ├── string_routines.h │ └── threads.cpp ├── NetManService │ ├── MICROSOFT LIMITED PUBLIC LICENSE.rtf │ ├── NetManService.sln │ └── NetManService │ │ ├── NetManService.cpp │ │ ├── NetManService.vcxproj │ │ ├── NetManService.vcxproj.filters │ │ ├── SampleService.cpp │ │ ├── SampleService.h │ │ ├── ServiceBase.cpp │ │ ├── ServiceBase.h │ │ ├── ServiceInstaller.cpp │ │ ├── ServiceInstaller.h │ │ ├── ThreadPool.h │ │ ├── free445.cpp │ │ └── free445.h ├── QCIFSFwk │ ├── LogCategories.h │ ├── Main.cpp │ ├── QCIFSFwk.cpp │ ├── QCIFSFwk.rc │ ├── QCIFSFwk.vcxproj │ ├── QCIFSFwk.vcxproj.filters │ ├── QTubeOptions.h │ ├── ReadMe.txt │ ├── Version.h │ ├── Win32Resources.h │ ├── cAttributeComposite.cpp │ ├── cAttributeComposite.h │ ├── cBaseDirLocation.h │ ├── cCallbackChangeListener.cpp │ ├── cCallbackChangeListener.h │ ├── cCallbackComposite.cpp │ ├── cCallbackComposite.h │ ├── cChildLoader.h │ ├── cCompositeDirLocation.cpp │ ├── cCompositeDirLocation.h │ ├── cConstMemComposite.cpp │ ├── cConstMemComposite.h │ ├── cConstNamed.cpp │ ├── cConstNamed.h │ ├── cConstRootChildLoader.h │ ├── cDFSDirLocation.cpp │ ├── cDFSDirLocation.h │ ├── cDeletableComposite.cpp │ ├── cDeletableComposite.h │ ├── cDirectoryFactory.cpp │ ├── cDirectoryFactory.h │ ├── cGenTreeResource.cpp │ ├── cGenTreeResource.h │ ├── cLazyLoader.h │ ├── cMemComposite.cpp │ ├── cMemComposite.h │ ├── cMemDirLocation.h │ ├── cMemFileRename.h │ ├── cNotificationHandler.cpp │ ├── cNotificationHandler.h │ ├── cNotifyComposite.cpp │ ├── cNotifyComposite.h │ ├── cNotifyTree.cpp │ ├── cNotifyTree.h │ ├── cQCIFSFwk.cpp │ ├── cQCIFSFwk.h │ ├── cQCIFSFwkHelper.cpp │ ├── cQCIFSFwkHelper.h │ ├── cRealCompositeFactory.cpp │ ├── cRealCompositeFactory.h │ ├── cRealDirLocation.cpp │ ├── cRealDirLocation.h │ ├── cRenameHandler.cpp │ ├── cRenameHandler.h │ ├── cSearchListener.cpp │ ├── cSearchListener.h │ ├── cSearchLocation.cpp │ ├── cSearchLocation.h │ ├── cSearchLocationCache.h │ ├── cShare.cpp │ ├── cShare.h │ ├── cShareInfo.cpp │ ├── cShareInfo.h │ ├── cTreeResourceFactory.cpp │ ├── cTreeResourceFactory.h │ ├── cVirtualComposite.cpp │ ├── cVirtualComposite.h │ ├── cVirtualDirLocation.cpp │ ├── cVirtualDirLocation.h │ ├── cWriteInfo.cpp │ ├── cWriteInfo.h │ ├── iChildLoader.h │ ├── iChildLoaderVisitor.h │ ├── iCreate.h │ ├── iDirLocation.h │ ├── iDirectoryFactory.h │ ├── iFactory.h │ ├── iFileEvent.h │ ├── iFileLoader.h │ ├── iFileNameReporter.h │ ├── iNameMangler.h │ ├── iNamed.h │ ├── iNotifyTree.h │ ├── iQCIFSFwk.h │ ├── iQCIFSFwkHelper.h │ ├── iRename.h │ ├── iRenameHandler.h │ ├── iRootChildLoader.h │ ├── iShareInfo.h │ ├── iSpaceQuery.h │ ├── iWriteInfo.h │ ├── stdafx.cpp │ ├── stdafx.h │ ├── wildcardPattern.h │ └── writeFileSize.h ├── QCIFSIPC │ ├── Main.cpp │ ├── QCIFSIPC.cpp │ ├── QCIFSIPC.rc │ ├── QCIFSIPC.vcxproj │ ├── QCIFSIPC.vcxproj.filters │ ├── ReadMe.txt │ ├── Version.h │ ├── Win32Resources.h │ ├── cComposite.cpp │ ├── cComposite.h │ ├── cDFSDatabase.cpp │ ├── cDFSDatabase.h │ ├── cIPC.cpp │ ├── cIPC.h │ ├── cIPCLoader.cpp │ ├── cIPCLoader.h │ ├── cIPCWriteCallback.cpp │ ├── cIPCWriteCallback.h │ ├── cQCIFSIPC.cpp │ ├── cQCIFSIPC.h │ ├── cSpaceQuery.cpp │ ├── cSpaceQuery.h │ ├── iQCIFSIPC.h │ ├── srvsvc64 │ │ ├── build.bat │ │ ├── ms-dtyp.h │ │ ├── ms-dtyp.idl │ │ ├── srvsvc.cpp │ │ ├── srvsvc.h │ │ ├── srvsvc.idl │ │ ├── srvsvc_c.c │ │ └── srvsvc_s.c │ ├── stdafx.cpp │ └── stdafx.h ├── QCIFSProcessor │ ├── ASN1DER.h │ ├── CompositeExports.h │ ├── KerrSecurityCryptography.h │ ├── LogCategories.h │ ├── Main.cpp │ ├── NtTransStructs.h │ ├── QCIFSProcessor.cpp │ ├── QCIFSProcessor.rc │ ├── QCIFSProcessor.vcxproj │ ├── QCIFSProcessor.vcxproj.filters │ ├── ReadMe.txt │ ├── RebootThread.cpp │ ├── RebootThread.h │ ├── SMB2FileInfoLevel.h │ ├── SMB2FsInfoLevel.h │ ├── SMB2SecurityDescriptor.h │ ├── Trans2Structs.cpp │ ├── Trans2Structs.h │ ├── Version.h │ ├── Win32Resource.h │ ├── Win32Resources.h │ ├── align.h │ ├── cCalcDiskGeometry.h │ ├── cCompositeMap.cpp │ ├── cCompositeMap.h │ ├── cDFSReferral.cpp │ ├── cDFSReferral.h │ ├── cFCPGConfigPage.h │ ├── cFileComposite.cpp │ ├── cFileComposite.h │ ├── cFileIOCompletionStatus.cpp │ ├── cFileIOCompletionStatus.h │ ├── cFolderComposite.cpp │ ├── cFolderComposite.h │ ├── cGuardedUniqueNotify.cpp │ ├── cGuardedUniqueNotify.h │ ├── cMicroTimerTor.h │ ├── cModuleFactory.cpp │ ├── cModuleFactory.h │ ├── cNOPCompletionMsg.cpp │ ├── cNOPCompletionMsg.h │ ├── cNTTransIOCTL.cpp │ ├── cNTTransIOCTL.h │ ├── cNotificationID.h │ ├── cNotificationMsg.cpp │ ├── cNotificationMsg.h │ ├── cNotificationReceiver.cpp │ ├── cNotificationReceiver.h │ ├── cNotificationThread.cpp │ ├── cNotificationThread.h │ ├── cOpLock.cpp │ ├── cOpLock.h │ ├── cOpLockManager.cpp │ ├── cOpLockManager.h │ ├── cPathInfoErr.cpp │ ├── cPathInfoErr.h │ ├── cProcessPacketMsg.cpp │ ├── cProcessPacketMsg.h │ ├── cQCIFSPacketProcessor.cpp │ ├── cQCIFSPacketProcessor.h │ ├── cQCIFSProcessor.cpp │ ├── cQCIFSProcessor.h │ ├── cSMB2Buffer.cpp │ ├── cSMB2Buffer.h │ ├── cSMB2NotificationReceiver.cpp │ ├── cSMB2NotificationReceiver.h │ ├── cSMB2OpLock.cpp │ ├── cSMB2OpLock.h │ ├── cSMB2OplockBreakListener.cpp │ ├── cSMB2OplockBreakListener.h │ ├── cSMB2Request.cpp │ ├── cSMB2Request.h │ ├── cSMB2Response.cpp │ ├── cSMB2Response.h │ ├── cSMB2SearchResults.cpp │ ├── cSMB2SearchResults.h │ ├── cSMB2Session.cpp │ ├── cSMB2Session.h │ ├── cSMB2Tree.cpp │ ├── cSMB2Tree.h │ ├── cSMBBlock.cpp │ ├── cSMBBlock.h │ ├── cSMBBuffer.cpp │ ├── cSMBBuffer.h │ ├── cSMBRequest.cpp │ ├── cSMBRequest.h │ ├── cSMBResponse.cpp │ ├── cSMBResponse.h │ ├── cSMBSession.cpp │ ├── cSMBSession.h │ ├── cSMBTree.cpp │ ├── cSMBTree.h │ ├── cServiceHelp.cpp │ ├── cServiceHelp.h │ ├── cSetFileInfo.cpp │ ├── cSetFileInfo.h │ ├── cShareManager.cpp │ ├── cShareManager.h │ ├── cSizeOnDisk.cpp │ ├── cSizeOnDisk.h │ ├── cTrans2Find.cpp │ ├── cTrans2Find.h │ ├── cTrans2FindFirst2.cpp │ ├── cTrans2FindFirst2.h │ ├── cTrans2FindNext2.cpp │ ├── cTrans2FindNext2.h │ ├── cTrans2GetDFSReferral.cpp │ ├── cTrans2GetDFSReferral.h │ ├── cTrans2QueryFileInfo.cpp │ ├── cTrans2QueryFileInfo.h │ ├── cTrans2QueryFsInfo.cpp │ ├── cTrans2QueryFsInfo.h │ ├── cTrans2QueryPathInfo.cpp │ ├── cTrans2QueryPathInfo.h │ ├── cTrans2Response.cpp │ ├── cTrans2Response.h │ ├── cTreeResourceFactory.cpp │ ├── cTreeResourceFactory.h │ ├── cUniqueNotifyID.cpp │ ├── cUniqueNotifyID.h │ ├── cWindowsComposite.cpp │ ├── cWindowsComposite.h │ ├── gss.h │ ├── gss_constants.h │ ├── iNotificationReceiver.h │ ├── iOpLockManager.h │ ├── iQCIFSProcessor.h │ ├── iResponseWriter.h │ ├── iShareManager.h │ ├── iTreeChangeListener.h │ ├── iTreeResourceFactory.h │ ├── iUniqueNotifyID.h │ ├── logging.cpp │ ├── logging.h │ ├── main.h │ ├── ms_rpc.h │ ├── mycifs.h │ ├── ntlm.h │ ├── packoff.h │ ├── packon.h │ ├── safeName.h │ ├── smb2.h │ ├── smb_routines.cpp │ ├── smb_routines.h │ ├── socket_routines.cpp │ ├── socket_routines.h │ ├── spnego.h │ ├── srvsvc.h │ ├── stdafx.cpp │ ├── stdafx.h │ └── writeInfoTemplates.h ├── QCIFSSofa │ ├── Main.cpp │ ├── QCIFSSofa.rc │ ├── QCIFSSofa.vcxproj │ ├── QCIFSSofa.vcxproj.filters │ ├── Version.h │ ├── Win32Resources.h │ ├── cBasicFile.cpp │ ├── cBasicFile.h │ ├── cCurlWrapper.cpp │ ├── cCurlWrapper.h │ ├── cQCIFSSofa.cpp │ ├── cQCIFSSofa.h │ ├── cSofaLoader.cpp │ ├── cSofaLoader.h │ ├── cSpaceQuery.cpp │ ├── cSpaceQuery.h │ ├── couchAccess.cpp │ ├── couchAccess.h │ ├── dumpers.cpp │ ├── dumpers.h │ ├── iQCIFSSofa.h │ ├── load.py │ ├── loadMetadata.py │ ├── readme.md │ ├── stdafx.cpp │ └── stdafx.h ├── QCIFSTest │ ├── Main.cpp │ ├── QCIFSTest.rc │ ├── QCIFSTest.vcxproj │ ├── QCIFSTest.vcxproj.filters │ ├── Version.h │ ├── Win32Resources.h │ ├── cBasicFile.cpp │ ├── cBasicFile.h │ ├── cQCIFSTest.cpp │ ├── cQCIFSTest.h │ ├── cSpaceQuery.cpp │ ├── cSpaceQuery.h │ ├── cSpaceQueryTest.cpp │ ├── cSpaceQueryTest.h │ ├── cTestLoader.cpp │ ├── cTestLoader.h │ ├── cTestWriteCallback.cpp │ ├── cTestWriteCallback.h │ ├── iQCIFSTest.h │ ├── stdafx.cpp │ └── stdafx.h ├── SocketServer │ ├── LogCategories.h │ ├── Main.cpp │ ├── QoSSocket.h │ ├── ReadMe.txt │ ├── SocketServer.cpp │ ├── SocketServer.rc │ ├── SocketServer.vcxproj │ ├── Version.h │ ├── Win32Resources.h │ ├── cAcceptEx.cpp │ ├── cAcceptEx.h │ ├── cAcceptMsg.cpp │ ├── cAcceptMsg.h │ ├── cClientSocket.cpp │ ├── cClientSocket.h │ ├── cConnectEx.cpp │ ├── cConnectEx.h │ ├── cConnectMsg.cpp │ ├── cConnectMsg.h │ ├── cDisconnectMsg.cpp │ ├── cDisconnectMsg.h │ ├── cIOBuffer.cpp │ ├── cIOBuffer.h │ ├── cListeningSocket.cpp │ ├── cListeningSocket.h │ ├── cOverlappedSocketProgress.cpp │ ├── cOverlappedSocketProgress.h │ ├── cRXPacket.cpp │ ├── cRXPacket.h │ ├── cSocketServer.cpp │ ├── cSocketServer.h │ ├── cTCPStream.cpp │ ├── cTCPStream.h │ ├── cTXMsg.cpp │ ├── cTXMsg.h │ ├── cTXPacket.cpp │ ├── cTXPacket.h │ ├── iAcceptEx.h │ ├── iConnectEx.h │ ├── iPacket.h │ ├── iPacketProcessor.h │ ├── iSocketServer.h │ ├── resource.h │ ├── stdafx.cpp │ └── stdafx.h ├── iComposite.h ├── iFileProcessingCallback.h └── iTreeResource.h ├── README.md ├── RUNME-ADMIN.bat ├── RUNME.bat ├── SNIA SDC 2018.pdf ├── SNIA SDC 2018.pptx ├── Shared ├── Crypto │ ├── cWinCrypto.cpp │ └── cWinCrypto.h ├── Lexical │ ├── Base64Coder.cpp │ ├── Base64Coder.h │ ├── ConvertUTF.c │ ├── ConvertUTF.h │ └── ThreadSafeString.h ├── Utils │ ├── DateTimeStringConversions.cpp │ ├── DateTimeStringConversions.h │ ├── NetworkHelpers.cpp │ ├── NetworkHelpers.h │ ├── ScopedTimeDiff.cpp │ ├── ScopedTimeDiff.h │ ├── TestObjPool.cpp │ ├── TestScopedExitFunc.cpp │ ├── WinScopedHandleDef.h │ ├── cCommandLineTokeniser.h │ ├── lock.h │ ├── obj_pool.h │ ├── scoped_exit_func.h │ └── scoped_handle.h ├── cURL │ ├── curl-7.32.0.zip │ ├── curl-7.47.1.zip │ ├── include │ │ ├── curl.h │ │ ├── curlbuild.h │ │ ├── curlrules.h │ │ ├── curlver.h │ │ ├── easy.h │ │ ├── license.txt │ │ ├── mprintf.h │ │ ├── multi.h │ │ ├── stdcheaders.h │ │ └── typecheck-gcc.h │ ├── libcurl.lib │ └── libcurl_debug.lib ├── json_spirit │ ├── LICENSE.txt │ ├── json_spirit.h │ ├── json_spirit_error_position.h │ ├── json_spirit_reader.cpp │ ├── json_spirit_reader.h │ ├── json_spirit_reader_template.h │ ├── json_spirit_stream_reader.h │ ├── json_spirit_utils.h │ ├── json_spirit_value.cpp │ ├── json_spirit_value.h │ ├── json_spirit_writer.cpp │ ├── json_spirit_writer.h │ ├── json_spirit_writer_options.h │ └── json_spirit_writer_template.h └── utf8cpp │ ├── doc │ ├── ReleaseNotes │ └── utf8cpp.html │ └── source │ ├── utf8.h │ └── utf8 │ ├── checked.h │ ├── core.h │ └── unchecked.h └── VFS.sln /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Executables 24 | *.exe 25 | *.out 26 | *.app 27 | *.pdb 28 | *.bsc 29 | *.lib 30 | *.exp 31 | *.ilk 32 | *.exe.manifest 33 | 34 | Build/ 35 | Data/x64/Dll_Code_Release 36 | Data/x64/DLL_Data 37 | Deliver/ 38 | Distribute/ 39 | *.James.user 40 | *.ipch 41 | ipch/ 42 | .vs/ 43 | redist/win64/dll_code_release 44 | lib/ 45 | Free445/Free445/x64/ 46 | Free445/x64/ 47 | *.vcxproj.user 48 | .vscode/ 49 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | [Please fork this repo](https://help.github.com/articles/fork-a-repo/) 2 | 3 | -------------------------------------------------------------------------------- /Data/x64/DLL_Registry/vfs/QCIFSFwk.reg: -------------------------------------------------------------------------------- 1 | REGEDIT4 2 | 3 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Custom Settings\Config] 4 | 5 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Log Categories] 6 | "Is Module Logging Enabled"=dword:00000001 7 | "Is Highlighted"=dword:00000000 8 | "Is Showing Time Since Start"=dword:00000000 9 | "Is Showing Time Since Last"=dword:00000000 10 | "00 Warn"="Inject" 11 | "01 Notify"="Inject" 12 | "02 Info"="Inject" 13 | "03 LicenseOptions"="Collapse" 14 | "04 User"="Collapse" 15 | "05 User"="Collapse" 16 | "06 User"="Collapse" 17 | "07 User"="Collapse" 18 | "08 User"="Collapse" 19 | "09 User"="Collapse" 20 | "10 User"="Collapse" 21 | "11 User"="Collapse" 22 | "12 User"="Collapse" 23 | "13 User"="Collapse" 24 | "14 User"="Collapse" 25 | "15 User"="Collapse" 26 | "16 User"="Collapse" 27 | "17 User"="Collapse" 28 | "18 User"="Collapse" 29 | "19 User"="Collapse" 30 | "20 User"="Collapse" 31 | "21 User"="Collapse" 32 | "22 User"="Collapse" 33 | "23 User"="Collapse" 34 | "24 User"="Collapse" 35 | "25 User"="Collapse" 36 | "26 User"="Collapse" 37 | "27 User"="Collapse" 38 | "28 User"="Collapse" 39 | "29 User"="Collapse" 40 | "30 User"="Collapse" 41 | "31 Qtrace"="Collapse" 42 | 43 | -------------------------------------------------------------------------------- /Data/x64/DLL_Registry/vfs/QCIFSProcessor.reg: -------------------------------------------------------------------------------- 1 | REGEDIT4 2 | 3 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Custom Settings\Config] 4 | "Reboot Time (24hh:mm:ss)"="02:00:00" 5 | "SMB credits"=dword:00000028 6 | "Use Classic SMB Handler"=dword:00000000 7 | 8 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Log Categories] 9 | "Is Module Logging Enabled"=dword:00000001 10 | "Is Highlighted"=dword:00000000 11 | "Is Showing Time Since Start"=dword:00000000 12 | "Is Showing Time Since Last"=dword:00000000 13 | "00 Warn"="Inject" 14 | "01 Notify"="Inject" 15 | "02 Info"="Inject" 16 | "03 User"="Collapse" 17 | "04 User"="Collapse" 18 | "05 User"="Collapse" 19 | "06 User"="Collapse" 20 | "07 User"="Collapse" 21 | "08 User"="Collapse" 22 | "09 User"="Collapse" 23 | "10 User"="Collapse" 24 | "11 User"="Collapse" 25 | "12 User"="Collapse" 26 | "13 User"="Collapse" 27 | "14 User"="Collapse" 28 | "15 User"="Collapse" 29 | "16 User"="Collapse" 30 | "17 User"="Collapse" 31 | "18 User"="Collapse" 32 | "19 User"="Collapse" 33 | "20 User"="Collapse" 34 | "21 User"="Collapse" 35 | "22 User"="Collapse" 36 | "23 User"="Collapse" 37 | "24 User"="Collapse" 38 | "25 User"="Collapse" 39 | "26 User"="Collapse" 40 | "27 User"="Collapse" 41 | "28 User"="Collapse" 42 | "29 User"="Collapse" 43 | "30 User"="Collapse" 44 | "31 Qtrace"="Collapse" 45 | 46 | -------------------------------------------------------------------------------- /Docs/445InUse.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/445InUse.PNG -------------------------------------------------------------------------------- /Docs/Happy.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/Happy.PNG -------------------------------------------------------------------------------- /Docs/NetManServiceInstall.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/NetManServiceInstall.PNG -------------------------------------------------------------------------------- /Docs/NetManServiceMissing.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/NetManServiceMissing.PNG -------------------------------------------------------------------------------- /Docs/NetUse.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/NetUse.PNG -------------------------------------------------------------------------------- /Docs/Sad.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/Sad.PNG -------------------------------------------------------------------------------- /Docs/booted.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/Docs/booted.PNG -------------------------------------------------------------------------------- /Free445-ADMIN.bat: -------------------------------------------------------------------------------- 1 | powershell -command "Start-Process Free445\x64\Release\Free445.exe -Verb runas" -------------------------------------------------------------------------------- /Free445/Free445.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26403.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Free445", "Free445\Free445.vcxproj", "{B90343BC-1512-4A68-A8FA-D1B424A31D97}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Debug|x64.ActiveCfg = Debug|x64 17 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Debug|x64.Build.0 = Debug|x64 18 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Debug|x86.ActiveCfg = Debug|Win32 19 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Debug|x86.Build.0 = Debug|Win32 20 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Release|x64.ActiveCfg = Release|x64 21 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Release|x64.Build.0 = Release|x64 22 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Release|x86.ActiveCfg = Release|Win32 23 | {B90343BC-1512-4A68-A8FA-D1B424A31D97}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /Free445/Free445/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // stdafx.cpp : source file that includes just the standard includes 16 | // Free445.pch will be the pre-compiled header 17 | // stdafx.obj will contain the pre-compiled type information 18 | 19 | #include "stdafx.h" 20 | 21 | // TODO: reference any additional headers you need in STDAFX.H 22 | // and not in this file 23 | -------------------------------------------------------------------------------- /Free445/Free445/stdafx.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // stdafx.h : include file for standard system include files, 16 | // or project specific include files that are used frequently, but 17 | // are changed infrequently 18 | // 19 | 20 | #pragma once 21 | 22 | #include "targetver.h" 23 | 24 | #include 25 | #include 26 | 27 | #include 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | 34 | // TODO: reference additional headers your program requires here 35 | -------------------------------------------------------------------------------- /Free445/Free445/targetver.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | // Including SDKDDKVer.h defines the highest available Windows platform. 18 | 19 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 20 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 21 | 22 | #include 23 | -------------------------------------------------------------------------------- /KernelSDK/include/QKernelExec.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #if !defined(__CCC9BFF0A1CE45379C65D59CD01B3FD8) 16 | #define __CCC9BFF0A1CE45379C65D59CD01B3FD8 17 | /* 18 | ** 19 | */ 20 | 21 | #include "QKernelExecEnviron.h" 22 | #include "QKernelExecMacros.h" 23 | #include "QKernelExecObjectClasses.h" 24 | #include "QKernelExecFactory.h" 25 | #include "QKernelExecManagerClasses.h" 26 | 27 | #endif -------------------------------------------------------------------------------- /KernelSDK/include/QKernelMacDDK.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | #if !defined(__39DEBF27A43E4f00AE02CBEE91F88C70) 17 | #define __39DEBF27A43E4f00AE02CBEE91F88C70 18 | /* 19 | ** 20 | */ 21 | 22 | #include "QMacBase.h" 23 | #include "QKernelSDK.h" 24 | #include "QKernelExecDDK.h" 25 | #include "QKernelMediaDDK.h" 26 | #include "QKernelUIDDK.h" 27 | 28 | #endif -------------------------------------------------------------------------------- /KernelSDK/include/QKernelProducts.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | #pragma once 17 | 18 | namespace vfs 19 | { 20 | enum eProductId 21 | { 22 | eInvalidProduct = 0, 23 | eSMB3Server = 0x200 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /KernelSDK/include/QKernelSDK.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | // QKernelSDK.h 17 | #pragma once 18 | // 19 | 20 | #include "QWinBase.h" 21 | #include "QKernelBase.h" 22 | #include "QKernelExec.h" 23 | -------------------------------------------------------------------------------- /KernelSDK/include/QKernelSDKVersion.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | // QKernelSDKVersion.h 17 | // 18 | 19 | #define kKernelSDKVersion L"5.3.1.0" 20 | #define kKernelSDKVersion_BackwardsCompatibleTo L"3.7.1.0" 21 | 22 | // These are defined for use in a Windows version resource. Use the above representation in C/C++ code. 23 | #define kKernelSDKVersion_ResNum 5,3,1,0 24 | #define kKernelSDKVersion_ResStr "5, 3, 1, 0\0" 25 | 26 | // For use by the C/C++ preprocessor, format rrjjiii (excluding build) 27 | #define kKernelSDKIfaceVersion_Int 0503001 28 | -------------------------------------------------------------------------------- /KernelSDK/include/QKernelWinDDK.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | // QKernelWinDDK.h 17 | #pragma once 18 | // 19 | 20 | #include "QWinBase.h" 21 | 22 | #include "QKernelSDK.h" 23 | #include "QKernelExecDDK.h" 24 | #include "QKernelMediaDDK.h" 25 | #include "QKernelUIDDK.h" 26 | -------------------------------------------------------------------------------- /KernelSDK/include/QMacBase.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | #if !defined(__63D46ACF2D2143e9813953296671F0D6) 17 | #define __63D46ACF2D2143e9813953296671F0D6 18 | /* 19 | ** 20 | */ 21 | 22 | #include 23 | #include "QKernelBase.h" 24 | 25 | namespace vfs 26 | { 27 | 28 | #define INCLUDED_OSX64BASE 29 | 30 | } 31 | 32 | #endif -------------------------------------------------------------------------------- /KernelSDK/redist/win64/dll_registry/vfs/KernelDebugDriver.reg: -------------------------------------------------------------------------------- 1 | REGEDIT4 2 | 3 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Custom Settings] 4 | 5 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Log Categories] 6 | "Is Module Logging Enabled"=dword:00000001 7 | "Is Highlighted"=dword:00000000 8 | "Is Showing Time Since Start"=dword:00000000 9 | "Is Showing Time Since Last"=dword:00000000 10 | "00 User"="Collapse" 11 | "01 User"="Collapse" 12 | "02 User"="Collapse" 13 | "03 User"="Collapse" 14 | "04 User"="Collapse" 15 | "05 User"="Collapse" 16 | "06 User"="Collapse" 17 | "07 User"="Collapse" 18 | "08 User"="Collapse" 19 | "09 User"="Collapse" 20 | "10 User"="Collapse" 21 | "11 User"="Collapse" 22 | "12 User"="Collapse" 23 | "13 User"="Collapse" 24 | "14 User"="Collapse" 25 | "15 User"="Collapse" 26 | "16 User"="Collapse" 27 | "17 User"="Collapse" 28 | "18 User"="Collapse" 29 | "19 User"="Collapse" 30 | "20 User"="Collapse" 31 | "21 User"="Collapse" 32 | "22 User"="Collapse" 33 | "23 User"="Collapse" 34 | "24 User"="Collapse" 35 | "25 User"="Collapse" 36 | "26 User"="Collapse" 37 | "27 User"="Collapse" 38 | "28 User"="Collapse" 39 | "29 User"="Collapse" 40 | "30 User"="Collapse" 41 | "31 User"="Collapse" 42 | 43 | -------------------------------------------------------------------------------- /KernelSDK/redist/win64/system/KernelServer.reg: -------------------------------------------------------------------------------- 1 | REGEDIT4 2 | 3 | [HKEY_LOCAL_MACHINE\%MODULEPATH%\Log Categories] 4 | "Is Module Logging Enabled"=dword:00000001 5 | "Is Highlighted"=dword:00000000 6 | "Is Showing Time Since Start"=dword:00000000 7 | "Is Showing Time Since Last"=dword:00000000 8 | "00 KernelBootComms"="InjectExpanded" 9 | -------------------------------------------------------------------------------- /KernelSDK/redist/win64/system/Locale/Strings/NotFoundText.unicode: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/KernelSDK/redist/win64/system/Locale/Strings/NotFoundText.unicode -------------------------------------------------------------------------------- /KernelSDK/redist/win64/system/Locale/Strings/SomeLanguage.unicode: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/KernelSDK/redist/win64/system/Locale/Strings/SomeLanguage.unicode -------------------------------------------------------------------------------- /KernelSDK/redist/win64/system/Product.txt: -------------------------------------------------------------------------------- 1 | /developer "Vfs" /product "SMB3 Server" /version "T7 R&D" /moredlls "..\..\..\..\data\x64\" /r&d 2 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/Main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "stdafx.h" 16 | 17 | using namespace vfs; 18 | 19 | iModuleContext::Ptr gModuleContext; 20 | 21 | extern "C" QPLUGIN void QARGS_STACK moduleInit(iModuleContext::Ptr pContext) 22 | { 23 | gModuleContext = pContext; 24 | 25 | static std::list RegdClasses; 26 | try 27 | { 28 | RegdClasses.push_back(gFactory->registerClass(new cBaseLogDriverCtor())); // cBaseLogDriver has a "custom singleton" constructor 29 | } 30 | catch (cRecoverable& reason) 31 | { 32 | QSOS((L"%s", reason.getMsg().c_str())); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/Version.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | // ======================================================================================= 18 | // === kVersion ========================================================================== 19 | // ======================================================================================= 20 | 21 | // Version of this plugin/driver. 22 | #define kVersion L"2.2.0.0" 23 | 24 | // These are defined for use in a Windows version resource. Use the above representation 25 | // in C/C++ code. 26 | #define kVersion_ResNum 2,2,0,0 27 | #define kVersion_ResStr "2, 2, 0, 0\0" 28 | 29 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/Win32Resources.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //{{NO_DEPENDENCIES}} 16 | // Microsoft Developer Studio generated include file. 17 | // Used by DebugDriver.rc 18 | // 19 | #define IDS_DLL_VERSION 1 20 | #define IDS_LOAD_ORDER_GROUP 3 21 | #define IDS_BUILT_WITH_KERNELSDK_VERSION 5 22 | 23 | // Next default values for new objects 24 | // 25 | #ifdef APSTUDIO_INVOKED 26 | #ifndef APSTUDIO_READONLY_SYMBOLS 27 | #define _APS_NEXT_RESOURCE_VALUE 102 28 | #define _APS_NEXT_COMMAND_VALUE 40001 29 | #define _APS_NEXT_CONTROL_VALUE 1000 30 | #define _APS_NEXT_SYMED_VALUE 101 31 | #endif 32 | #endif 33 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/cHtmlLogDriver.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | namespace vfs 18 | { 19 | class cHtmlLogDriver : public cBaseLogDriver 20 | { 21 | public: 22 | virtual const String getExtension() const { return L"html"; } 23 | virtual void writeHeader(const String& prevFile) const; 24 | virtual void writeFooter(const String& nextFile) const; 25 | virtual void handleMsg(const iLogDriver::cMsg& msg) const; 26 | 27 | protected: 28 | void htmlWrite(const String& utf16_data) const; // escapes illegal html characters before calling write() 29 | }; 30 | } 31 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/cLogFolderCleanUp.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | namespace vfs 18 | { 19 | class cLogFolderCleanUp 20 | { 21 | public: 22 | cLogFolderCleanUp(const String& logFolder, const UInt32 fileLimit); 23 | 24 | void renameFile(const String& oldFile, const String& newFile) const; 25 | void renameGroup(const std::map& files, const String& ext) const; 26 | 27 | private: 28 | const String mLogFolder; 29 | const UInt32 mFileLimit; 30 | }; 31 | } 32 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/cScanFiles.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | namespace vfs 18 | { 19 | //{{{ 20 | class cScanFiles : public iFileManager::iFileCallback, public cRefCount 21 | { 22 | public: 23 | cScanFiles(std::list& files) : Files(files) { } 24 | 25 | NextNode QAPI onFolder(const String& AbsPath, const String& RelPath, const String& Name, const unsigned int Depth) { return eNextNode_NextSibling; } 26 | 27 | NextNode QAPI onFile(const String& AbsPath, const String& RelPath, const String& Name, const String& Ext, const unsigned int Depth) 28 | { 29 | Files.push_back(RelPath + Name + Ext); 30 | return eNextNode_NextChild; 31 | } 32 | 33 | private: 34 | std::list& Files; 35 | }; 36 | //}}} 37 | } -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/cTextLogDriver.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | namespace vfs 18 | { 19 | class cTextLogDriver : public cBaseLogDriver 20 | { 21 | public: 22 | virtual const String getExtension() const { return L"txt"; } 23 | virtual void handleMsg(const iLogDriver::cMsg& msg) const; 24 | 25 | protected: 26 | const std::string getPrefix(const iLogDriver::cMsg& msg) const; 27 | const String getBody(const iLogDriver::cMsg& msg) const; 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/isoTime.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | namespace vfs 18 | { 19 | //{{{ 20 | inline const std::string isoTime(const UInt32 y, const UInt32 m, const UInt32 d, const UInt32 h, const UInt32 n, const UInt32 s) 21 | { 22 | char buf[32]; 23 | sprintf(buf, "%04dy%02dm%02dd - %02dh%02dm%02ds", y, m, d, h, n, s); 24 | return std::string(buf); 25 | } 26 | //}}} 27 | //{{{ 28 | inline const String isoTimeW(const UInt32 y, const UInt32 m, const UInt32 d, const UInt32 h, const UInt32 n, const UInt32 s) 29 | { 30 | Char buf[32]; 31 | swprintf(buf, L"%04dy%02dm%02dd - %02dh%02dm%02ds", y, m, d, h, n, s); 32 | return String(buf); 33 | } 34 | //}}} 35 | } 36 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "stdafx.h" 16 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/KernelFileLogDriver/stdafx.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #if !defined(STDAFX_INCLUDED) 16 | #define STDAFX_INCLUDED 17 | 18 | #include 19 | #include 20 | 21 | extern vfs::iModuleContext::Ptr gModuleContext; 22 | 23 | #include 24 | 25 | #include "..\..\..\..\Shared\utf8cpp\source\utf8.h" 26 | 27 | #include "isoTime.h" 28 | 29 | #include "cBaseLogDriver.h" 30 | #include "cBaseLogDriverCtor.h" 31 | 32 | #include "cLogFolderCleanUp.h" 33 | 34 | #include "cTextLogDriver.h" 35 | #include "cHtmlLogDriver.h" 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/KernelConsoleLogDriver.def: -------------------------------------------------------------------------------- 1 | LIBRARY "vfs_KernelConsoleLogDriver.dll" 2 | 3 | EXPORTS 4 | ;DllCanUnloadNow @1 PRIVATE 5 | DllGetClassObject @2 PRIVATE 6 | ;DllRegisterServer @3 PRIVATE 7 | ;DllUnregisterServer @4 PRIVATE 8 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/KernelConsoleLogDriver.idl: -------------------------------------------------------------------------------- 1 | import "oaidl.idl"; 2 | 3 | import "..\..\KernelTools\KernelTray\KernelTrayInterfaces.idl"; 4 | 5 | [ 6 | uuid(F0E7C951-D8F9-4F21-BF99-C43CF659F9D1), 7 | version(1.0), 8 | helpstring("vfs KernelConsoleLogDriver 1.0 Type Library") 9 | ] 10 | library KERNELCONSOLELOGDRIVERLib 11 | { 12 | importlib("stdole32.tlb"); 13 | importlib("stdole2.tlb"); 14 | 15 | [ 16 | uuid(EBA76BA1-23EB-423C-9A31-8A8C7B0A1AB4), 17 | helpstring("TrayMenuItemCallback Class") 18 | ] 19 | coclass TrayMenuItemCallback 20 | { 21 | [default] interface ITrayMenuItemCallback; 22 | }; 23 | }; 24 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/LogCategories.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | // --- Headers --------------------------------------------------------------------------- 21 | 22 | #include 23 | 24 | // --- Use Namespace --------------------------------------------------------------------- 25 | 26 | using namespace vfs; 27 | 28 | 29 | 30 | 31 | // ======================================================================================= 32 | // === Logging Categories ================================================================ 33 | // ======================================================================================= 34 | 35 | const iLogManager::Category kCtgVisibility = 1u << 0; 36 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/Main.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | // --- Headers --------------------------------------------------------------------------- 21 | 22 | #include 23 | 24 | // --- Use Namespace --------------------------------------------------------------------- 25 | 26 | using namespace vfs; 27 | 28 | extern iModuleInstance::Ptr gModuleContext; 29 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* 16 | ** 17 | */ 18 | 19 | // --- Pre-Compiled Headers -------------------------------------------------------------- 20 | 21 | // Includes just the standard includes to build a pre-compiled header (.pch) which will 22 | // contain the pre-compiled type information. 23 | #include "stdafx.h" 24 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/StdAfx.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | #include // just for _alloca 21 | #include 22 | #include 23 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/TrayMenuItemCallback.rgs: -------------------------------------------------------------------------------- 1 | HKCR 2 | { 3 | vfs.KernelTray.TrayMenuItemCallback.1 = s 'vfs TrayMenuItemCallback' 4 | { 5 | CLSID = s '{EBA76BA1-23EB-423C-9A31-8A8C7B0A1AB4}' 6 | } 7 | vfs.KernelTray.TrayMenuItemCallback = s 'vfs TrayMenuItemCallback' 8 | { 9 | CLSID = s '{EBA76BA1-23EB-423C-9A31-8A8C7B0A1AB4}' 10 | CurVer = s 'vfs.KernelTray.TrayMenuItemCallback.1' 11 | } 12 | NoRemove CLSID 13 | { 14 | ForceRemove {EBA76BA1-23EB-423C-9A31-8A8C7B0A1AB4} = s 'vfs TrayMenuItemCallback' 15 | { 16 | ProgID = s 'vfs.KernelTray.TrayMenuItemCallback.1' 17 | VersionIndependentProgID = s 'vfs.KernelTray.TrayMenuItemCallback' 18 | ForceRemove 'Programmable' 19 | LocalServer32 = s '%EXEMODULE%' 20 | InprocHandler32 = s '%DLLMODULE%' 21 | val AppID = s '{541E6EC1-61CF-4078-95A9-4F4F9300D3D6}' 22 | 'TypeLib' = s '{F0E7C951-D8F9-4F21-BF99-C43CF659F9D1}' 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelConsoleLogDriver/Version.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | **/ 19 | 20 | 21 | 22 | 23 | // ======================================================================================= 24 | // === kVersion ========================================================================== 25 | // ======================================================================================= 26 | 27 | // Version of this plugin/driver. 28 | #define kVersion L"1.13.0.0" 29 | 30 | // These are defined for use in a Windows version resource. Use the above representation 31 | // in C/C++ code. 32 | #define kVersion_ResNum 1,13,0,0 33 | #define kVersion_ResStr "1, 13, 0, 0\0" 34 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelDebugDriver/PSAPIHandler.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------------------- 2 | John Robbins - Microsoft Systems Journal Bugslayer Column - August '98 3 | Copyright 1998, Microsoft Systems Journal. 4 | ----------------------------------------------------------------------*/ 5 | 6 | //PSAPIHandler.h 7 | 8 | BOOL GetLoadedModules ( DWORD dwPID , 9 | UINT uiCount , 10 | HMODULE * paModArray , 11 | LPUINT puiRealCount ); 12 | 13 | DWORD NTGetModuleBaseName ( HANDLE hProcess , 14 | HMODULE hModule , 15 | LPSTR lpBaseName , 16 | DWORD nSize ); 17 | 18 | 19 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelDebugDriver/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* 16 | ** 17 | */ 18 | 19 | // --- Pre-Compiled Headers -------------------------------------------------------------- 20 | 21 | // Includes just the standard includes to build a pre-compiled header (.pch) which will 22 | // contain the pre-compiled type information. 23 | #include "stdafx.h" 24 | -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelDebugDriver/StdAfx.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #if !defined(STDAFX_INCLUDED) 16 | #define STDAFX_INCLUDED 17 | /* 18 | ** 19 | */ 20 | 21 | #include 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | #include 30 | #include 31 | 32 | 33 | 34 | 35 | #endif -------------------------------------------------------------------------------- /KernelSDK/src/coredrivers/win/KernelDebugDriver/Win32Resources.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //{{NO_DEPENDENCIES}} 16 | // Microsoft Developer Studio generated include file. 17 | // Used by DebugDriver.rc 18 | // 19 | #define IDS_DLL_VERSION 1 20 | #define IDS_LOAD_ORDER_GROUP 3 21 | #define IDS_BUILT_WITH_KERNELSDK_VERSION 5 22 | 23 | // Next default values for new objects 24 | // 25 | #ifdef APSTUDIO_INVOKED 26 | #ifndef APSTUDIO_READONLY_SYMBOLS 27 | #define _APS_NEXT_RESOURCE_VALUE 102 28 | #define _APS_NEXT_COMMAND_VALUE 40001 29 | #define _APS_NEXT_CONTROL_VALUE 1000 30 | #define _APS_NEXT_SYMED_VALUE 101 31 | #endif 32 | #endif 33 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelBase/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* 16 | ** 17 | */ 18 | 19 | // --- Pre-Compiled Headers -------------------------------------------------------------- 20 | 21 | // Includes just the standard includes to build a pre-compiled header (.pch) which will 22 | // contain the pre-compiled type information. 23 | #include "stdafx.h" 24 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelBase/StdAfx.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | #include "QKernelBaseEnviron.h" // make sure every fils is compiled with this 21 | #include // just for _alloca 22 | #include 23 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelBase/UpgradeLog.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DrJWCain/VFS/0338626066ad107dbb0ab132ea1735a88e8823ad/KernelSDK/src/kernel/KernelBase/UpgradeLog.htm -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelBase/cLockGuard.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //{{{ headers 16 | #include "stdafx.h" 17 | #include "QKernelBase.h" 18 | //}}} 19 | 20 | using namespace vfs; 21 | 22 | //{{{ 23 | cLockGuard::cLockGuard(cLock * const lock) 24 | : m_Lock(lock) 25 | { 26 | m_Lock->lock(); 27 | } 28 | //}}} 29 | //{{{ 30 | cLockGuard::cLockGuard(const cLockGuard & other) 31 | { 32 | other.m_Lock->lock(); 33 | m_Lock = other.m_Lock; 34 | } 35 | //}}} 36 | //{{{ 37 | cLockGuard::~cLockGuard() 38 | { 39 | m_Lock->unlock(); 40 | } 41 | //}}} 42 | // 43 | //{{{ 44 | void cLockGuard::operator= (const cLockGuard& other) 45 | { 46 | other.m_Lock->lock(); 47 | m_Lock->unlock(); 48 | m_Lock = other.m_Lock; 49 | } 50 | //}}} 51 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelBase/cRational.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | // --- Headers --------------------------------------------------------------------------- 21 | 22 | #include "QKernelBase.h" 23 | 24 | // --- Start of Namespace ---------------------------------------------------------------- 25 | 26 | namespace vfs 27 | { 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | } -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelBase/fatal.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | #include "QKernelBase.h" 21 | 22 | using namespace vfs; 23 | 24 | 25 | #define QKERNELBASEVERIFY(__EXP) { if (!(__EXP)) fatal(__FILE__, __LINE__, L"QKERNELBASEVERIFY expression \"%s\" failed!", L#__EXP); } 26 | #define QKERNELBASEVERIFYMSG(__EXP, __MSG) { if (!(__EXP)) fatal(__FILE__, __LINE__, L"QKERNELBASEVERIFY expression \"%s\" failed! (%s)", L#__EXP, __MSG); } 27 | 28 | 29 | __declspec(noreturn) void fatal( 30 | const char * const srcFilename, 31 | const unsigned long srcLineNumber, 32 | const Char * const msgFormat, 33 | ...); 34 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/Products.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "stdafx.h" 16 | #include "cSystemInfo.h" 17 | 18 | namespace vfs 19 | { 20 | //{{{ 21 | const tProductNameToId kProductNameToIdTable[] = 22 | { 23 | { L"SMB3 Server", eSMB3Server }, 24 | 25 | {NULL, eInvalidProduct } // must be last entry 26 | }; 27 | //}}} 28 | 29 | //{{{ 30 | const tProductNameToOldProductName kProductNameToOldProductNameTable[] = 31 | { 32 | {NULL, NULL} // must be last entry 33 | }; 34 | //}}} 35 | } 36 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* 16 | ** 17 | */ 18 | 19 | // --- Pre-Compiled Headers -------------------------------------------------------------- 20 | 21 | // Includes just the standard includes to build a pre-compiled header (.pch) which will 22 | // contain the pre-compiled type information. 23 | #include "stdafx.h" 24 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/StdAfx.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | */ 19 | 20 | #define QWINBASE_ATL // want WINBASE to bring in ATL headers for us 21 | #include 22 | #include 23 | #include "QKernelExec.h" 24 | #include 25 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/Version.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | /* 17 | ** 18 | **/ 19 | 20 | 21 | 22 | 23 | // ======================================================================================= 24 | // === kVersion ========================================================================== 25 | // ======================================================================================= 26 | 27 | // Version of this plugin/driver. 28 | #define kVersion L"9.1.0.0" 29 | 30 | // These are defined for use in a Windows version resource. Use the above representation 31 | // in C/C++ code. 32 | #define kVersion_ResNum 9,1,0,0 33 | #define kVersion_ResStr "9, 1, 0, 0\0" 34 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/Win32Resources.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //{{NO_DEPENDENCIES}} 16 | // Microsoft Visual C++ generated include file. 17 | // Used by KernelExec.rc 18 | // 19 | #define IDI_APP 103 20 | 21 | // Next default values for new objects 22 | // 23 | #ifdef APSTUDIO_INVOKED 24 | #ifndef APSTUDIO_READONLY_SYMBOLS 25 | #define _APS_NEXT_RESOURCE_VALUE 114 26 | #define _APS_NEXT_COMMAND_VALUE 40006 27 | #define _APS_NEXT_CONTROL_VALUE 1005 28 | #define _APS_NEXT_SYMED_VALUE 101 29 | #endif 30 | #endif 31 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/cException.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Grass Valley, A Belden Brand 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /KernelSDK/src/kernel/KernelExec/msgbox.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 |
9 |
10 |
11 |
vfs
12 |

13 |
14 |
15 |
16 |
17 |

Error

18 |

19 |
20 |