1
0

Dokan api

This commit is contained in:
Scott E. Graves
2017-02-10 15:09:24 -06:00
parent 99da074b21
commit 25bb8b7cc9
20 changed files with 726 additions and 23 deletions

View File

@@ -0,0 +1,64 @@
========================================================================
MICROSOFT FOUNDATION CLASS LIBRARY : SiaDrive.Dokan.Api Project Overview
========================================================================
AppWizard has created this SiaDrive.Dokan.Api DLL for you. This DLL not only
demonstrates the basics of using the Microsoft Foundation classes but
is also a starting point for writing your DLL.
This file contains a summary of what you will find in each of the files that
make up your SiaDrive.Dokan.Api DLL.
SiaDrive.Dokan.Api.vcxproj
This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the
Application Wizard.
SiaDrive.Dokan.Api.vcxproj.filters
This is the filters file for VC++ projects generated using an Application Wizard.
It contains information about the association between the files in your project
and the filters. This association is used in the IDE to show grouping of files with
similar extensions under a specific node (for e.g. ".cpp" files are associated with the
"Source Files" filter).
SiaDrive.Dokan.Api.cpp
This is the main DLL source file that contains the definition of
DllMain().
SiaDrive.Dokan.Api.rc
This is a listing of all of the Microsoft Windows resources that the
program uses. It includes the icons, bitmaps, and cursors that are stored
in the RES subdirectory. This file can be directly edited in Microsoft
Visual C++.
res\SiaDriveDokanApi.rc2
This file contains resources that are not edited by Microsoft
Visual C++. You should place all resources not editable by
the resource editor in this file.
SiaDrive.Dokan.Api.def
This file contains information about the DLL that must be
provided to run with Microsoft Windows. It defines parameters
such as the name and description of the DLL. It also exports
functions from the DLL.
/////////////////////////////////////////////////////////////////////////////
Other standard files:
StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named SiaDrive.Dokan.Api.pch and a precompiled types file named StdAfx.obj.
Resource.h
This is the standard header file, which defines new resource IDs.
Microsoft Visual C++ reads and updates this file.
/////////////////////////////////////////////////////////////////////////////
Other notes:
AppWizard uses "TODO:" to indicate parts of the source code you
should add to or customize.
/////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,17 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by SiaDrive.Dokan.Api.rc
//
#define IDP_SOCKETS_INIT_FAILED 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 2000
#define _APS_NEXT_CONTROL_VALUE 2000
#define _APS_NEXT_SYMED_VALUE 2000
#define _APS_NEXT_COMMAND_VALUE 32771
#endif
#endif

View File

@@ -0,0 +1,33 @@
#include "stdafx.h"
#include "SiaDokenDrive.h"
#include <dokan\dokan.h>
#include <dokan\fileinfo.h>
using namespace Sia::Api;
using namespace Sia::Api::Dokan;
static NTSTATUS DOKAN_CALLBACK _ZwCreateFile(
LPCWSTR FileName,
PDOKAN_IO_SECURITY_CONTEXT SecurityContext,
ACCESS_MASK DesiredAccess,
ULONG FileAttributes,
ULONG ShareAccess,
ULONG CreateDisposition,
ULONG CreateOptions,
PDOKAN_FILE_INFO DokanFileInfo)
{
}
CSiaDokenDrive::CSiaDokenDrive(CSiaApi& siaApi) :
_siaApi(siaApi)
{
}
CSiaDokenDrive::~CSiaDokenDrive()
{
}
void CSiaDokenDrive::InitializeOperations()
{
}

View File

@@ -0,0 +1,23 @@
#pragma once
#include <SiaApi.h>
NS_BEGIN(Sia)
NS_BEGIN(Api)
NS_BEGIN(Dokan)
class AFX_EXT_CLASS CSiaDokenDrive
{
public:
CSiaDokenDrive(CSiaApi& siaApi);
public:
~CSiaDokenDrive();
private:
CSiaApi& _siaApi;
private:
void InitializeOperations();
};
NS_END(3)

View File

@@ -0,0 +1,10 @@
// SiaDrive.Dokan.Api.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

