mirror of
https://github.com/tenrok/Rfid-Credential-Provider.git
synced 2026-06-23 20:50:32 +03:00
Z-2 USB Reader
This commit is contained in:
+1
-1
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
#ignore thumbnails created by windows
|
#ignore thumbnails created by windows
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
#Ignore files build by Visual Studio
|
#Ignore files build by Visual Studio
|
||||||
@@ -27,3 +26,4 @@ obj/
|
|||||||
[Rr]elease*/
|
[Rr]elease*/
|
||||||
_ReSharper*/
|
_ReSharper*/
|
||||||
[Tt]est[Rr]esult*
|
[Tt]est[Rr]esult*
|
||||||
|
.vs
|
||||||
|
|||||||
@@ -23,23 +23,23 @@ namespace RegisterSystem
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Console.WriteLine("Generating Registry Structure...");
|
Console.WriteLine("Generating Registry Structure...");
|
||||||
RegistryKey Base = Software.CreateSubKey("Tyler Menezes");
|
RegistryKey Base = Software.CreateSubKey("KORNET");
|
||||||
Base = Base.CreateSubKey("Rfid Login");
|
Base = Base.CreateSubKey("WinLogin");
|
||||||
|
|
||||||
Console.WriteLine("Adding default configuration...");
|
Console.WriteLine("Adding default configuration...");
|
||||||
Base.SetValue("Port", "COM3");
|
Base.SetValue("Port", "COM3");
|
||||||
Base.SetValue("Message Start", 0x02);
|
//Base.SetValue("Message Start", 0x02);
|
||||||
Base.SetValue("Message End", 0x0d);
|
//Base.SetValue("Message End", 0x0d);
|
||||||
|
|
||||||
Console.WriteLine("Reversing Entropy...");
|
Console.WriteLine("Reversing Entropy...");
|
||||||
string randomSalt = Hash(((new Random()).Next(int.MaxValue) + DateTime.Now.Ticks).ToString());
|
string randomSalt = Hash((new Random().Next(int.MaxValue) + DateTime.Now.Ticks).ToString());
|
||||||
|
|
||||||
Console.WriteLine("Enumerating the null set...");
|
Console.WriteLine("Enumerating the null set...");
|
||||||
Base = Base.CreateSubKey("Keys");
|
Base = Base.CreateSubKey("Keys");
|
||||||
Base.SetValue("Salt", randomSalt);
|
Base.SetValue("Salt", randomSalt);
|
||||||
|
|
||||||
Console.WriteLine("Doing magical Windows-y things...");
|
Console.WriteLine("Doing magical Windows-y things...");
|
||||||
string provider = (Environment.Is64BitOperatingSystem)? "64" : "32";
|
string provider = Environment.Is64BitOperatingSystem ? "64" : "32";
|
||||||
provider = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\CredentialProviders\\" + provider + "\\RfidCredentialProvider.dll";
|
provider = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\CredentialProviders\\" + provider + "\\RfidCredentialProvider.dll";
|
||||||
string to = Environment.GetEnvironmentVariable("SystemRoot") + "\\System32\\RfidCredentialProvider.dll";
|
string to = Environment.GetEnvironmentVariable("SystemRoot") + "\\System32\\RfidCredentialProvider.dll";
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyTitle("RegisterSystem")]
|
[assembly: AssemblyTitle("RegisterSystem")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Tyler Menezes")]
|
[assembly: AssemblyCompany("KORNET")]
|
||||||
[assembly: AssemblyProduct("RegisterSystem")]
|
[assembly: AssemblyProduct("RegisterSystem")]
|
||||||
[assembly: AssemblyCopyright("Copyright © Tyler Menezes 2011")]
|
[assembly: AssemblyCopyright("Copyright © KORNET 2019")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,48 +0,0 @@
|
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- Select a Product Configuration -->
|
|
||||||
<InstallShieldProductConfiguration>Express</InstallShieldProductConfiguration>
|
|
||||||
<!-- Select a Visual Studio Configuration / InstallShield Release -->
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<InstallShieldRelease>$(Configuration)</InstallShieldRelease>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<!-- The InstallShieldProject item selects the project to build -->
|
|
||||||
<InstallShieldProject Include="$(MSBuildProjectDirectory)\$(MSBuildProjectName).isl"/>
|
|
||||||
<!-- The InstallShieldReleaseFlags sets Release Flags -->
|
|
||||||
<!--<InstallShieldReleaseFlags Include=""/>-->
|
|
||||||
<!-- The InstallShieldMergeModulePath specifies what directories are
|
|
||||||
searched for Merge Modules -->
|
|
||||||
<!--<InstallShieldMergeModulePath Include=""/>-->
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<!-- The ProjectReference items refer to any Visual Studio solutions you want to automatically probe for Project Output Groups. -->
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<!-- The TaggedOutputs items allow you to explicitly add extra files to output groups. Each item must include both Name and OutputGroup, as well as TargetPath metadata values. -->
|
|
||||||
<!--<TaggedOutputs Include="C:\My Test Exe.exe">
|
|
||||||
<Name>My Test Project</Name>
|
|
||||||
<OutputGroup>Primary output</OutputGroup>
|
|
||||||
<TargetPath>My Test Exe.exe</TargetPath>
|
|
||||||
</TaggedOutputs> -->
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildExtensionsPath32)\InstallShield\2011Limited\InstallShield.targets"/>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\Manager\TestWizard\TestWizard.csproj">
|
|
||||||
<Name>TestWizard</Name>
|
|
||||||
<Project>{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Manager\Wizard.Controls\Wizard.Controls.csproj">
|
|
||||||
<Name>Wizard.Controls</Name>
|
|
||||||
<Project>{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Manager\Wizard.UI\Wizard.UI.csproj">
|
|
||||||
<Name>Wizard.UI</Name>
|
|
||||||
<Project>{80614F74-563D-418E-9BF6-1294F73521C0}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\RegisterSystem\RegisterSystem.csproj">
|
|
||||||
<Name>RegisterSystem1</Name>
|
|
||||||
<Project>{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 84 KiB |
Binary file not shown.
@@ -32,29 +32,24 @@ namespace TestWizard
|
|||||||
public RFID(int port)
|
public RFID(int port)
|
||||||
{
|
{
|
||||||
Port = "COM" + port;
|
Port = "COM" + port;
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RFID(string port)
|
public RFID(string port)
|
||||||
{
|
{
|
||||||
Port = port;
|
Port = port;
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void init()
|
private void init()
|
||||||
{
|
{
|
||||||
p = new SerialPort(Port, baud, parity, dataBits, stopBits);
|
p = new SerialPort(Port, baud, parity, dataBits, stopBits);
|
||||||
|
|
||||||
if (!continueReading)
|
if (!continueReading)
|
||||||
{
|
{
|
||||||
continueReading = true;
|
continueReading = true;
|
||||||
readThread = new Thread(Read);
|
readThread = new Thread(Read);
|
||||||
readThread.Start();
|
readThread.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
@@ -64,7 +59,6 @@ namespace TestWizard
|
|||||||
|
|
||||||
private void Read()
|
private void Read()
|
||||||
{
|
{
|
||||||
|
|
||||||
p.Open();
|
p.Open();
|
||||||
|
|
||||||
while (continueReading)
|
while (continueReading)
|
||||||
@@ -72,10 +66,11 @@ namespace TestWizard
|
|||||||
string result = p.ReadLine();
|
string result = p.ReadLine();
|
||||||
|
|
||||||
// Strip out meta-text
|
// Strip out meta-text
|
||||||
result = result.Replace("\u0003", "");
|
//result = result.Replace("\u0003", "");
|
||||||
result = result.Replace("\u0002", "");
|
//result = result.Replace("\u0002", "");
|
||||||
result = result.Replace("\r", "");
|
result = result.Replace("\r", "");
|
||||||
result = result.Replace("\n", "");
|
result = result.Replace("\n", "");
|
||||||
|
//result = string.Concat(result.Select(x => ((int)x).ToString("x")));
|
||||||
|
|
||||||
IncomingRfid(result);
|
IncomingRfid(result);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace TestWizard
|
|||||||
class RegistryAccess
|
class RegistryAccess
|
||||||
{
|
{
|
||||||
private static bool isBoxed = (IntPtr.Size == 4 && !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")));
|
private static bool isBoxed = (IntPtr.Size == 4 && !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")));
|
||||||
public static readonly RegistryKey Primary = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, (isBoxed) ? RegistryView.Registry64 : RegistryView.Default).OpenSubKey("SOFTWARE\\Tyler Menezes\\Rfid Login", true);
|
public static readonly RegistryKey Primary = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, (isBoxed) ? RegistryView.Registry64 : RegistryView.Default).OpenSubKey("SOFTWARE\\KORNET\\WinLogin", true);
|
||||||
private static readonly RegistryKey Keys = Primary.OpenSubKey("Keys", true);
|
private static readonly RegistryKey Keys = Primary.OpenSubKey("Keys", true);
|
||||||
|
|
||||||
private string RfidToken;
|
private string RfidToken;
|
||||||
@@ -18,7 +18,6 @@ namespace TestWizard
|
|||||||
RfidToken = token;
|
RfidToken = token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public string Username
|
public string Username
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -64,7 +63,6 @@ namespace TestWizard
|
|||||||
e[i] = (char)(e[i] ^ key[i % key.Length]);
|
e[i] = (char)(e[i] ^ key[i % key.Length]);
|
||||||
e[i] = (char)(((int)e[i]) + 1);
|
e[i] = (char)(((int)e[i]) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new string(e);
|
return new string(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +75,6 @@ namespace TestWizard
|
|||||||
e[i] = (char)(((int)e[i]) - 1);
|
e[i] = (char)(((int)e[i]) - 1);
|
||||||
e[i] = (char)(e[i] ^ key[i % key.Length]);
|
e[i] = (char)(e[i] ^ key[i % key.Length]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new string(e);
|
return new string(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,48 +42,6 @@
|
|||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile />
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<DocumentationFile />
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn />
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile />
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<DocumentationFile />
|
|
||||||
<DebugSymbols>false</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn />
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>none</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
|||||||
@@ -41,48 +41,6 @@
|
|||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile />
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<DocumentationFile />
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn />
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile />
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<DocumentationFile />
|
|
||||||
<DebugSymbols>false</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn />
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>none</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
|||||||
@@ -41,48 +41,6 @@
|
|||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile />
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<DocumentationFile />
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn />
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile />
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<DocumentationFile />
|
|
||||||
<DebugSymbols>false</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn />
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>none</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ int _tmain(int argc, _TCHAR* argv[])
|
|||||||
credUiInfo.pszCaptionText = TEXT("WinCred UI Demo");
|
credUiInfo.pszCaptionText = TEXT("WinCred UI Demo");
|
||||||
credUiInfo.pszMessageText = TEXT("Example of RFID!");
|
credUiInfo.pszMessageText = TEXT("Example of RFID!");
|
||||||
credUiInfo.cbSize = sizeof(credUiInfo);
|
credUiInfo.cbSize = sizeof(credUiInfo);
|
||||||
credUiInfo.hbmBanner = NULL;
|
credUiInfo.hbmBanner = nullptr;
|
||||||
credUiInfo.hwndParent = NULL;
|
credUiInfo.hwndParent = nullptr;
|
||||||
|
|
||||||
CredUIPromptForWindowsCredentials(&credUiInfo, 0, &authPackage, NULL, 0, &authBuffer, &authBufferSize, &save, 0);
|
CredUIPromptForWindowsCredentials(&credUiInfo, 0, &authPackage, nullptr, 0, &authBuffer, &authBufferSize, &save, 0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,395 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="big5"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="CredUILauncher"
|
|
||||||
ProjectGUID="{D1F100CA-0215-405D-9B43-7C0AAAAC8880}"
|
|
||||||
RootNamespace="CredUILauncher"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="CredUi.lib"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="CredUi.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="CredUi.lib"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="CredUi.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CredUILauncher.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\stdafx.cpp"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\stdafx.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\targetver.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\ReadMe.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@@ -28,19 +28,23 @@
|
|||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
@@ -94,13 +98,15 @@
|
|||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<OmitFramePointers />
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>CredUi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>CredUi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
<ImageHasSafeExceptionHandlers />
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@@ -113,6 +119,7 @@
|
|||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<OmitFramePointers />
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>CredUi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>CredUi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
@@ -121,6 +128,7 @@
|
|||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
<ImageHasSafeExceptionHandlers />
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
@@ -129,7 +137,7 @@
|
|||||||
</Midl>
|
</Midl>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
@@ -151,7 +159,7 @@
|
|||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
|||||||
Binary file not shown.
@@ -18,8 +18,7 @@ static LONG g_cRef = 0; // global dll reference count
|
|||||||
|
|
||||||
extern HRESULT RfidProvider_CreateInstance(REFIID riid, void** ppv);
|
extern HRESULT RfidProvider_CreateInstance(REFIID riid, void** ppv);
|
||||||
|
|
||||||
HINSTANCE g_hinst = NULL; // global dll hinstance
|
HINSTANCE g_hinst = nullptr; // global dll hinstance
|
||||||
|
|
||||||
|
|
||||||
class CClassFactory : public IClassFactory
|
class CClassFactory : public IClassFactory
|
||||||
{
|
{
|
||||||
@@ -98,7 +97,6 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
LONG _cRef;
|
LONG _cRef;
|
||||||
|
|
||||||
friend HRESULT CClassFactory_CreateInstance(REFCLSID rclsid, REFIID riid, void** ppv);
|
friend HRESULT CClassFactory_CreateInstance(REFCLSID rclsid, REFIID riid, void** ppv);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -134,7 +132,6 @@ BOOL WINAPI DllMain(
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(pReserved);
|
UNREFERENCED_PARAMETER(pReserved);
|
||||||
|
|
||||||
switch (dwReason)
|
switch (dwReason)
|
||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
@@ -145,10 +142,8 @@ BOOL WINAPI DllMain(
|
|||||||
case DLL_THREAD_DETACH:
|
case DLL_THREAD_DETACH:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_hinst = hinstDll;
|
g_hinst = hinstDll;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DllAddRef()
|
void DllAddRef()
|
||||||
@@ -165,7 +160,6 @@ void DllRelease()
|
|||||||
STDAPI DllCanUnloadNow()
|
STDAPI DllCanUnloadNow()
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
if (g_cRef > 0)
|
if (g_cRef > 0)
|
||||||
{
|
{
|
||||||
hr = S_FALSE; // cocreated objects still exist, don't unload
|
hr = S_FALSE; // cocreated objects still exist, don't unload
|
||||||
@@ -174,7 +168,6 @@ STDAPI DllCanUnloadNow()
|
|||||||
{
|
{
|
||||||
hr = S_OK; // refcount is zero, ok to unload
|
hr = S_OK; // refcount is zero, ok to unload
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,4 +176,3 @@ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv)
|
|||||||
{
|
{
|
||||||
return CClassFactory_CreateInstance(rclsid, riid, ppv);
|
return CClassFactory_CreateInstance(rclsid, riid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,7 @@ LONG GetDWORDRegKey(HKEY hKey, const std::wstring &strValueName, DWORD &nValue,
|
|||||||
nValue = nDefaultValue;
|
nValue = nDefaultValue;
|
||||||
DWORD dwBufferSize(sizeof(DWORD));
|
DWORD dwBufferSize(sizeof(DWORD));
|
||||||
DWORD nResult(0);
|
DWORD nResult(0);
|
||||||
LONG nError = ::RegQueryValueExW(hKey,
|
LONG nError = ::RegQueryValueExW(hKey, strValueName.c_str(), nullptr, nullptr, reinterpret_cast<LPBYTE>(&nResult), &dwBufferSize);
|
||||||
strValueName.c_str(),
|
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
reinterpret_cast<LPBYTE>(&nResult),
|
|
||||||
&dwBufferSize);
|
|
||||||
if (ERROR_SUCCESS == nError)
|
if (ERROR_SUCCESS == nError)
|
||||||
{
|
{
|
||||||
nValue = nResult;
|
nValue = nResult;
|
||||||
@@ -21,7 +16,6 @@ LONG GetDWORDRegKey(HKEY hKey, const std::wstring &strValueName, DWORD &nValue,
|
|||||||
return nError;
|
return nError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LONG GetBoolRegKey(HKEY hKey, const std::wstring& strValueName, bool& bValue, bool bDefaultValue)
|
LONG GetBoolRegKey(HKEY hKey, const std::wstring& strValueName, bool& bValue, bool bDefaultValue)
|
||||||
{
|
{
|
||||||
DWORD nDefValue((bDefaultValue) ? 1 : 0);
|
DWORD nDefValue((bDefaultValue) ? 1 : 0);
|
||||||
@@ -34,14 +28,13 @@ LONG GetBoolRegKey(HKEY hKey, const std::wstring &strValueName, bool &bValue, bo
|
|||||||
return nError;
|
return nError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LONG GetStringRegKey(HKEY hKey, const std::wstring& strValueName, std::wstring& strValue, const std::wstring& strDefaultValue)
|
LONG GetStringRegKey(HKEY hKey, const std::wstring& strValueName, std::wstring& strValue, const std::wstring& strDefaultValue)
|
||||||
{
|
{
|
||||||
strValue = strDefaultValue;
|
strValue = strDefaultValue;
|
||||||
WCHAR szBuffer[512];
|
WCHAR szBuffer[512];
|
||||||
DWORD dwBufferSize = sizeof(szBuffer);
|
DWORD dwBufferSize = sizeof(szBuffer);
|
||||||
ULONG nError;
|
ULONG nError;
|
||||||
nError = RegQueryValueExW(hKey, strValueName.c_str(), 0, NULL, (LPBYTE)szBuffer, &dwBufferSize);
|
nError = RegQueryValueExW(hKey, strValueName.c_str(), nullptr, nullptr, (LPBYTE)szBuffer, &dwBufferSize);
|
||||||
if (ERROR_SUCCESS == nError)
|
if (ERROR_SUCCESS == nError)
|
||||||
{
|
{
|
||||||
strValue = szBuffer;
|
strValue = szBuffer;
|
||||||
@@ -55,9 +48,7 @@ std::string GetCharRegKey(HKEY hKey, const std::wstring &strValueName)
|
|||||||
memset(&szBuffer, 0x00, 512);
|
memset(&szBuffer, 0x00, 512);
|
||||||
DWORD dwBufferSize = sizeof(szBuffer);
|
DWORD dwBufferSize = sizeof(szBuffer);
|
||||||
ULONG nError;
|
ULONG nError;
|
||||||
nError = RegQueryValueExW(hKey, strValueName.c_str(), 0, NULL, (LPBYTE)szBuffer, &dwBufferSize);
|
nError = RegQueryValueExW(hKey, strValueName.c_str(), nullptr, nullptr, (LPBYTE)szBuffer, &dwBufferSize);
|
||||||
|
|
||||||
std::string s(szBuffer);
|
std::string s(szBuffer);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,13 +14,11 @@
|
|||||||
extern HINSTANCE hInstance;
|
extern HINSTANCE hInstance;
|
||||||
typedef int (WINAPI* PFRUNGATEFRAMEWORKPWDRESET) (HWND, PWSTR, PWSTR, PWSTR);
|
typedef int (WINAPI* PFRUNGATEFRAMEWORKPWDRESET) (HWND, PWSTR, PWSTR, PWSTR);
|
||||||
|
|
||||||
|
|
||||||
RfidCredential::RfidCredential() :
|
RfidCredential::RfidCredential() :
|
||||||
_cRef(1),
|
_cRef(1),
|
||||||
_pCredProvCredentialEvents(NULL)
|
_pCredProvCredentialEvents(NULL)
|
||||||
{
|
{
|
||||||
DllAddRef();
|
DllAddRef();
|
||||||
|
|
||||||
ZeroMemory(_rgCredProvFieldDescriptors, sizeof(_rgCredProvFieldDescriptors));
|
ZeroMemory(_rgCredProvFieldDescriptors, sizeof(_rgCredProvFieldDescriptors));
|
||||||
ZeroMemory(_rgFieldStatePairs, sizeof(_rgFieldStatePairs));
|
ZeroMemory(_rgFieldStatePairs, sizeof(_rgFieldStatePairs));
|
||||||
ZeroMemory(_rgFieldStrings, sizeof(_rgFieldStrings));
|
ZeroMemory(_rgFieldStrings, sizeof(_rgFieldStrings));
|
||||||
@@ -33,7 +31,6 @@ RfidCredential::~RfidCredential()
|
|||||||
CoTaskMemFree(_rgFieldStrings[i]);
|
CoTaskMemFree(_rgFieldStrings[i]);
|
||||||
CoTaskMemFree(_rgCredProvFieldDescriptors[i].pszLabel);
|
CoTaskMemFree(_rgCredProvFieldDescriptors[i].pszLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
DllRelease();
|
DllRelease();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,17 +45,13 @@ HRESULT RfidCredential::Initialize(
|
|||||||
PWSTR pwzDomain
|
PWSTR pwzDomain
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
||||||
UNREFERENCED_PARAMETER(pwzPassword);
|
UNREFERENCED_PARAMETER(pwzPassword);
|
||||||
|
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
for (DWORD i = 0; SUCCEEDED(hr) && i < ARRAYSIZE(_rgCredProvFieldDescriptors); i++)
|
for (DWORD i = 0; SUCCEEDED(hr) && i < ARRAYSIZE(_rgCredProvFieldDescriptors); i++)
|
||||||
{
|
{
|
||||||
_rgFieldStatePairs[i] = rgfsp[i];
|
_rgFieldStatePairs[i] = rgfsp[i];
|
||||||
hr = FieldDescriptorCopy(rgcpfd[i], &_rgCredProvFieldDescriptors[i]);
|
hr = FieldDescriptorCopy(rgcpfd[i], &_rgCredProvFieldDescriptors[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
username = pwzUsername;
|
username = pwzUsername;
|
||||||
password = pwzPassword;
|
password = pwzPassword;
|
||||||
domain = pwzDomain;
|
domain = pwzDomain;
|
||||||
@@ -73,35 +66,37 @@ HRESULT RfidCredential::Initialize(
|
|||||||
}
|
}
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
if(!username){
|
if (!username)
|
||||||
|
{
|
||||||
hr = SHStrDupW(L"Swipe your registered RFID credential now.", &_rgFieldStrings[SFI_DETAILS]);
|
hr = SHStrDupW(L"Swipe your registered RFID credential now.", &_rgFieldStrings[SFI_DETAILS]);
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
hr = SHStrDupW(loginString, &_rgFieldStrings[SFI_DETAILS]);
|
hr = SHStrDupW(loginString, &_rgFieldStrings[SFI_DETAILS]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
if(!username){
|
if (!username)
|
||||||
|
{
|
||||||
hr = SHStrDupW(L"Swipe your token", &_rgFieldStrings[SFI_MINIDETAILS]);
|
hr = SHStrDupW(L"Swipe your token", &_rgFieldStrings[SFI_MINIDETAILS]);
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
hr = SHStrDupW(loginString, &_rgFieldStrings[SFI_MINIDETAILS]);
|
hr = SHStrDupW(loginString, &_rgFieldStrings[SFI_MINIDETAILS]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::Advise(
|
HRESULT RfidCredential::Advise(ICredentialProviderCredentialEvents* pcpce)
|
||||||
ICredentialProviderCredentialEvents* pcpce
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
if (_pCredProvCredentialEvents != NULL)
|
if (_pCredProvCredentialEvents != nullptr)
|
||||||
{
|
{
|
||||||
_pCredProvCredentialEvents->Release();
|
_pCredProvCredentialEvents->Release();
|
||||||
}
|
}
|
||||||
_pCredProvCredentialEvents = pcpce;
|
_pCredProvCredentialEvents = pcpce;
|
||||||
_pCredProvCredentialEvents->AddRef();
|
_pCredProvCredentialEvents->AddRef();
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,28 +106,29 @@ HRESULT RfidCredential::UnAdvise()
|
|||||||
{
|
{
|
||||||
_pCredProvCredentialEvents->Release();
|
_pCredProvCredentialEvents->Release();
|
||||||
}
|
}
|
||||||
_pCredProvCredentialEvents = NULL;
|
_pCredProvCredentialEvents = nullptr;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::SetSelected(BOOL* pbAutoLogon)
|
HRESULT RfidCredential::SetSelected(BOOL* pbAutoLogon)
|
||||||
{
|
{
|
||||||
if(username && password && domain && !this->lastLoginFailed){
|
if (username && password && domain && !this->lastLoginFailed)
|
||||||
|
{
|
||||||
*pbAutoLogon = TRUE;
|
*pbAutoLogon = TRUE;
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
*pbAutoLogon = FALSE;
|
*pbAutoLogon = FALSE;
|
||||||
|
if (this->lastLoginFailed)
|
||||||
if(this->lastLoginFailed){
|
{
|
||||||
if(_pCredProvCredentialEvents != NULL){
|
if (_pCredProvCredentialEvents != nullptr)
|
||||||
|
{
|
||||||
_pCredProvCredentialEvents->SetFieldString(this, SFI_MINIDETAILS, L"Login credentials were invalid.");
|
_pCredProvCredentialEvents->SetFieldString(this, SFI_MINIDETAILS, L"Login credentials were invalid.");
|
||||||
_pCredProvCredentialEvents->SetFieldString(this, SFI_DETAILS, L"Login details were invalid. You will need to login with a different credential to update them.");
|
_pCredProvCredentialEvents->SetFieldString(this, SFI_DETAILS, L"Login details were invalid. You will need to login with a different credential to update them.");
|
||||||
_pCredProvCredentialEvents->SetFieldBitmap(this, SFI_TILEIMAGE, LoadBitmap(HINST_THISDLL, MAKEINTRESOURCE(104)));
|
_pCredProvCredentialEvents->SetFieldBitmap(this, SFI_TILEIMAGE, LoadBitmap(HINST_THISDLL, MAKEINTRESOURCE(104)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,36 +138,25 @@ HRESULT RfidCredential::SetDeselected()
|
|||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetFieldState(
|
HRESULT RfidCredential::GetFieldState(DWORD dwFieldID, CREDENTIAL_PROVIDER_FIELD_STATE* pcpfs, CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE* pcpfis)
|
||||||
DWORD dwFieldID,
|
|
||||||
CREDENTIAL_PROVIDER_FIELD_STATE* pcpfs,
|
|
||||||
CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE* pcpfis
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
if ((dwFieldID < ARRAYSIZE(_rgFieldStatePairs)) && pcpfs && pcpfis)
|
if ((dwFieldID < ARRAYSIZE(_rgFieldStatePairs)) && pcpfs && pcpfis)
|
||||||
{
|
{
|
||||||
*pcpfs = _rgFieldStatePairs[dwFieldID].cpfs;
|
*pcpfs = _rgFieldStatePairs[dwFieldID].cpfs;
|
||||||
*pcpfis = _rgFieldStatePairs[dwFieldID].cpfis;
|
*pcpfis = _rgFieldStatePairs[dwFieldID].cpfis;
|
||||||
|
|
||||||
hr = S_OK;
|
hr = S_OK;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetStringValue(
|
HRESULT RfidCredential::GetStringValue(DWORD dwFieldID, PWSTR* ppwsz)
|
||||||
DWORD dwFieldID,
|
|
||||||
PWSTR* ppwsz
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
if (dwFieldID < ARRAYSIZE(_rgCredProvFieldDescriptors) && ppwsz)
|
if (dwFieldID < ARRAYSIZE(_rgCredProvFieldDescriptors) && ppwsz)
|
||||||
{
|
{
|
||||||
hr = SHStrDupW(_rgFieldStrings[dwFieldID], ppwsz);
|
hr = SHStrDupW(_rgFieldStrings[dwFieldID], ppwsz);
|
||||||
@@ -180,27 +165,23 @@ HRESULT RfidCredential::GetStringValue(
|
|||||||
{
|
{
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetBitmapValue(
|
HRESULT RfidCredential::GetBitmapValue(DWORD dwFieldID, HBITMAP* phbmp)
|
||||||
DWORD dwFieldID,
|
|
||||||
HBITMAP* phbmp
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
if ((SFI_TILEIMAGE == dwFieldID) && phbmp)
|
if ((SFI_TILEIMAGE == dwFieldID) && phbmp)
|
||||||
{
|
{
|
||||||
HBITMAP hbmp;
|
HBITMAP hbmp;
|
||||||
|
if (username && password && domain && !this->lastLoginFailed)
|
||||||
if(username && password && domain && !this->lastLoginFailed){
|
{
|
||||||
hbmp = LoadBitmap(HINST_THISDLL, MAKEINTRESOURCE(102));
|
hbmp = LoadBitmap(HINST_THISDLL, MAKEINTRESOURCE(102));
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
hbmp = LoadBitmap(HINST_THISDLL, MAKEINTRESOURCE(101));
|
hbmp = LoadBitmap(HINST_THISDLL, MAKEINTRESOURCE(101));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hbmp != NULL)
|
if (hbmp != NULL)
|
||||||
{
|
{
|
||||||
hr = S_OK;
|
hr = S_OK;
|
||||||
@@ -215,95 +196,63 @@ HRESULT RfidCredential::GetBitmapValue(
|
|||||||
{
|
{
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetSubmitButtonValue(
|
HRESULT RfidCredential::GetSubmitButtonValue(DWORD dwFieldID, DWORD* pdwAdjacentTo)
|
||||||
DWORD dwFieldID,
|
|
||||||
DWORD* pdwAdjacentTo
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::SetStringValue(
|
HRESULT RfidCredential::SetStringValue(DWORD dwFieldID, PCWSTR pwz)
|
||||||
DWORD dwFieldID,
|
|
||||||
PCWSTR pwz
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
UNREFERENCED_PARAMETER(pwz);
|
UNREFERENCED_PARAMETER(pwz);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetCheckboxValue(
|
HRESULT RfidCredential::GetCheckboxValue(DWORD dwFieldID, BOOL* pbChecked, PWSTR* ppwszLabel)
|
||||||
DWORD dwFieldID,
|
|
||||||
BOOL* pbChecked,
|
|
||||||
PWSTR* ppwszLabel
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
UNREFERENCED_PARAMETER(pbChecked);
|
UNREFERENCED_PARAMETER(pbChecked);
|
||||||
UNREFERENCED_PARAMETER(ppwszLabel);
|
UNREFERENCED_PARAMETER(ppwszLabel);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetComboBoxValueCount(
|
HRESULT RfidCredential::GetComboBoxValueCount(DWORD dwFieldID, DWORD* pcItems, DWORD* pdwSelectedItem)
|
||||||
DWORD dwFieldID,
|
|
||||||
DWORD* pcItems,
|
|
||||||
DWORD* pdwSelectedItem
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
UNREFERENCED_PARAMETER(pcItems);
|
UNREFERENCED_PARAMETER(pcItems);
|
||||||
UNREFERENCED_PARAMETER(pdwSelectedItem);
|
UNREFERENCED_PARAMETER(pdwSelectedItem);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::GetComboBoxValueAt(
|
HRESULT RfidCredential::GetComboBoxValueAt(DWORD dwFieldID, DWORD dwItem, PWSTR* ppwszItem)
|
||||||
DWORD dwFieldID,
|
|
||||||
DWORD dwItem,
|
|
||||||
PWSTR* ppwszItem
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
UNREFERENCED_PARAMETER(dwItem);
|
UNREFERENCED_PARAMETER(dwItem);
|
||||||
UNREFERENCED_PARAMETER(ppwszItem);
|
UNREFERENCED_PARAMETER(ppwszItem);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::SetCheckboxValue(
|
HRESULT RfidCredential::SetCheckboxValue(DWORD dwFieldID, BOOL bChecked)
|
||||||
DWORD dwFieldID,
|
|
||||||
BOOL bChecked
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
UNREFERENCED_PARAMETER(bChecked);
|
UNREFERENCED_PARAMETER(bChecked);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::SetComboBoxSelectedValue(
|
HRESULT RfidCredential::SetComboBoxSelectedValue(DWORD dwFieldId, DWORD dwSelectedItem)
|
||||||
DWORD dwFieldId,
|
|
||||||
DWORD dwSelectedItem
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldId);
|
UNREFERENCED_PARAMETER(dwFieldId);
|
||||||
UNREFERENCED_PARAMETER(dwSelectedItem);
|
UNREFERENCED_PARAMETER(dwSelectedItem);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidCredential::CommandLinkClicked(DWORD dwFieldID)
|
HRESULT RfidCredential::CommandLinkClicked(DWORD dwFieldID)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFieldID);
|
UNREFERENCED_PARAMETER(dwFieldID);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,7 +263,6 @@ HRESULT RfidCredential::GetSerialization(
|
|||||||
CREDENTIAL_PROVIDER_STATUS_ICON* pcpsiOptionalStatusIcon
|
CREDENTIAL_PROVIDER_STATUS_ICON* pcpsiOptionalStatusIcon
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
||||||
UNREFERENCED_PARAMETER(ppwzOptionalStatusText);
|
UNREFERENCED_PARAMETER(ppwzOptionalStatusText);
|
||||||
UNREFERENCED_PARAMETER(pcpsiOptionalStatusIcon);
|
UNREFERENCED_PARAMETER(pcpsiOptionalStatusIcon);
|
||||||
|
|
||||||
@@ -322,21 +270,18 @@ HRESULT RfidCredential::GetSerialization(
|
|||||||
ZeroMemory(&kil, sizeof(kil));
|
ZeroMemory(&kil, sizeof(kil));
|
||||||
|
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
this->lastLoginFailed = true;
|
this->lastLoginFailed = true;
|
||||||
|
|
||||||
WCHAR wsz[MAX_COMPUTERNAME_LENGTH+1];
|
//WCHAR wsz[MAX_COMPUTERNAME_LENGTH+1];
|
||||||
DWORD cch = ARRAYSIZE(wsz);
|
//DWORD cch = ARRAYSIZE(wsz);
|
||||||
GetComputerNameW(wsz, &cch);
|
//GetComputerNameW(wsz, &cch);
|
||||||
hr = UnicodeStringInitWithString(domain, &kil.LogonDomainName);
|
hr = UnicodeStringInitWithString(domain, &kil.LogonDomainName);
|
||||||
hr = UnicodeStringInitWithString(username, &kil.UserName);
|
hr = UnicodeStringInitWithString(username, &kil.UserName);
|
||||||
hr = UnicodeStringInitWithString(password, &kil.Password);
|
hr = UnicodeStringInitWithString(password, &kil.Password);
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
kil.MessageType = lockType;
|
kil.MessageType = lockType;
|
||||||
hr = KerbInteractiveLogonPack(kil, &pcpcs->rgbSerialization, &pcpcs->cbSerialization);
|
hr = KerbInteractiveLogonPack(kil, &pcpcs->rgbSerialization, &pcpcs->cbSerialization);
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
ULONG ulAuthPackage;
|
ULONG ulAuthPackage;
|
||||||
@@ -345,7 +290,6 @@ HRESULT RfidCredential::GetSerialization(
|
|||||||
{
|
{
|
||||||
pcpcs->ulAuthenticationPackage = ulAuthPackage;
|
pcpcs->ulAuthenticationPackage = ulAuthPackage;
|
||||||
pcpcs->clsidCredentialProvider = CLSID_RfidProvider;
|
pcpcs->clsidCredentialProvider = CLSID_RfidProvider;
|
||||||
|
|
||||||
*pcpgsr = CPGSR_RETURN_CREDENTIAL_FINISHED;
|
*pcpgsr = CPGSR_RETURN_CREDENTIAL_FINISHED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -355,7 +299,6 @@ HRESULT RfidCredential::GetSerialization(
|
|||||||
DWORD dwErr = GetLastError();
|
DWORD dwErr = GetLastError();
|
||||||
hr = HRESULT_FROM_WIN32(dwErr);
|
hr = HRESULT_FROM_WIN32(dwErr);
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -369,6 +312,5 @@ HRESULT RfidCredential::ReportResult(
|
|||||||
UNREFERENCED_PARAMETER(ntsSubstatus);
|
UNREFERENCED_PARAMETER(ntsSubstatus);
|
||||||
UNREFERENCED_PARAMETER(ppwszOptionalStatusText);
|
UNREFERENCED_PARAMETER(ppwszOptionalStatusText);
|
||||||
UNREFERENCED_PARAMETER(pcpsiOptionalStatusIcon);
|
UNREFERENCED_PARAMETER(pcpsiOptionalStatusIcon);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,423 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="big5"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="RfidCredentialProvider"
|
|
||||||
ProjectGUID="{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}"
|
|
||||||
RootNamespace="RfidCredentialProvider"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="shlwapi.lib"
|
|
||||||
LinkIncremental="2"
|
|
||||||
ModuleDefinitionFile="rfidcredentialprovider.def"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="shlwapi.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
ModuleDefinitionFile="rfidcredentialprovider.def"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="shlwapi.lib"
|
|
||||||
LinkIncremental="2"
|
|
||||||
ModuleDefinitionFile="rfidcredentialprovider.def"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="shlwapi.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
ModuleDefinitionFile="rfidcredentialprovider.def"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\Dll.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\guid.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\helpers.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\RfidCredential.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\rfidcredentialprovider.def"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\RfidProvider.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\common.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\Dll.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\guid.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\helpers.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\RfidCredential.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\RfidProvider.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\resource.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\resources.rc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\tileimage.bmp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Utilities"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\Register.reg"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\Unregister.reg"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\readme.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@@ -23,118 +23,81 @@
|
|||||||
<RootNamespace>RfidCredentialProvider</RootNamespace>
|
<RootNamespace>RfidCredentialProvider</RootNamespace>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<ProjectName>RfidCredentialProvider</ProjectName>
|
<ProjectName>RfidCredentialProvider</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>shlwapi.lib;odbc32.lib;odbccp32.lib;winscard.lib;crypt32.lib;secur32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<ModuleDefinitionFile>rfidcredentialprovider.def</ModuleDefinitionFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>shlwapi.lib;odbc32.lib;odbccp32.lib;winscard.lib;crypt32.lib;secur32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<ModuleDefinitionFile>rfidcredentialprovider.def</ModuleDefinitionFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
<TargetEnvironment>X64</TargetEnvironment>
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
</Midl>
|
</Midl>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN64;_DEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
@@ -142,7 +105,7 @@
|
|||||||
</PrecompiledHeader>
|
</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
<AdditionalIncludeDirectories>../Serial;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>shlwapi.lib;odbc32.lib;odbccp32.lib;winscard.lib;crypt32.lib;secur32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>shlwapi.lib;odbc32.lib;odbccp32.lib;winscard.lib;crypt32.lib;secur32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
@@ -150,7 +113,31 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<AdditionalLibraryDirectories>C:\Users\tylermenezes\Desktop\CustomCP\_Output\Debug;../Serial;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<LinkStatus>true</LinkStatus>
|
||||||
|
</Link>
|
||||||
|
<ProjectReference>
|
||||||
|
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Midl />
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>shlwapi.lib;odbc32.lib;odbccp32.lib;winscard.lib;crypt32.lib;secur32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<ModuleDefinitionFile>rfidcredentialprovider.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
<LinkStatus>true</LinkStatus>
|
<LinkStatus>true</LinkStatus>
|
||||||
</Link>
|
</Link>
|
||||||
<ProjectReference>
|
<ProjectReference>
|
||||||
@@ -164,7 +151,7 @@
|
|||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN64;NDEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
@@ -182,17 +169,39 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Midl />
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;RFIDCREDENTIALPROVIDER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<OmitFramePointers />
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>shlwapi.lib;odbc32.lib;odbccp32.lib;winscard.lib;crypt32.lib;secur32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<ModuleDefinitionFile>rfidcredentialprovider.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<ImageHasSafeExceptionHandlers />
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Dll.cpp" />
|
<ClCompile Include="Dll.cpp" />
|
||||||
<ClCompile Include="Encryption.cpp" />
|
<ClCompile Include="Encryption.cpp" />
|
||||||
<ClCompile Include="guid.cpp" />
|
<ClCompile Include="guid.cpp" />
|
||||||
<ClCompile Include="helpers.cpp" />
|
<ClCompile Include="helpers.cpp" />
|
||||||
<ClCompile Include="Logger.cpp" />
|
<ClCompile Include="Logger.cpp" />
|
||||||
<ClCompile Include="md5.cpp" />
|
|
||||||
<ClCompile Include="RfidCredential.cpp" />
|
<ClCompile Include="RfidCredential.cpp" />
|
||||||
<ClCompile Include="RfidProvider.cpp" />
|
<ClCompile Include="RfidProvider.cpp" />
|
||||||
<ClCompile Include="Registry.cpp" />
|
<ClCompile Include="Registry.cpp" />
|
||||||
<ClCompile Include="RfidReader.cpp" />
|
|
||||||
<ClCompile Include="Serial.cpp" />
|
<ClCompile Include="Serial.cpp" />
|
||||||
<ClCompile Include="SHA1.cpp" />
|
<ClCompile Include="SHA1.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -211,12 +220,10 @@
|
|||||||
<ClInclude Include="guid.h" />
|
<ClInclude Include="guid.h" />
|
||||||
<ClInclude Include="helpers.h" />
|
<ClInclude Include="helpers.h" />
|
||||||
<ClInclude Include="Logger.h" />
|
<ClInclude Include="Logger.h" />
|
||||||
<ClInclude Include="md5.h" />
|
|
||||||
<ClInclude Include="RfidCredential.h" />
|
<ClInclude Include="RfidCredential.h" />
|
||||||
<ClInclude Include="RfidProvider.h" />
|
<ClInclude Include="RfidProvider.h" />
|
||||||
<ClInclude Include="Registry.h" />
|
<ClInclude Include="Registry.h" />
|
||||||
<ClInclude Include="resource.h" />
|
<ClInclude Include="resource.h" />
|
||||||
<ClInclude Include="RfidReader.h" />
|
|
||||||
<ClInclude Include="Serial.h" />
|
<ClInclude Include="Serial.h" />
|
||||||
<ClInclude Include="SHA1.h" />
|
<ClInclude Include="SHA1.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -30,9 +30,6 @@
|
|||||||
<ClCompile Include="Serial.cpp">
|
<ClCompile Include="Serial.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="md5.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Registry.cpp">
|
<ClCompile Include="Registry.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -45,9 +42,6 @@
|
|||||||
<ClCompile Include="Logger.cpp">
|
<ClCompile Include="Logger.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="RfidReader.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Encryption.cpp">
|
<ClCompile Include="Encryption.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -91,9 +85,6 @@
|
|||||||
<ClInclude Include="Serial.h">
|
<ClInclude Include="Serial.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="md5.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Registry.h">
|
<ClInclude Include="Registry.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@@ -109,9 +100,6 @@
|
|||||||
<ClInclude Include="Logger.h">
|
<ClInclude Include="Logger.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="RfidReader.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Encryption.h">
|
<ClInclude Include="Encryption.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "Serial.h"
|
#include "Serial.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "md5.h"
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "Registry.h"
|
#include "Registry.h"
|
||||||
#include "Logger.h"
|
#include "Logger.h"
|
||||||
@@ -30,7 +29,6 @@ RfidProvider::RfidProvider():
|
|||||||
_dwNumCreds(0)
|
_dwNumCreds(0)
|
||||||
{
|
{
|
||||||
DllAddRef();
|
DllAddRef();
|
||||||
|
|
||||||
ZeroMemory(_rgpCredentials, sizeof(_rgpCredentials));
|
ZeroMemory(_rgpCredentials, sizeof(_rgpCredentials));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,49 +41,54 @@ RfidProvider::~RfidProvider()
|
|||||||
_rgpCredentials[i]->Release();
|
_rgpCredentials[i]->Release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DllRelease();
|
DllRelease();
|
||||||
}
|
}
|
||||||
|
|
||||||
char* sanatizeRfidReading(char* read){
|
char* sanatizeRfidReading(char* read)
|
||||||
|
{
|
||||||
char* out = new char[strlen(read)];
|
char* out = new char[strlen(read)];
|
||||||
memset(out, '\0', strlen(read));
|
memset(out, '\0', strlen(read));
|
||||||
|
|
||||||
bool hasTransmissionStarted = false;
|
bool hasTransmissionStarted = false;
|
||||||
|
|
||||||
HKEY hKey;
|
//HKEY hKey;
|
||||||
if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, s2ws("SOFTWARE\\Tyler Menezes\\Rfid Login").c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS){
|
//if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, s2ws("SOFTWARE\\KORNET\\WinLogin").c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS)
|
||||||
delete hKey;
|
//{
|
||||||
return new char;
|
// delete hKey;
|
||||||
}
|
// return new char;
|
||||||
|
//}
|
||||||
|
|
||||||
char start = 0x00;
|
char start = 0x45; // "E" - Em-Marine... (Z-2 USB Reader)
|
||||||
DWORD dStart;
|
//DWORD dStart;
|
||||||
LONG sError = GetDWORDRegKey(hKey, L"Message Start", dStart, 0x00);
|
//LONG sError = GetDWORDRegKey(hKey, L"Message Start", dStart, 0x00);
|
||||||
start = (char)dStart;
|
//start = (char)dStart;
|
||||||
|
|
||||||
char end = 0x00;
|
char end = 0x0D;
|
||||||
DWORD dEnd;
|
//DWORD dEnd;
|
||||||
GetDWORDRegKey(hKey, L"Message End", dEnd, 0x00);
|
//GetDWORDRegKey(hKey, L"Message End", dEnd, 0x00);
|
||||||
end = (char)dEnd;
|
//end = (char)dEnd;
|
||||||
|
|
||||||
if(sError == 2){
|
//if (sError == 2)
|
||||||
hasTransmissionStarted = true;
|
//{
|
||||||
}
|
// hasTransmissionStarted = true;
|
||||||
|
//}
|
||||||
|
|
||||||
int c = 0;
|
int c = 0;
|
||||||
for(int i = 0; i < strlen(read); i++){
|
for (int i = 0; i < strlen(read); i++)
|
||||||
if(read[i] == start){
|
{
|
||||||
|
if (read[i] == start)
|
||||||
|
{
|
||||||
hasTransmissionStarted = true;
|
hasTransmissionStarted = true;
|
||||||
|
//continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasTransmissionStarted)
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!hasTransmissionStarted){
|
if (read[i] == end)
|
||||||
continue;
|
{
|
||||||
}
|
|
||||||
|
|
||||||
if(read[i] == end){
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,10 +103,11 @@ bool rfidThreadRunning = true;
|
|||||||
RfidProvider* prp;
|
RfidProvider* prp;
|
||||||
bool doAutoLogin = false;
|
bool doAutoLogin = false;
|
||||||
|
|
||||||
void getCredentials(char* token){
|
void getCredentials(char* token)
|
||||||
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Tyler Menezes\\Rfid Login\\Keys", 0, KEY_READ, &hKey) != ERROR_SUCCESS){
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\KORNET\\WinLogin\\Keys", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
delete hKey;
|
delete hKey;
|
||||||
return; // Token not recognized.
|
return; // Token not recognized.
|
||||||
}
|
}
|
||||||
@@ -111,7 +115,6 @@ void getCredentials(char* token){
|
|||||||
std::wstring keySalt;
|
std::wstring keySalt;
|
||||||
GetStringRegKey(hKey, L"Salt", keySalt, L"bad");
|
GetStringRegKey(hKey, L"Salt", keySalt, L"bad");
|
||||||
|
|
||||||
|
|
||||||
CSHA1* sha1 = new CSHA1();
|
CSHA1* sha1 = new CSHA1();
|
||||||
sha1->Update((unsigned char*)token, strlen(token));
|
sha1->Update((unsigned char*)token, strlen(token));
|
||||||
sha1->Update((unsigned char*)s2cs(ws2s(keySalt)), wcslen(keySalt.c_str()));
|
sha1->Update((unsigned char*)s2cs(ws2s(keySalt)), wcslen(keySalt.c_str()));
|
||||||
@@ -120,10 +123,11 @@ void getCredentials(char* token){
|
|||||||
sha1->ReportHashStl(hash, CSHA1::REPORT_HEX_SHORT);
|
sha1->ReportHashStl(hash, CSHA1::REPORT_HEX_SHORT);
|
||||||
delete sha1;
|
delete sha1;
|
||||||
|
|
||||||
std::string key = std::string("SOFTWARE\\Tyler Menezes\\Rfid Login\\Keys\\");
|
std::string key = std::string("SOFTWARE\\KORNET\\WinLogin\\Keys\\");
|
||||||
key += ws2s(hash);
|
key += ws2s(hash);
|
||||||
|
|
||||||
if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, s2ws(key).c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS){
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, s2ws(key).c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
delete hKey;
|
delete hKey;
|
||||||
return; // Token not recognized.
|
return; // Token not recognized.
|
||||||
}
|
}
|
||||||
@@ -180,7 +184,8 @@ void getCredentials(char* token){
|
|||||||
|
|
||||||
DWORD WINAPI _RfidReader(LPVOID lpParameter)
|
DWORD WINAPI _RfidReader(LPVOID lpParameter)
|
||||||
{
|
{
|
||||||
Serial* s = new Serial();
|
//Serial* s = new Serial();
|
||||||
|
auto s = std::make_unique<Serial>();
|
||||||
|
|
||||||
char* lastTag = new char[128];
|
char* lastTag = new char[128];
|
||||||
memset(lastTag, '\0', 128);
|
memset(lastTag, '\0', 128);
|
||||||
@@ -188,15 +193,16 @@ DWORD WINAPI _RfidReader(LPVOID lpParameter)
|
|||||||
|
|
||||||
int tagCount = 0;
|
int tagCount = 0;
|
||||||
|
|
||||||
while(rfidThreadRunning){
|
while (rfidThreadRunning)
|
||||||
|
{
|
||||||
Sleep(50);
|
Sleep(50);
|
||||||
|
|
||||||
char* id = new char[128];
|
char* id = new char[128];
|
||||||
memset(id, '\0', 128);
|
memset(id, '\0', 128);
|
||||||
while (id[0] != '\0');
|
while (id[0] != '\0');
|
||||||
|
|
||||||
if(tagCount >= 128){
|
if (tagCount >= 128)
|
||||||
|
{
|
||||||
tagCount = 0;
|
tagCount = 0;
|
||||||
memset(lastTag, '\0', 128);
|
memset(lastTag, '\0', 128);
|
||||||
while (lastTag[0] != '\0');
|
while (lastTag[0] != '\0');
|
||||||
@@ -204,20 +210,26 @@ DWORD WINAPI _RfidReader(LPVOID lpParameter)
|
|||||||
|
|
||||||
s->ReadData(id, 1);
|
s->ReadData(id, 1);
|
||||||
|
|
||||||
if(strlen(id) > 0){
|
if (strlen(id) > 0)
|
||||||
for(int i = 0; i < strlen(id); i++){
|
{
|
||||||
|
for (int i = 0; i < strlen(id); i++)
|
||||||
|
{
|
||||||
lastTag[tagCount++] = id[i];
|
lastTag[tagCount++] = id[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delete id;
|
delete id;
|
||||||
|
|
||||||
|
for (int i = 0; i < strlen(lastTag); i++)
|
||||||
for(int i = 0; i < strlen(lastTag); i++){
|
{
|
||||||
if(lastTag[i] == 0x03){
|
if (lastTag[i] == /*0x03*/0x0A)
|
||||||
|
{
|
||||||
char* fullTag = sanatizeRfidReading(lastTag);
|
char* fullTag = sanatizeRfidReading(lastTag);
|
||||||
|
|
||||||
printf(fullTag);
|
printf(fullTag);
|
||||||
|
//int n;
|
||||||
|
//for (n = 0; fullTag[n] != '\0'; n++)
|
||||||
|
// printf("%02x", (unsigned char)fullTag[n]);
|
||||||
|
|
||||||
getCredentials(fullTag);
|
getCredentials(fullTag);
|
||||||
|
|
||||||
@@ -233,28 +245,26 @@ DWORD WINAPI _RfidReader(LPVOID lpParameter)
|
|||||||
}
|
}
|
||||||
|
|
||||||
delete lastTag;
|
delete lastTag;
|
||||||
delete s;
|
|
||||||
|
//delete s;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InitRfidReader()
|
||||||
void InitRfidReader(){
|
{
|
||||||
rfidThreadRunning = true;
|
rfidThreadRunning = true;
|
||||||
hThread = ::CreateThread(NULL, 0, _RfidReader, NULL , 0, NULL);
|
hThread = ::CreateThread(nullptr, 0, _RfidReader, nullptr, 0, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StopRfidReader(){
|
void StopRfidReader()
|
||||||
|
{
|
||||||
rfidThreadRunning = false;
|
rfidThreadRunning = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::SetUsageScenario(
|
HRESULT RfidProvider::SetUsageScenario(CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus, DWORD dwFlags)
|
||||||
CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
|
|
||||||
DWORD dwFlags
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(dwFlags);
|
UNREFERENCED_PARAMETER(dwFlags);
|
||||||
|
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
static bool s_bCredsEnumerated = false;
|
static bool s_bCredsEnumerated = false;
|
||||||
switch (cpus)
|
switch (cpus)
|
||||||
@@ -269,12 +279,10 @@ HRESULT RfidProvider::SetUsageScenario(
|
|||||||
case CPUS_CHANGE_PASSWORD:
|
case CPUS_CHANGE_PASSWORD:
|
||||||
hr = E_NOTIMPL;
|
hr = E_NOTIMPL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!s_bCredsEnumerated)
|
if (!s_bCredsEnumerated)
|
||||||
{
|
{
|
||||||
prp = this;
|
prp = this;
|
||||||
@@ -285,65 +293,46 @@ HRESULT RfidProvider::SetUsageScenario(
|
|||||||
{
|
{
|
||||||
hr = S_OK;
|
hr = S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
STDMETHODIMP RfidProvider::SetSerialization(
|
STDMETHODIMP RfidProvider::SetSerialization(const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcs)
|
||||||
const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcs
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(pcpcs);
|
UNREFERENCED_PARAMETER(pcpcs);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ICredentialProviderEvents* Pcpe;
|
ICredentialProviderEvents* Pcpe;
|
||||||
UINT_PTR UpAdviseContext;
|
UINT_PTR UpAdviseContext;
|
||||||
|
|
||||||
HRESULT RfidProvider::Advise(
|
HRESULT RfidProvider::Advise(ICredentialProviderEvents* pcpe, UINT_PTR upAdviseContext)
|
||||||
ICredentialProviderEvents* pcpe,
|
|
||||||
UINT_PTR upAdviseContext
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
InitRfidReader();
|
InitRfidReader();
|
||||||
|
|
||||||
Pcpe = pcpe;
|
Pcpe = pcpe;
|
||||||
Pcpe->AddRef();
|
Pcpe->AddRef();
|
||||||
UpAdviseContext = upAdviseContext;
|
UpAdviseContext = upAdviseContext;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::UnAdvise()
|
HRESULT RfidProvider::UnAdvise()
|
||||||
{
|
{
|
||||||
StopRfidReader();
|
StopRfidReader();
|
||||||
|
|
||||||
if (Pcpe)
|
if (Pcpe)
|
||||||
{
|
{
|
||||||
Pcpe->Release();
|
Pcpe->Release();
|
||||||
Pcpe=NULL;
|
Pcpe = nullptr;
|
||||||
}
|
}
|
||||||
UpAdviseContext = NULL;
|
UpAdviseContext = NULL;
|
||||||
|
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::GetFieldDescriptorCount(
|
HRESULT RfidProvider::GetFieldDescriptorCount(DWORD* pdwCount)
|
||||||
DWORD* pdwCount
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
*pdwCount = SFI_NUM_FIELDS;
|
*pdwCount = SFI_NUM_FIELDS;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::GetFieldDescriptorAt(
|
HRESULT RfidProvider::GetFieldDescriptorAt(DWORD dwIndex, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd)
|
||||||
DWORD dwIndex,
|
|
||||||
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd)
|
if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd)
|
||||||
@@ -354,26 +343,22 @@ HRESULT RfidProvider::GetFieldDescriptorAt(
|
|||||||
{
|
{
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::GetCredentialCount(
|
HRESULT RfidProvider::GetCredentialCount(DWORD* pdwCount, DWORD* pdwDefault, BOOL* pbAutoLogonWithDefault)
|
||||||
DWORD* pdwCount,
|
|
||||||
DWORD* pdwDefault,
|
|
||||||
BOOL* pbAutoLogonWithDefault
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
if (doAutoLogin && _dwNumCreds > 0 && !RfidCredential::lastLoginFailed)
|
||||||
if(doAutoLogin && _dwNumCreds > 0 && !RfidCredential::lastLoginFailed){
|
{
|
||||||
*pdwDefault = _dwNumCreds - 1;
|
*pdwDefault = _dwNumCreds - 1;
|
||||||
*pbAutoLogonWithDefault = TRUE;
|
*pbAutoLogonWithDefault = TRUE;
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
*pdwDefault = CREDENTIAL_PROVIDER_NO_DEFAULT;
|
*pdwDefault = CREDENTIAL_PROVIDER_NO_DEFAULT;
|
||||||
*pbAutoLogonWithDefault = FALSE;
|
*pbAutoLogonWithDefault = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
*pdwCount = _dwNumCreds;
|
*pdwCount = _dwNumCreds;
|
||||||
if (*pdwCount > 0)
|
if (*pdwCount > 0)
|
||||||
{
|
{
|
||||||
@@ -383,17 +368,12 @@ HRESULT RfidProvider::GetCredentialCount(
|
|||||||
{
|
{
|
||||||
hr = E_FAIL;
|
hr = E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::GetCredentialAt(
|
HRESULT RfidProvider::GetCredentialAt(DWORD dwIndex, ICredentialProviderCredential** ppcpc)
|
||||||
DWORD dwIndex,
|
|
||||||
ICredentialProviderCredential** ppcpc
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
if ((dwIndex < _dwNumCreds) && ppcpc)
|
if ((dwIndex < _dwNumCreds) && ppcpc)
|
||||||
{
|
{
|
||||||
hr = _rgpCredentials[dwIndex]->QueryInterface(IID_ICredentialProviderCredential, reinterpret_cast<void**>(ppcpc));
|
hr = _rgpCredentials[dwIndex]->QueryInterface(IID_ICredentialProviderCredential, reinterpret_cast<void**>(ppcpc));
|
||||||
@@ -402,25 +382,17 @@ HRESULT RfidProvider::GetCredentialAt(
|
|||||||
{
|
{
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::_EnumerateOneCredential(
|
HRESULT RfidProvider::_EnumerateOneCredential(DWORD dwCredentialIndex, PWSTR pwzUsername, PWSTR pwzPassword, PWSTR pwzDomain)
|
||||||
DWORD dwCredentialIndex,
|
|
||||||
PWSTR pwzUsername,
|
|
||||||
PWSTR pwzPassword,
|
|
||||||
PWSTR pwzDomain
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
RfidCredential* ppc = new RfidCredential();
|
RfidCredential* ppc = new RfidCredential();
|
||||||
|
|
||||||
if (ppc)
|
if (ppc)
|
||||||
{
|
{
|
||||||
hr = ppc->Initialize(s_rgCredProvFieldDescriptors, s_rgFieldStatePairs, pwzUsername, pwzPassword, pwzDomain);
|
hr = ppc->Initialize(s_rgCredProvFieldDescriptors, s_rgFieldStatePairs, pwzUsername, pwzPassword, pwzDomain);
|
||||||
ppc->lastLoginFailed = false;
|
ppc->lastLoginFailed = false;
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
_rgpCredentials[dwCredentialIndex] = ppc;
|
_rgpCredentials[dwCredentialIndex] = ppc;
|
||||||
@@ -435,21 +407,19 @@ HRESULT RfidProvider::_EnumerateOneCredential(
|
|||||||
{
|
{
|
||||||
hr = E_OUTOFMEMORY;
|
hr = E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider::_EnumerateCredentials()
|
HRESULT RfidProvider::_EnumerateCredentials()
|
||||||
{
|
{
|
||||||
HRESULT hr = _EnumerateOneCredential(0, NULL, NULL, NULL);
|
HRESULT hr = _EnumerateOneCredential(0, NULL, NULL, NULL);
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT RfidProvider_CreateInstance(REFIID riid, void** ppv)
|
HRESULT RfidProvider_CreateInstance(REFIID riid, void** ppv)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
RfidProvider* pProvider = new RfidProvider();
|
RfidProvider* pProvider = new RfidProvider();
|
||||||
|
|
||||||
if (pProvider)
|
if (pProvider)
|
||||||
{
|
{
|
||||||
hr = pProvider->QueryInterface(riid, ppv);
|
hr = pProvider->QueryInterface(riid, ppv);
|
||||||
@@ -459,6 +429,5 @@ HRESULT RfidProvider_CreateInstance(REFIID riid, void** ppv)
|
|||||||
{
|
{
|
||||||
hr = E_OUTOFMEMORY;
|
hr = E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,11 +96,6 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
RfidProvider();
|
RfidProvider();
|
||||||
__override ~RfidProvider();
|
__override ~RfidProvider();
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
LONG _cRef;
|
LONG _cRef;
|
||||||
};
|
};
|
||||||
@@ -8,7 +8,8 @@ Serial::Serial()
|
|||||||
this->connected = false;
|
this->connected = false;
|
||||||
|
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Tyler Menezes\\Rfid Login", 0, KEY_READ, &hKey) != ERROR_SUCCESS){
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\KORNET\\WinLogin", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
delete hKey;
|
delete hKey;
|
||||||
return; // Token not recognized.
|
return; // Token not recognized.
|
||||||
}
|
}
|
||||||
@@ -29,11 +30,10 @@ Serial::Serial()
|
|||||||
if (this->hSerial == INVALID_HANDLE_VALUE)
|
if (this->hSerial == INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
// If not success full display an Error
|
// If not success full display an Error
|
||||||
if(GetLastError()==ERROR_FILE_NOT_FOUND){
|
if (GetLastError() == ERROR_FILE_NOT_FOUND)
|
||||||
|
{
|
||||||
// Print Error if neccessary
|
// Print Error if neccessary
|
||||||
printf("ERROR: Handle was not attached. Reason: %s not available.\n");
|
printf("ERROR: Handle was not attached. Reason: %s not available.\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -73,7 +73,6 @@ Serial::Serial()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial::~Serial()
|
Serial::~Serial()
|
||||||
@@ -114,16 +113,14 @@ int Serial::ReadData(char *buffer, unsigned int nbChar)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Try to read the require number of chars, and return the number of read bytes on success
|
// Try to read the require number of chars, and return the number of read bytes on success
|
||||||
if(ReadFile(this->hSerial, buffer, toRead, &bytesRead, NULL) && bytesRead != 0)
|
if (ReadFile(this->hSerial, buffer, toRead, &bytesRead, nullptr) && bytesRead != 0)
|
||||||
{
|
{
|
||||||
return bytesRead;
|
return bytesRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If nothing has been read, or that an error was detected return -1
|
// If nothing has been read, or that an error was detected return -1
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -132,11 +129,10 @@ bool Serial::WriteData(char *buffer, unsigned int nbChar)
|
|||||||
DWORD bytesSend;
|
DWORD bytesSend;
|
||||||
|
|
||||||
// Try to write the buffer on the Serial port
|
// Try to write the buffer on the Serial port
|
||||||
if(!WriteFile(this->hSerial, (void *)buffer, nbChar, &bytesSend, 0))
|
if (!WriteFile(this->hSerial, (void*)buffer, nbChar, &bytesSend, nullptr))
|
||||||
{
|
{
|
||||||
// In case it don't work get comm error and return false
|
// In case it don't work get comm error and return false
|
||||||
ClearCommError(this->hSerial, &this->errors, &this->status);
|
ClearCommError(this->hSerial, &this->errors, &this->status);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ class Serial
|
|||||||
COMSTAT status;
|
COMSTAT status;
|
||||||
//Keep track of last error
|
//Keep track of last error
|
||||||
DWORD errors;
|
DWORD errors;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//Initialize Serial communication with the given COM port
|
//Initialize Serial communication with the given COM port
|
||||||
Serial();
|
Serial();
|
||||||
@@ -36,8 +35,6 @@ class Serial
|
|||||||
bool WriteData(char* buffer, unsigned int nbChar);
|
bool WriteData(char* buffer, unsigned int nbChar);
|
||||||
//Check if we are actually connected
|
//Check if we are actually connected
|
||||||
bool IsConnected();
|
bool IsConnected();
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SERIALCLASS_H_INCLUDED
|
#endif // SERIALCLASS_H_INCLUDED
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
// {817D38B3-57BA-4478-B8E8-B50A0B48D839}
|
// {817D38B3-57BA-4478-B8E8-B50A0B48D839}
|
||||||
DEFINE_GUID(CLSID_RfidProvider,
|
DEFINE_GUID(CLSID_RfidProvider, 0x817d38b3, 0x57ba, 0x4478, 0xb8, 0xe8, 0xb5, 0xa, 0xb, 0x48, 0xd8, 0x39);
|
||||||
0x817d38b3, 0x57ba, 0x4478, 0xb8, 0xe8, 0xb5, 0xa, 0xb, 0x48, 0xd8, 0x39);
|
|
||||||
|
|||||||
@@ -22,22 +22,15 @@
|
|||||||
// Copies the field descriptor pointed to by rcpfd into a buffer allocated
|
// Copies the field descriptor pointed to by rcpfd into a buffer allocated
|
||||||
// using CoTaskMemAlloc. Returns that buffer in ppcpfd.
|
// using CoTaskMemAlloc. Returns that buffer in ppcpfd.
|
||||||
//
|
//
|
||||||
HRESULT FieldDescriptorCoAllocCopy(
|
HRESULT FieldDescriptorCoAllocCopy(const CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR& rcpfd, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd)
|
||||||
const CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR& rcpfd,
|
|
||||||
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
DWORD cbStruct = sizeof(CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR);
|
DWORD cbStruct = sizeof(CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR);
|
||||||
|
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR* pcpfd = (CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR*)CoTaskMemAlloc(cbStruct);
|
||||||
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR* pcpfd =
|
|
||||||
(CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR*)CoTaskMemAlloc(cbStruct);
|
|
||||||
|
|
||||||
if (pcpfd)
|
if (pcpfd)
|
||||||
{
|
{
|
||||||
pcpfd->dwFieldID = rcpfd.dwFieldID;
|
pcpfd->dwFieldID = rcpfd.dwFieldID;
|
||||||
pcpfd->cpft = rcpfd.cpft;
|
pcpfd->cpft = rcpfd.cpft;
|
||||||
|
|
||||||
if (rcpfd.pszLabel)
|
if (rcpfd.pszLabel)
|
||||||
{
|
{
|
||||||
hr = SHStrDupW(rcpfd.pszLabel, &pcpfd->pszLabel);
|
hr = SHStrDupW(rcpfd.pszLabel, &pcpfd->pszLabel);
|
||||||
@@ -61,8 +54,6 @@ HRESULT FieldDescriptorCoAllocCopy(
|
|||||||
CoTaskMemFree(pcpfd);
|
CoTaskMemFree(pcpfd);
|
||||||
*ppcpfd = NULL;
|
*ppcpfd = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,17 +62,12 @@ HRESULT FieldDescriptorCoAllocCopy(
|
|||||||
// allocating pcpfd. This function uses CoTaskMemAlloc to allocate memory for
|
// allocating pcpfd. This function uses CoTaskMemAlloc to allocate memory for
|
||||||
// pcpfd->pszLabel.
|
// pcpfd->pszLabel.
|
||||||
//
|
//
|
||||||
HRESULT FieldDescriptorCopy(
|
HRESULT FieldDescriptorCopy(const CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR& rcpfd, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR* pcpfd)
|
||||||
const CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR& rcpfd,
|
|
||||||
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR* pcpfd
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR cpfd;
|
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR cpfd;
|
||||||
|
|
||||||
cpfd.dwFieldID = rcpfd.dwFieldID;
|
cpfd.dwFieldID = rcpfd.dwFieldID;
|
||||||
cpfd.cpft = rcpfd.cpft;
|
cpfd.cpft = rcpfd.cpft;
|
||||||
|
|
||||||
if (rcpfd.pszLabel)
|
if (rcpfd.pszLabel)
|
||||||
{
|
{
|
||||||
hr = SHStrDupW(rcpfd.pszLabel, &cpfd.pszLabel);
|
hr = SHStrDupW(rcpfd.pszLabel, &cpfd.pszLabel);
|
||||||
@@ -91,12 +77,10 @@ HRESULT FieldDescriptorCopy(
|
|||||||
cpfd.pszLabel = NULL;
|
cpfd.pszLabel = NULL;
|
||||||
hr = S_OK;
|
hr = S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
*pcpfd = cpfd;
|
*pcpfd = cpfd;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,10 +91,7 @@ HRESULT FieldDescriptorCopy(
|
|||||||
// Be very, very sure that this is what you want, because it probably isn't outside of the
|
// Be very, very sure that this is what you want, because it probably isn't outside of the
|
||||||
// exact GetSerialization call where the sample uses it.
|
// exact GetSerialization call where the sample uses it.
|
||||||
//
|
//
|
||||||
HRESULT UnicodeStringInitWithString(
|
HRESULT UnicodeStringInitWithString(PWSTR pwz, UNICODE_STRING* pus)
|
||||||
PWSTR pwz,
|
|
||||||
UNICODE_STRING* pus
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
if (pwz)
|
if (pwz)
|
||||||
@@ -151,16 +132,11 @@ HRESULT UnicodeStringInitWithString(
|
|||||||
// You can read more about the UNICODE_STRING type at:
|
// You can read more about the UNICODE_STRING type at:
|
||||||
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/security/unicode_string.asp
|
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/security/unicode_string.asp
|
||||||
//
|
//
|
||||||
static void _UnicodeStringPackedUnicodeStringCopy(
|
static void _UnicodeStringPackedUnicodeStringCopy(const UNICODE_STRING& rus, PWSTR pwzBuffer, UNICODE_STRING* pus)
|
||||||
const UNICODE_STRING& rus,
|
|
||||||
PWSTR pwzBuffer,
|
|
||||||
UNICODE_STRING* pus
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
pus->Length = rus.Length;
|
pus->Length = rus.Length;
|
||||||
pus->MaximumLength = rus.Length;
|
pus->MaximumLength = rus.Length;
|
||||||
pus->Buffer = pwzBuffer;
|
pus->Buffer = pwzBuffer;
|
||||||
|
|
||||||
CopyMemory(pus->Buffer, rus.Buffer, pus->Length);
|
CopyMemory(pus->Buffer, rus.Buffer, pus->Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,11 +158,7 @@ static void _UnicodeStringPackedUnicodeStringCopy(
|
|||||||
// http://msdn.microsoft.com/msdnmag/issues/05/06/SecurityBriefs/#void
|
// http://msdn.microsoft.com/msdnmag/issues/05/06/SecurityBriefs/#void
|
||||||
//
|
//
|
||||||
|
|
||||||
HRESULT KerbInteractiveLogonPack(
|
HRESULT KerbInteractiveLogonPack(const KERB_INTERACTIVE_LOGON& rkil, BYTE** prgb, DWORD* pcb)
|
||||||
const KERB_INTERACTIVE_LOGON& rkil,
|
|
||||||
BYTE** prgb,
|
|
||||||
DWORD* pcb
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
@@ -232,7 +204,6 @@ HRESULT KerbInteractiveLogonPack(
|
|||||||
{
|
{
|
||||||
hr = E_OUTOFMEMORY;
|
hr = E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,11 +234,9 @@ HRESULT RetrieveNegotiateAuthPackage(ULONG * pulAuthPackage)
|
|||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
HANDLE hLsa;
|
HANDLE hLsa;
|
||||||
|
|
||||||
NTSTATUS status = LsaConnectUntrusted(&hLsa);
|
NTSTATUS status = LsaConnectUntrusted(&hLsa);
|
||||||
if (SUCCEEDED(HRESULT_FROM_NT(status)))
|
if (SUCCEEDED(HRESULT_FROM_NT(status)))
|
||||||
{
|
{
|
||||||
|
|
||||||
ULONG ulAuthPackage;
|
ULONG ulAuthPackage;
|
||||||
LSA_STRING lsaszKerberosName;
|
LSA_STRING lsaszKerberosName;
|
||||||
LsaInitString(&lsaszKerberosName, NEGOSSP_NAME_A);
|
LsaInitString(&lsaszKerberosName, NEGOSSP_NAME_A);
|
||||||
@@ -288,7 +257,6 @@ HRESULT RetrieveNegotiateAuthPackage(ULONG * pulAuthPackage)
|
|||||||
{
|
{
|
||||||
hr = HRESULT_FROM_NT(status);
|
hr = HRESULT_FROM_NT(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -304,46 +272,44 @@ std::wstring s2ws(const std::string& s)
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string ws2s(const std::wstring& si){
|
std::string ws2s(const std::wstring& si)
|
||||||
|
{
|
||||||
std::wstring ws(si);
|
std::wstring ws(si);
|
||||||
std::string s;
|
std::string s;
|
||||||
s.assign(ws.begin(), ws.end());
|
s.assign(ws.begin(), ws.end());
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar_t* wcs2cs(std::wstring& s){
|
wchar_t* wcs2cs(std::wstring& s)
|
||||||
|
{
|
||||||
std::vector<wchar_t> v(s.length() + 1);
|
std::vector<wchar_t> v(s.length() + 1);
|
||||||
std::wcscpy(&v[0], s.c_str());
|
std::wcscpy(&v[0], s.c_str());
|
||||||
wchar_t* w = &v[0];
|
wchar_t* w = &v[0];
|
||||||
s = w;
|
s = w;
|
||||||
|
|
||||||
wchar_t* w2 = new wchar_t[wcslen(w) + 1];
|
wchar_t* w2 = new wchar_t[wcslen(w) + 1];
|
||||||
|
|
||||||
for (int i = 0; i < wcslen(w); i++) {
|
for (int i = 0; i < wcslen(w); i++) {
|
||||||
w2[i] = w[i];
|
w2[i] = w[i];
|
||||||
}
|
}
|
||||||
w2[wcslen(w)] = L'\0';
|
w2[wcslen(w)] = L'\0';
|
||||||
|
|
||||||
return w2;
|
return w2;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* s2cs(std::string& s){
|
char* s2cs(std::string& s)
|
||||||
|
{
|
||||||
std::vector<char> v(s.length() + 1);
|
std::vector<char> v(s.length() + 1);
|
||||||
std::strcpy(&v[0], s.c_str());
|
std::strcpy(&v[0], s.c_str());
|
||||||
char* w = &v[0];
|
char* w = &v[0];
|
||||||
s = w;
|
s = w;
|
||||||
|
|
||||||
char* w2 = new char[strlen(w) + 1];
|
char* w2 = new char[strlen(w) + 1];
|
||||||
|
|
||||||
for (int i = 0; i < strlen(w); i++) {
|
for (int i = 0; i < strlen(w); i++) {
|
||||||
w2[i] = w[i];
|
w2[i] = w[i];
|
||||||
}
|
}
|
||||||
w2[strlen(w)] = L'\0';
|
w2[strlen(w)] = L'\0';
|
||||||
|
|
||||||
return w2;
|
return w2;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char* s2ucs(std::string& s){
|
unsigned char* s2ucs(std::string& s)
|
||||||
|
{
|
||||||
unsigned char* cs = (unsigned char*)s2cs(s);
|
unsigned char* cs = (unsigned char*)s2cs(s);
|
||||||
return cs;
|
return cs;
|
||||||
}
|
}
|
||||||
@@ -1,362 +0,0 @@
|
|||||||
/* MD5
|
|
||||||
converted to C++ class by Frank Thilo (thilo@unix-ag.org)
|
|
||||||
for bzflag (http://www.bzflag.org)
|
|
||||||
|
|
||||||
based on:
|
|
||||||
|
|
||||||
md5.h and md5.c
|
|
||||||
reference implemantion of RFC 1321
|
|
||||||
|
|
||||||
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
|
|
||||||
rights reserved.
|
|
||||||
|
|
||||||
License to copy and use this software is granted provided that it
|
|
||||||
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
|
||||||
Algorithm" in all material mentioning or referencing this software
|
|
||||||
or this function.
|
|
||||||
|
|
||||||
License is also granted to make and use derivative works provided
|
|
||||||
that such works are identified as "derived from the RSA Data
|
|
||||||
Security, Inc. MD5 Message-Digest Algorithm" in all material
|
|
||||||
mentioning or referencing the derived work.
|
|
||||||
|
|
||||||
RSA Data Security, Inc. makes no representations concerning either
|
|
||||||
the merchantability of this software or the suitability of this
|
|
||||||
software for any particular purpose. It is provided "as is"
|
|
||||||
without express or implied warranty of any kind.
|
|
||||||
|
|
||||||
These notices must be retained in any copies of any part of this
|
|
||||||
documentation and/or software.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* interface header */
|
|
||||||
#include "md5.h"
|
|
||||||
|
|
||||||
/* system implementation headers */
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
// Constants for MD5Transform routine.
|
|
||||||
#define S11 7
|
|
||||||
#define S12 12
|
|
||||||
#define S13 17
|
|
||||||
#define S14 22
|
|
||||||
#define S21 5
|
|
||||||
#define S22 9
|
|
||||||
#define S23 14
|
|
||||||
#define S24 20
|
|
||||||
#define S31 4
|
|
||||||
#define S32 11
|
|
||||||
#define S33 16
|
|
||||||
#define S34 23
|
|
||||||
#define S41 6
|
|
||||||
#define S42 10
|
|
||||||
#define S43 15
|
|
||||||
#define S44 21
|
|
||||||
|
|
||||||
///////////////////////////////////////////////
|
|
||||||
|
|
||||||
// F, G, H and I are basic MD5 functions.
|
|
||||||
inline MD5::uint4 MD5::F(uint4 x, uint4 y, uint4 z) {
|
|
||||||
return x&y | ~x&z;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline MD5::uint4 MD5::G(uint4 x, uint4 y, uint4 z) {
|
|
||||||
return x&z | y&~z;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline MD5::uint4 MD5::H(uint4 x, uint4 y, uint4 z) {
|
|
||||||
return x^y^z;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline MD5::uint4 MD5::I(uint4 x, uint4 y, uint4 z) {
|
|
||||||
return y ^ (x | ~z);
|
|
||||||
}
|
|
||||||
|
|
||||||
// rotate_left rotates x left n bits.
|
|
||||||
inline MD5::uint4 MD5::rotate_left(uint4 x, int n) {
|
|
||||||
return (x << n) | (x >> (32-n));
|
|
||||||
}
|
|
||||||
|
|
||||||
// FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
|
|
||||||
// Rotation is separate from addition to prevent recomputation.
|
|
||||||
inline void MD5::FF(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
|
|
||||||
a = rotate_left(a+ F(b,c,d) + x + ac, s) + b;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void MD5::GG(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
|
|
||||||
a = rotate_left(a + G(b,c,d) + x + ac, s) + b;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void MD5::HH(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
|
|
||||||
a = rotate_left(a + H(b,c,d) + x + ac, s) + b;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void MD5::II(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
|
|
||||||
a = rotate_left(a + I(b,c,d) + x + ac, s) + b;
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////////////////////
|
|
||||||
|
|
||||||
// default ctor, just initailize
|
|
||||||
MD5::MD5()
|
|
||||||
{
|
|
||||||
init();
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////////////////////
|
|
||||||
|
|
||||||
// nifty shortcut ctor, compute MD5 for string and finalize it right away
|
|
||||||
MD5::MD5(const std::string &text)
|
|
||||||
{
|
|
||||||
init();
|
|
||||||
update(text.c_str(), text.length());
|
|
||||||
finalize();
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
void MD5::init()
|
|
||||||
{
|
|
||||||
finalized=false;
|
|
||||||
|
|
||||||
count[0] = 0;
|
|
||||||
count[1] = 0;
|
|
||||||
|
|
||||||
// load magic initialization constants.
|
|
||||||
state[0] = 0x67452301;
|
|
||||||
state[1] = 0xefcdab89;
|
|
||||||
state[2] = 0x98badcfe;
|
|
||||||
state[3] = 0x10325476;
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// decodes input (unsigned char) into output (uint4). Assumes len is a multiple of 4.
|
|
||||||
void MD5::decode(uint4 output[], const uint1 input[], size_type len)
|
|
||||||
{
|
|
||||||
for (unsigned int i = 0, j = 0; j < len; i++, j += 4)
|
|
||||||
output[i] = ((uint4)input[j]) | (((uint4)input[j+1]) << 8) |
|
|
||||||
(((uint4)input[j+2]) << 16) | (((uint4)input[j+3]) << 24);
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// encodes input (uint4) into output (unsigned char). Assumes len is
|
|
||||||
// a multiple of 4.
|
|
||||||
void MD5::encode(uint1 output[], const uint4 input[], size_type len)
|
|
||||||
{
|
|
||||||
for (size_type i = 0, j = 0; j < len; i++, j += 4) {
|
|
||||||
output[j] = input[i] & 0xff;
|
|
||||||
output[j+1] = (input[i] >> 8) & 0xff;
|
|
||||||
output[j+2] = (input[i] >> 16) & 0xff;
|
|
||||||
output[j+3] = (input[i] >> 24) & 0xff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// apply MD5 algo on a block
|
|
||||||
void MD5::transform(const uint1 block[blocksize])
|
|
||||||
{
|
|
||||||
uint4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
|
|
||||||
decode (x, block, blocksize);
|
|
||||||
|
|
||||||
/* Round 1 */
|
|
||||||
FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
|
|
||||||
FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
|
|
||||||
FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
|
|
||||||
FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
|
|
||||||
FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
|
|
||||||
FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
|
|
||||||
FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
|
|
||||||
FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
|
|
||||||
FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
|
|
||||||
FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
|
|
||||||
FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
|
|
||||||
FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
|
|
||||||
FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
|
|
||||||
FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
|
|
||||||
FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
|
|
||||||
FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
|
|
||||||
|
|
||||||
/* Round 2 */
|
|
||||||
GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
|
|
||||||
GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
|
|
||||||
GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
|
|
||||||
GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
|
|
||||||
GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
|
|
||||||
GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
|
|
||||||
GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
|
|
||||||
GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
|
|
||||||
GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
|
|
||||||
GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
|
|
||||||
GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
|
|
||||||
GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
|
|
||||||
GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
|
|
||||||
GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
|
|
||||||
GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
|
|
||||||
GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
|
|
||||||
|
|
||||||
/* Round 3 */
|
|
||||||
HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
|
|
||||||
HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
|
|
||||||
HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
|
|
||||||
HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
|
|
||||||
HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
|
|
||||||
HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
|
|
||||||
HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
|
|
||||||
HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
|
|
||||||
HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
|
|
||||||
HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
|
|
||||||
HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
|
|
||||||
HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
|
|
||||||
HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
|
|
||||||
HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
|
|
||||||
HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
|
|
||||||
HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
|
|
||||||
|
|
||||||
/* Round 4 */
|
|
||||||
II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
|
|
||||||
II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
|
|
||||||
II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
|
|
||||||
II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
|
|
||||||
II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
|
|
||||||
II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
|
|
||||||
II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
|
|
||||||
II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
|
|
||||||
II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
|
|
||||||
II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
|
|
||||||
II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
|
|
||||||
II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
|
|
||||||
II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
|
|
||||||
II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
|
|
||||||
II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
|
|
||||||
II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
|
|
||||||
|
|
||||||
state[0] += a;
|
|
||||||
state[1] += b;
|
|
||||||
state[2] += c;
|
|
||||||
state[3] += d;
|
|
||||||
|
|
||||||
// Zeroize sensitive information.
|
|
||||||
memset(x, 0, sizeof x);
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// MD5 block update operation. Continues an MD5 message-digest
|
|
||||||
// operation, processing another message block
|
|
||||||
void MD5::update(const unsigned char input[], size_type length)
|
|
||||||
{
|
|
||||||
// compute number of bytes mod 64
|
|
||||||
size_type index = count[0] / 8 % blocksize;
|
|
||||||
|
|
||||||
// Update number of bits
|
|
||||||
if ((count[0] += (length << 3)) < (length << 3))
|
|
||||||
count[1]++;
|
|
||||||
count[1] += (length >> 29);
|
|
||||||
|
|
||||||
// number of bytes we need to fill in buffer
|
|
||||||
size_type firstpart = 64 - index;
|
|
||||||
|
|
||||||
size_type i;
|
|
||||||
|
|
||||||
// transform as many times as possible.
|
|
||||||
if (length >= firstpart)
|
|
||||||
{
|
|
||||||
// fill buffer first, transform
|
|
||||||
memcpy(&buffer[index], input, firstpart);
|
|
||||||
transform(buffer);
|
|
||||||
|
|
||||||
// transform chunks of blocksize (64 bytes)
|
|
||||||
for (i = firstpart; i + blocksize <= length; i += blocksize)
|
|
||||||
transform(&input[i]);
|
|
||||||
|
|
||||||
index = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
i = 0;
|
|
||||||
|
|
||||||
// buffer remaining input
|
|
||||||
memcpy(&buffer[index], &input[i], length-i);
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// for convenience provide a verson with signed char
|
|
||||||
void MD5::update(const char input[], size_type length)
|
|
||||||
{
|
|
||||||
update((const unsigned char*)input, length);
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// MD5 finalization. Ends an MD5 message-digest operation, writing the
|
|
||||||
// the message digest and zeroizing the context.
|
|
||||||
MD5& MD5::finalize()
|
|
||||||
{
|
|
||||||
static unsigned char padding[64] = {
|
|
||||||
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!finalized) {
|
|
||||||
// Save number of bits
|
|
||||||
unsigned char bits[8];
|
|
||||||
encode(bits, count, 8);
|
|
||||||
|
|
||||||
// pad out to 56 mod 64.
|
|
||||||
size_type index = count[0] / 8 % 64;
|
|
||||||
size_type padLen = (index < 56) ? (56 - index) : (120 - index);
|
|
||||||
update(padding, padLen);
|
|
||||||
|
|
||||||
// Append length (before padding)
|
|
||||||
update(bits, 8);
|
|
||||||
|
|
||||||
// Store state in digest
|
|
||||||
encode(digest, state, 16);
|
|
||||||
|
|
||||||
// Zeroize sensitive information.
|
|
||||||
memset(buffer, 0, sizeof buffer);
|
|
||||||
memset(count, 0, sizeof count);
|
|
||||||
|
|
||||||
finalized=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
// return hex representation of digest as string
|
|
||||||
std::string MD5::hexdigest() const
|
|
||||||
{
|
|
||||||
if (!finalized)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
char buf[33];
|
|
||||||
for (int i=0; i<16; i++)
|
|
||||||
sprintf(buf+i*2, "%02x", digest[i]);
|
|
||||||
buf[32]=0;
|
|
||||||
|
|
||||||
return std::string(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& out, MD5 md5)
|
|
||||||
{
|
|
||||||
return out << md5.hexdigest();
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
std::string md5(const std::string str)
|
|
||||||
{
|
|
||||||
MD5 md5 = MD5(str);
|
|
||||||
|
|
||||||
return md5.hexdigest();
|
|
||||||
}
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
/* MD5
|
|
||||||
converted to C++ class by Frank Thilo (thilo@unix-ag.org)
|
|
||||||
for bzflag (http://www.bzflag.org)
|
|
||||||
|
|
||||||
based on:
|
|
||||||
|
|
||||||
md5.h and md5.c
|
|
||||||
reference implementation of RFC 1321
|
|
||||||
|
|
||||||
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
|
|
||||||
rights reserved.
|
|
||||||
|
|
||||||
License to copy and use this software is granted provided that it
|
|
||||||
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
|
||||||
Algorithm" in all material mentioning or referencing this software
|
|
||||||
or this function.
|
|
||||||
|
|
||||||
License is also granted to make and use derivative works provided
|
|
||||||
that such works are identified as "derived from the RSA Data
|
|
||||||
Security, Inc. MD5 Message-Digest Algorithm" in all material
|
|
||||||
mentioning or referencing the derived work.
|
|
||||||
|
|
||||||
RSA Data Security, Inc. makes no representations concerning either
|
|
||||||
the merchantability of this software or the suitability of this
|
|
||||||
software for any particular purpose. It is provided "as is"
|
|
||||||
without express or implied warranty of any kind.
|
|
||||||
|
|
||||||
These notices must be retained in any copies of any part of this
|
|
||||||
documentation and/or software.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef BZF_MD5_H
|
|
||||||
#define BZF_MD5_H
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
|
|
||||||
// a small class for calculating MD5 hashes of strings or byte arrays
|
|
||||||
// it is not meant to be fast or secure
|
|
||||||
//
|
|
||||||
// usage: 1) feed it blocks of uchars with update()
|
|
||||||
// 2) finalize()
|
|
||||||
// 3) get hexdigest() string
|
|
||||||
// or
|
|
||||||
// MD5(std::string).hexdigest()
|
|
||||||
//
|
|
||||||
// assumes that char is 8 bit and int is 32 bit
|
|
||||||
class MD5
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef unsigned int size_type; // must be 32bit
|
|
||||||
|
|
||||||
MD5();
|
|
||||||
MD5(const std::string& text);
|
|
||||||
void update(const unsigned char *buf, size_type length);
|
|
||||||
void update(const char *buf, size_type length);
|
|
||||||
MD5& finalize();
|
|
||||||
std::string hexdigest() const;
|
|
||||||
friend std::ostream& operator<<(std::ostream&, MD5 md5);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void init();
|
|
||||||
typedef unsigned char uint1; // 8bit
|
|
||||||
typedef unsigned int uint4; // 32bit
|
|
||||||
enum {blocksize = 64}; // VC6 won't eat a const static int here
|
|
||||||
|
|
||||||
void transform(const uint1 block[blocksize]);
|
|
||||||
static void decode(uint4 output[], const uint1 input[], size_type len);
|
|
||||||
static void encode(uint1 output[], const uint4 input[], size_type len);
|
|
||||||
|
|
||||||
bool finalized;
|
|
||||||
uint1 buffer[blocksize]; // bytes that didn't fit in last 64 byte chunk
|
|
||||||
uint4 count[2]; // 64bit counter for number of bits (lo, hi)
|
|
||||||
uint4 state[4]; // digest so far
|
|
||||||
uint1 digest[16]; // the result
|
|
||||||
|
|
||||||
// low level logic operations
|
|
||||||
static inline uint4 F(uint4 x, uint4 y, uint4 z);
|
|
||||||
static inline uint4 G(uint4 x, uint4 y, uint4 z);
|
|
||||||
static inline uint4 H(uint4 x, uint4 y, uint4 z);
|
|
||||||
static inline uint4 I(uint4 x, uint4 y, uint4 z);
|
|
||||||
static inline uint4 rotate_left(uint4 x, int n);
|
|
||||||
static inline void FF(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
|
|
||||||
static inline void GG(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
|
|
||||||
static inline void HH(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
|
|
||||||
static inline void II(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
|
|
||||||
};
|
|
||||||
|
|
||||||
std::string md5(const std::string str);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Binary file not shown.
Binary file not shown.
+26
-428
@@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 2010
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.29519.87
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CredUILauncher", "Provider\CredUILauncher\CredUILauncher.vcxproj", "{D1F100CA-0215-405D-9B43-7C0AAAAC8880}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CredUILauncher", "Provider\CredUILauncher\CredUILauncher.vcxproj", "{D1F100CA-0215-405D-9B43-7C0AAAAC8880}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RfidCredentialProvider", "Provider\RfidCredentialProvider\RfidCredentialProvider.vcxproj", "{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RfidCredentialProvider", "Provider\RfidCredentialProvider\RfidCredentialProvider.vcxproj", "{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}"
|
||||||
@@ -19,479 +21,75 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Installer", "Installer", "{
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegisterSystem", "Installer\RegisterSystem\RegisterSystem.csproj", "{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegisterSystem", "Installer\RegisterSystem\RegisterSystem.csproj", "{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{6141683F-8A12-4E36-9623-2EB02B2C2303}") = "Setup", "Installer\Setup\Setup.isproj", "{515B5FCC-A9D6-4875-8288-9AE68201EC34}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314} = {DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0} = {80614F74-563D-418E-9BF6-1294F73521C0}
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033} = {C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880} = {D1F100CA-0215-405D-9B43-7C0AAAAC8880}
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB} = {392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB} = {392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B} = {23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
CD_ROM|Any CPU = CD_ROM|Any CPU
|
|
||||||
CD_ROM|Mixed Platforms = CD_ROM|Mixed Platforms
|
|
||||||
CD_ROM|Win32 = CD_ROM|Win32
|
|
||||||
CD_ROM|x64 = CD_ROM|x64
|
|
||||||
CD_ROM|x86 = CD_ROM|x86
|
|
||||||
Debug Unicode|Any CPU = Debug Unicode|Any CPU
|
|
||||||
Debug Unicode|Mixed Platforms = Debug Unicode|Mixed Platforms
|
|
||||||
Debug Unicode|Win32 = Debug Unicode|Win32
|
|
||||||
Debug Unicode|x64 = Debug Unicode|x64
|
|
||||||
Debug Unicode|x86 = Debug Unicode|x86
|
|
||||||
Debug|Any CPU = Debug|Any CPU
|
|
||||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
Debug|x86 = Debug|x86
|
|
||||||
DVD-5|Any CPU = DVD-5|Any CPU
|
|
||||||
DVD-5|Mixed Platforms = DVD-5|Mixed Platforms
|
|
||||||
DVD-5|Win32 = DVD-5|Win32
|
|
||||||
DVD-5|x64 = DVD-5|x64
|
|
||||||
DVD-5|x86 = DVD-5|x86
|
|
||||||
Release Unicode|Any CPU = Release Unicode|Any CPU
|
|
||||||
Release Unicode|Mixed Platforms = Release Unicode|Mixed Platforms
|
|
||||||
Release Unicode|Win32 = Release Unicode|Win32
|
|
||||||
Release Unicode|x64 = Release Unicode|x64
|
|
||||||
Release Unicode|x86 = Release Unicode|x86
|
|
||||||
Release|Any CPU = Release|Any CPU
|
|
||||||
Release|Mixed Platforms = Release|Mixed Platforms
|
|
||||||
Release|Win32 = Release|Win32
|
Release|Win32 = Release|Win32
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
Release|x86 = Release|x86
|
|
||||||
SingleImage|Any CPU = SingleImage|Any CPU
|
|
||||||
SingleImage|Mixed Platforms = SingleImage|Mixed Platforms
|
|
||||||
SingleImage|Win32 = SingleImage|Win32
|
|
||||||
SingleImage|x64 = SingleImage|x64
|
|
||||||
SingleImage|x86 = SingleImage|x86
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|Win32.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|x64.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|x64.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.CD_ROM|x86.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|Win32.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|x64.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|x64.Build.0 = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug Unicode|x86.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Any CPU.Build.0 = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Win32.ActiveCfg = Debug|Win32
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Win32.Build.0 = Debug|Win32
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|x64.ActiveCfg = Debug|x64
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|x64.Build.0 = Debug|x64
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|x64.Build.0 = Debug|x64
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|x86.ActiveCfg = Debug|Win32
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Debug|x86.Build.0 = Debug|Win32
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|Win32.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|x64.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|x64.Build.0 = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.DVD-5|x86.ActiveCfg = Debug|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|Win32.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|x64.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|x64.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release Unicode|x86.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Any CPU.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Win32.ActiveCfg = Release|Win32
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Win32.Build.0 = Release|Win32
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|Win32.Build.0 = Release|Win32
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|x64.ActiveCfg = Release|x64
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|x64.ActiveCfg = Release|x64
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|x64.Build.0 = Release|x64
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|x64.Build.0 = Release|x64
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.Release|x86.Build.0 = Release|Win32
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|Any CPU.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|Win32.ActiveCfg = Release|Win32
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|x64.ActiveCfg = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|x64.Build.0 = Release|x64
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|x86.ActiveCfg = Release|Win32
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880}.SingleImage|x86.Build.0 = Release|Win32
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|Win32.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|x64.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|x64.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.CD_ROM|x86.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|Win32.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|x64.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|x64.Build.0 = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug Unicode|x86.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Any CPU.Build.0 = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Win32.ActiveCfg = Debug|Win32
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Win32.Build.0 = Debug|Win32
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|x64.ActiveCfg = Debug|x64
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|x64.Build.0 = Debug|x64
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|x64.Build.0 = Debug|x64
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|x86.ActiveCfg = Debug|Win32
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Debug|x86.Build.0 = Debug|Win32
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|Win32.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|x64.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|x64.Build.0 = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.DVD-5|x86.ActiveCfg = Debug|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|Win32.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|x64.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|x64.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release Unicode|x86.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Any CPU.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Win32.ActiveCfg = Release|Win32
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Win32.Build.0 = Release|Win32
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|Win32.Build.0 = Release|Win32
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|x64.ActiveCfg = Release|x64
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|x64.ActiveCfg = Release|x64
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|x64.Build.0 = Release|x64
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|x64.Build.0 = Release|x64
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|x86.ActiveCfg = Release|Win32
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Win32.ActiveCfg = Debug|x86
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.Release|x86.Build.0 = Release|Win32
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Win32.Build.0 = Debug|x86
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|Any CPU.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|Win32.ActiveCfg = Release|Win32
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|x64.ActiveCfg = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|x64.Build.0 = Release|x64
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|x86.ActiveCfg = Release|Win32
|
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314}.SingleImage|x86.Build.0 = Release|Win32
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.CD_ROM|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug Unicode|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|Win32.Build.0 = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|x64.ActiveCfg = Debug|x64
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|x64.Build.0 = Debug|x64
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|x64.Build.0 = Debug|x64
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Win32.ActiveCfg = Release|x86
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Debug|x86.Build.0 = Debug|Any CPU
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Win32.Build.0 = Release|x86
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|x64.ActiveCfg = Release|x64
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|x64.Build.0 = Release|x64
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Win32.ActiveCfg = Debug|x86
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Win32.Build.0 = Debug|x86
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.DVD-5|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release Unicode|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|Win32.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|x64.Build.0 = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033}.SingleImage|x86.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.CD_ROM|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug Unicode|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|Win32.Build.0 = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|x64.ActiveCfg = Debug|x64
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|x64.Build.0 = Debug|x64
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|x64.Build.0 = Debug|x64
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Win32.ActiveCfg = Release|x86
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Debug|x86.Build.0 = Debug|Any CPU
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Win32.Build.0 = Release|x86
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|x64.ActiveCfg = Release|x64
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|x64.Build.0 = Release|x64
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Win32.ActiveCfg = Debug|x86
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Win32.Build.0 = Debug|x86
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.DVD-5|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release Unicode|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|Win32.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|x64.Build.0 = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B}.SingleImage|x86.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.CD_ROM|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug Unicode|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|Win32.Build.0 = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|x64.ActiveCfg = Debug|x64
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|x64.Build.0 = Debug|x64
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|x64.Build.0 = Debug|x64
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Win32.ActiveCfg = Release|x86
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Debug|x86.Build.0 = Debug|Any CPU
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Win32.Build.0 = Release|x86
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|x64.ActiveCfg = Release|x64
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
|
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|x64.Build.0 = Release|x64
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|Win32.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.DVD-5|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release Unicode|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|Win32.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|Win32.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|x64.Build.0 = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0}.SingleImage|x86.Build.0 = Release|Any CPU
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|Win32.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|x64.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|x64.Build.0 = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.CD_ROM|x86.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|Any CPU.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|Mixed Platforms.Build.0 = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|Win32.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|x64.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|x86.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug Unicode|x86.Build.0 = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Any CPU.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Any CPU.Build.0 = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Win32.ActiveCfg = Debug|x86
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Win32.ActiveCfg = Debug|x86
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Win32.Build.0 = Debug|x86
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|Win32.Build.0 = Debug|x86
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|x64.ActiveCfg = Debug|x64
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|x64.Build.0 = Debug|x64
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|x64.Build.0 = Debug|x64
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|x86.ActiveCfg = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Debug|x86.Build.0 = Debug|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|Win32.ActiveCfg = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|x64.ActiveCfg = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|x64.Build.0 = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.DVD-5|x86.ActiveCfg = Debug|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|Any CPU.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|Mixed Platforms.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|Mixed Platforms.Build.0 = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|Win32.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|x64.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|x86.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release Unicode|x86.Build.0 = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Any CPU.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Any CPU.Build.0 = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Mixed Platforms.Build.0 = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Win32.ActiveCfg = Release|x86
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Win32.ActiveCfg = Release|x86
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Win32.Build.0 = Release|x86
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|Win32.Build.0 = Release|x86
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|x64.ActiveCfg = Release|x64
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|x64.ActiveCfg = Release|x64
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|x64.Build.0 = Release|x64
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|x64.Build.0 = Release|x64
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|x86.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.Release|x86.Build.0 = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|Any CPU.Build.0 = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|Win32.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|x64.ActiveCfg = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|x64.Build.0 = Release|x64
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|x86.ActiveCfg = Release|x86
|
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB}.SingleImage|x86.Build.0 = Release|x86
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|Any CPU.ActiveCfg = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|Any CPU.Build.0 = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|Mixed Platforms.ActiveCfg = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|Mixed Platforms.Build.0 = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|Win32.ActiveCfg = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|Win32.Build.0 = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|x64.ActiveCfg = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|x64.Build.0 = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|x86.ActiveCfg = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.CD_ROM|x86.Build.0 = CD_ROM
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|Any CPU.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|Any CPU.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|Mixed Platforms.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|Mixed Platforms.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|Win32.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|Win32.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|x64.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|x64.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|x86.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug Unicode|x86.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|Any CPU.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|Any CPU.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|Mixed Platforms.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|Mixed Platforms.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|Win32.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|Win32.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|x64.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|x64.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|x86.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Debug|x86.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|Any CPU.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|Any CPU.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|Mixed Platforms.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|Mixed Platforms.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|Win32.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|Win32.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|x64.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|x64.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|x86.ActiveCfg = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.DVD-5|x86.Build.0 = DVD-5
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|Any CPU.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|Any CPU.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|Mixed Platforms.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|Mixed Platforms.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|Win32.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|Win32.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|x64.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|x64.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|x86.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release Unicode|x86.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|Any CPU.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|Any CPU.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|Mixed Platforms.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|Mixed Platforms.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|Win32.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|Win32.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|x64.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|x64.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|x86.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.Release|x86.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|Any CPU.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|Any CPU.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|Mixed Platforms.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|Mixed Platforms.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|Win32.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|Win32.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|x64.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|x64.Build.0 = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|x86.ActiveCfg = SingleImage
|
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34}.SingleImage|x86.Build.0 = SingleImage
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(NestedProjects) = preSolution
|
GlobalSection(NestedProjects) = preSolution
|
||||||
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314} = {10910983-E6AF-4824-88CD-992A97E780D4}
|
|
||||||
{D1F100CA-0215-405D-9B43-7C0AAAAC8880} = {10910983-E6AF-4824-88CD-992A97E780D4}
|
{D1F100CA-0215-405D-9B43-7C0AAAAC8880} = {10910983-E6AF-4824-88CD-992A97E780D4}
|
||||||
|
{DD093E4D-DFE5-4ECD-ADBD-AA71A05F1314} = {10910983-E6AF-4824-88CD-992A97E780D4}
|
||||||
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033} = {3E73C0BD-A239-468D-9302-26B12CFA90F5}
|
{C4C2A78E-01F3-4D2C-A3FB-1C90D8F58033} = {3E73C0BD-A239-468D-9302-26B12CFA90F5}
|
||||||
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B} = {3E73C0BD-A239-468D-9302-26B12CFA90F5}
|
{23AD43FF-38F2-4FEC-9FAA-D7B2FA54492B} = {3E73C0BD-A239-468D-9302-26B12CFA90F5}
|
||||||
{80614F74-563D-418E-9BF6-1294F73521C0} = {3E73C0BD-A239-468D-9302-26B12CFA90F5}
|
{80614F74-563D-418E-9BF6-1294F73521C0} = {3E73C0BD-A239-468D-9302-26B12CFA90F5}
|
||||||
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB} = {55ED87CD-50E1-4D9D-8F82-64C7E131B5C2}
|
{392410E4-C8FF-4E9F-BA6F-D791F95A6CDB} = {55ED87CD-50E1-4D9D-8F82-64C7E131B5C2}
|
||||||
{515B5FCC-A9D6-4875-8288-9AE68201EC34} = {55ED87CD-50E1-4D9D-8F82-64C7E131B5C2}
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {FB44CA25-5D51-4AA1-92EF-D118C5420B4E}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|||||||
Reference in New Issue
Block a user