View File

@@ -0,0 +1,6 @@
; SiaDrive.Dokan.Api.def : Declares the module parameters for the DLL.
LIBRARY
EXPORTS
; Explicit exports can go here

Binary file not shown.

View File

@@ -0,0 +1,240 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}</ProjectGuid>
<RootNamespace>SiaDriveDokanApi</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<Keyword>MFCDLLProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_AFXEXT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\3rd-party\Dokan Library-1.0.2\include;..\SiaDrive.Api;..\3rd-party\ttmath-0.9.3</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\SiaDrive.Dokan.Api.def</ModuleDefinitionFile>
<AdditionalDependencies>..\3rd-party\Dokan Library-1.0.2\x86\lib\dokan1.lib</AdditionalDependencies>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;_AFXEXT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\3rd-party\Dokan Library-1.0.2\include;..\SiaDrive.Api;..\3rd-party\ttmath-0.9.3</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\SiaDrive.Dokan.Api.def</ModuleDefinitionFile>
<AdditionalDependencies>..\3rd-party\Dokan Library-1.0.2\lib\dokan1.lib</AdditionalDependencies>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_AFXEXT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\3rd-party\Dokan Library-1.0.2\include;..\SiaDrive.Api;..\3rd-party\ttmath-0.9.3</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\SiaDrive.Dokan.Api.def</ModuleDefinitionFile>
<AdditionalDependencies>..\3rd-party\Dokan Library-1.0.2\x86\lib\dokan1.lib</AdditionalDependencies>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_AFXEXT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\3rd-party\Dokan Library-1.0.2\include;..\SiaDrive.Api;..\3rd-party\ttmath-0.9.3</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\SiaDrive.Dokan.Api.def</ModuleDefinitionFile>
<AdditionalDependencies>..\3rd-party\Dokan Library-1.0.2\lib\dokan1.lib</AdditionalDependencies>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="SiaDokenDrive.cpp" />
<ClCompile Include="SiaDrive.Dokan.Api.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="res\SiaDriveDokanApi.rc2" />
<None Include="SiaDrive.Dokan.Api.def" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Resource.h" />
<ClInclude Include="SiaDokenDrive.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SiaDrive.Dokan.Api.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SiaDrive.Api\SiaDrive.Api.vcxproj">
<Project>{aa357195-d159-4cb7-bfff-cc8666d7ad77}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="SiaDrive.Dokan.Api.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="dllmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SiaDokenDrive.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="SiaDrive.Dokan.Api.def">
<Filter>Source Files</Filter>
</None>
<None Include="res\SiaDriveDokanApi.rc2">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SiaDokenDrive.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SiaDrive.Dokan.Api.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,64 @@
// dllmain.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include <afxwin.h>
#include <afxdllx.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
static AFX_EXTENSION_MODULE SiaDriveDokanApiDLL = { NULL, NULL };
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
// Remove this if you use lpReserved
UNREFERENCED_PARAMETER(lpReserved);
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("SiaDrive.Dokan.Api.DLL Initializing!\n");
// Extension DLL one-time initialization
if (!AfxInitExtensionModule(SiaDriveDokanApiDLL, hInstance))
return 0;
// Insert this DLL into the resource chain
// NOTE: If this Extension DLL is being implicitly linked to by
// an MFC Regular DLL (such as an ActiveX Control)
// instead of an MFC application, then you will want to
// remove this line from DllMain and put it in a separate
// function exported from this Extension DLL. The Regular DLL
// that uses this Extension DLL should then explicitly call that
// function to initialize this Extension DLL. Otherwise,
// the CDynLinkLibrary object will not be attached to the
// Regular DLL's resource chain, and serious problems will
// result.
new CDynLinkLibrary(SiaDriveDokanApiDLL);
// Sockets initialization
// NOTE: If this Extension DLL is being implicitly linked to by
// an MFC Regular DLL (such as an ActiveX Control)
// instead of an MFC application, then you will want to
// remove the following lines from DllMain and put them in a separate
// function exported from this Extension DLL. The Regular DLL
// that uses this Extension DLL should then explicitly call that
// function to initialize this Extension DLL.
if (!AfxSocketInit())
{
return FALSE;
}
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("SiaDrive.Dokan.Api.DLL Terminating!\n");
// Terminate the library before destructors are called
AfxTermExtensionModule(SiaDriveDokanApiDLL);
}
return 1; // ok
}

Binary file not shown.

View File

@@ -0,0 +1,7 @@
// stdafx.cpp : source file that includes just the standard includes
// SiaDrive.Dokan.Api.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"

View File

@@ -0,0 +1,40 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
#pragma once
#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#endif
#include "targetver.h"
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxole.h> // MFC OLE classes
#include <afxodlgs.h> // MFC OLE dialog classes
#include <afxdisp.h> // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT
#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h> // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h> // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#endif
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <afxsock.h> // MFC socket extensions

View File

@@ -0,0 +1,8 @@
#pragma once
// Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h>

View File

@@ -19,6 +19,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests", "UnitTests\Unit
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SiaDrive.Api", "SiaDrive.Api\SiaDrive.Api.vcxproj", "{AA357195-D159-4CB7-BFFF-CC8666D7AD77}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SiaDrive.Dokan.Api", "SiaDrive.Dokan.Api\SiaDrive.Dokan.Api.vcxproj", "{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -563,6 +565,126 @@ Global
{AA357195-D159-4CB7-BFFF-CC8666D7AD77}.Release|x64.Build.0 = Release|x64
{AA357195-D159-4CB7-BFFF-CC8666D7AD77}.Release|x86.ActiveCfg = Release|Win32
{AA357195-D159-4CB7-BFFF-CC8666D7AD77}.Release|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Debug|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Debug|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Debug|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Debug|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL OpenSSL|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL Windows SSPI|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL wolfSSL|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL wolfSSL|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug - DLL wolfSSL|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Debug|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL - DLL LibSSH2|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL - DLL LibSSH2|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL OpenSSL|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI - DLL WinIDN|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI - DLL WinIDN|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL Windows SSPI|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL wolfSSL|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL wolfSSL|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL wolfSSL|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release - DLL wolfSSL|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.DLL Release|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL OpenSSL|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - DLL Windows SSPI|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB OpenSSL|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB wolfSSL|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB wolfSSL|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug - LIB wolfSSL|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug|x64.ActiveCfg = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug|x64.Build.0 = Debug|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug|x86.ActiveCfg = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Debug|x86.Build.0 = Debug|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL - DLL LibSSH2|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL - DLL LibSSH2|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL OpenSSL|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI - DLL WinIDN|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI - DLL WinIDN|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - DLL Windows SSPI|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL - LIB LibSSH2|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL - LIB LibSSH2|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB OpenSSL|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB wolfSSL|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB wolfSSL|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB wolfSSL|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release - LIB wolfSSL|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.LIB Release|x86.Build.0 = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Release|x64.ActiveCfg = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Release|x64.Build.0 = Release|x64
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Release|x86.ActiveCfg = Release|Win32
{B3DF927F-A1CE-4F50-A621-A4C3A06E4F8A}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -53,10 +53,10 @@
<button ID="CreateWalletButton">Create</button>
</div>
<div id="unlock_wallet" style="display: none">
<div id="unlock_wallet" style="display: none" width="100%">
<h3>Unlock Wallet</h3>
<p>Enter wallet password and click 'Unlock' to continue.</p>
<input type="password" width="100%" id="WalletUnlockPwd" />
<input type="password" id="WalletUnlockPwd" style="width: 100%"/><br /><br />
<button ID="UnlockWalletButton">Unlock</button>
</div>

View File

@@ -225,6 +225,9 @@
<ProjectReference Include="..\SiaDrive.Api\SiaDrive.Api.vcxproj">
<Project>{aa357195-d159-4cb7-bfff-cc8666d7ad77}</Project>
</ProjectReference>
<ProjectReference Include="..\SiaDrive.Dokan.Api\SiaDrive.Dokan.Api.vcxproj">
<Project>{b3df927f-a1ce-4f50-a621-a4c3a06e4f8a}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@@ -209,6 +209,7 @@ HRESULT CSiaDriveDlg::OnButtonUnlockWallet(IHTMLElement* /*pElement*/)
_unlockWalletPwd = L"";
UpdateData(FALSE);
AfxMessageBox(L"Invalid password entered");
SetFocusToElement(L"WalletUnlockPwd");
}
return S_OK;
@@ -278,7 +279,7 @@ void CSiaDriveDlg::OnTimer(UINT_PTR nIDEvent)
}
}
bool CSiaDriveDlg::DisplaySiaInfo()
bool CSiaDriveDlg::UpdateSiaInfo()
{
_serverVersion = _siaApi.GetServerVersion().c_str();
if (_serverVersion.GetLength())
@@ -311,7 +312,7 @@ bool CSiaDriveDlg::DisplaySiaInfo()
bool CSiaDriveDlg::UpdateUi(const bool& refresh)
{
bool ret = DisplaySiaInfo();
bool ret = UpdateSiaInfo();
if (ret)
{
if (_connected)
@@ -351,11 +352,6 @@ HRESULT CSiaDriveDlg::GetDomNodeAndElementById(const String& id, CComPtr<IHTMLDO
return hr;
}
void CSiaDriveDlg::DisplayCreateWallet()
{
SetMainWindow(L"create_wallet");
}
void CSiaDriveDlg::RemoveDomNodeById(const String& id)
{
CComPtr<IHTMLDOMNode> element;
@@ -376,6 +372,11 @@ void CSiaDriveDlg::RemoveCreateWalletItems()
RemoveDomNodeById(L"disp_wallet_seed");
}
void CSiaDriveDlg::DisplayCreateWallet()
{
SetMainWindow(L"create_wallet");
}
void CSiaDriveDlg::DisplayWalletTab()
{
if (_siaApi.GetWallet()->GetCreated())
@@ -396,6 +397,20 @@ void CSiaDriveDlg::DisplayWalletTab()
}
}
void CSiaDriveDlg::DisplaySeedCreated(const String& seed)
{
SetMainWindow(L"disp_wallet_seed");
_walletCreatedSeed = seed.c_str();
UpdateData(FALSE);
}
void CSiaDriveDlg::DisplayUnlockWallet()
{
KillTimer(IDT_UPDATE);
SetMainWindow(L"unlock_wallet");
SetFocusToElement(L"WalletUnlockPwd");
}
void CSiaDriveDlg::SetMainWindow(const String& name)
{
CComPtr<IHTMLDOMNode> mainNode;
@@ -451,19 +466,6 @@ void CSiaDriveDlg::SetMainWindow(const String& name)
}
}
void CSiaDriveDlg::DisplaySeedCreated(const String& seed)
{
SetMainWindow(L"disp_wallet_seed");
_walletCreatedSeed = seed.c_str();
UpdateData(FALSE);
}
void CSiaDriveDlg::DisplayUnlockWallet()
{
KillTimer(IDT_UPDATE);
SetMainWindow(L"unlock_wallet");
}
HRESULT CSiaDriveDlg::OnButtonCreateWallet(IHTMLElement* pElement)
{
if (!_seedCreation)

View File

@@ -48,7 +48,7 @@ protected:
private:
void DisplayCreateWallet();
void DisplaySeedCreated(const String& seed);
bool DisplaySiaInfo();
bool UpdateSiaInfo();
void DisplayUnlockWallet();
void DisplayWalletTab();
void RemoveCreateWalletItems();

View File

@@ -183,6 +183,9 @@
<ProjectReference Include="..\SiaDrive.Api\SiaDrive.Api.vcxproj">
<Project>{aa357195-d159-4cb7-bfff-cc8666d7ad77}</Project>
</ProjectReference>
<ProjectReference Include="..\SiaDrive.Dokan.Api\SiaDrive.Dokan.Api.vcxproj">
<Project>{b3df927f-a1ce-4f50-a621-a4c3a06e4f8a}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">