diff options
author | Gleb Balykov <g.balykov@samsung.com> | 2020-07-13 18:17:29 +0300 |
---|---|---|
committer | Alexander Soldatov/AI Compiler Lab /SRR/Staff Engineer/Samsung Electronics <soldatov.a@samsung.com> | 2020-07-23 15:38:33 +0300 |
commit | ef4d447326501bbf3f350824ba0bd0098e5fcd58 (patch) | |
tree | 48b801cdba98d2a1df5a30baf9c2510352cae0de /Tools | |
parent | 627172e192116c9a7ae9ffa47a9722ce400e83e3 (diff) | |
download | coreclr-ef4d447326501bbf3f350824ba0bd0098e5fcd58.tar.gz coreclr-ef4d447326501bbf3f350824ba0bd0098e5fcd58.tar.bz2 coreclr-ef4d447326501bbf3f350824ba0bd0098e5fcd58.zip |
[Tizen] Add CoreCLR tests BuildTools v3.1.3 for armel,arm64
Diffstat (limited to 'Tools')
250 files changed, 33495 insertions, 0 deletions
diff --git a/Tools/3.0.0-preview4-04022-01/init-tools.complete b/Tools/3.0.0-preview4-04022-01/init-tools.complete new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/Tools/3.0.0-preview4-04022-01/init-tools.complete diff --git a/Tools/ApiCompat.exe b/Tools/ApiCompat.exe Binary files differnew file mode 100755 index 0000000000..c75af355cf --- /dev/null +++ b/Tools/ApiCompat.exe diff --git a/Tools/ApiCompat.runtimeconfig.json b/Tools/ApiCompat.runtimeconfig.json new file mode 100755 index 0000000000..a4fd3d811b --- /dev/null +++ b/Tools/ApiCompat.runtimeconfig.json @@ -0,0 +1,8 @@ +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.1.0" + } + } +}
\ No newline at end of file diff --git a/Tools/ApiCompat.targets b/Tools/ApiCompat.targets new file mode 100755 index 0000000000..d6cd696e0d --- /dev/null +++ b/Tools/ApiCompat.targets @@ -0,0 +1,129 @@ +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <UsingTask TaskName="PrereleaseResolveNuGetPackageAssets" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> + <UsingTask TaskName="LocatePreviousContract" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> + + <PropertyGroup> + <RunApiCompat Condition="'$(RunApiCompat)'==''">false</RunApiCompat> + </PropertyGroup> + + <PropertyGroup Condition="'$(RunApiCompat)' == 'true'"> + <ApiCompatBaseline Condition="!Exists('$(ApiCompatBaseline)')">$(MSBuildProjectDirectory)\ApiCompatBaseline.$(TargetGroup).txt</ApiCompatBaseline> + <ApiCompatBaseline Condition="!Exists('$(ApiCompatBaseline)')">$(MSBuildProjectDirectory)\ApiCompatBaseline.txt</ApiCompatBaseline> + + <MatchingRefApiCompatBaseline Condition="!Exists('$(MatchingRefApiCompatBaseline)')">$(MSBuildProjectDirectory)\MatchingRefApiCompatBaseline.$(TargetGroup).txt</MatchingRefApiCompatBaseline> + <MatchingRefApiCompatBaseline Condition="'$(BaselineAllMatchingRefApiCompatError)' != 'true' and !Exists('$(MatchingRefApiCompatBaseline)')">$(MSBuildProjectDirectory)\MatchingRefApiCompatBaseline.txt</MatchingRefApiCompatBaseline> + + <RunApiCompatForSrc Condition="$(MSBuildProjectDirectory.EndsWith('src'))">true</RunApiCompatForSrc> + + <RunMatchingRefApiCompat Condition="'$(RunMatchingRefApiCompat)' == ''">$(RunApiCompatForSrc)</RunMatchingRefApiCompat> + + <ResolveMatchingContract Condition="'$(RunApiCompatForSrc)'=='true'">true</ResolveMatchingContract> + <TargetsTriggeredByCompilation Condition="'$(RunApiCompatForSrc)'=='true'">$(TargetsTriggeredByCompilation);ValidateApiCompatForSrc</TargetsTriggeredByCompilation> + <TargetsTriggeredByCompilation Condition="'$(RunMatchingRefApiCompat)'=='true'">$(TargetsTriggeredByCompilation);RunMatchingRefApiCompat</TargetsTriggeredByCompilation> + </PropertyGroup> + + <!-- ApiCompat for Implementation Assemblies --> + <Target Name="ValidateApiCompatForSrc" + Condition="'$(RunApiCompatForSrc)' == 'true' AND '$(RunApiCompat)' == 'true' and '@(ResolvedMatchingContract)' != ''"> + + <PropertyGroup> + <ReferenceAssembly>@(ResolvedMatchingContract)</ReferenceAssembly> + </PropertyGroup> + + <ItemGroup> + <_DependencyDirectoriesTemp Include="@(ReferencePath->'%(RootDir)%(Directory)')" /> + <!-- Remove duplicate directories by batching over them --> + <!-- Add project references first to give precedence to project-specific files --> + <_DependencyDirectories Condition="'%(_DependencyDirectoriesTemp.ReferenceSourceTarget)'=='ProjectReference'" Include="%(_DependencyDirectoriesTemp.Identity)" /> + <_DependencyDirectories Condition="'%(_DependencyDirectoriesTemp.ReferenceSourceTarget)'!='ProjectReference'" Include="%(_DependencyDirectoriesTemp.Identity)" /> + <_ContractDependencyDirectories Include="@(ResolvedMatchingContract->'%(RootDir)%(Directory)')" /> + <_ContractDependencyDirectories Include="$(ContractOutputPath)" /> + </ItemGroup> + + <PropertyGroup> + <ApiCompatArgs>$(ApiCompatArgs) "$(ReferenceAssembly)"</ApiCompatArgs> + <ApiCompatArgs>$(ApiCompatArgs) -contractDepends:"@(_ContractDependencyDirectories, ','),"</ApiCompatArgs> + <ApiCompatArgs>$(ApiCompatArgs) -implDirs:"$(IntermediateOutputPath),@(_DependencyDirectories, ','),"</ApiCompatArgs> + <ApiCompatArgs Condition="'$(ApiCompatExcludeAttributeList)' != ''">$(ApiCompatArgs) -excludeAttributes:"$(ApiCompatExcludeAttributeList)"</ApiCompatArgs> + <ApiCompatArgs Condition="'$(BaselineAllAPICompatError)'!='true' and Exists('$(ApiCompatBaseline)')">$(ApiCompatArgs) -baseline:"$(ApiCompatBaseline)"</ApiCompatArgs> + <ApiCompatBaselineAll Condition="'$(BaselineAllAPICompatError)'=='true'">> $(ApiCompatBaseline)</ApiCompatBaselineAll> + <ApiCompatExitCode>0</ApiCompatExitCode> + + <ApiCompatResponseFile>$(IntermediateOutputPath)apicompat.rsp</ApiCompatResponseFile> + <ApiCompatCmd>$(ToolHostCmd) "$(ToolsDir)ApiCompat.exe"</ApiCompatCmd> + </PropertyGroup> + + <MakeDir Directories="$(IntermediateOutputPath)" /> + <WriteLinesToFile File="$(ApiCompatResponseFile)" Lines="$(ApiCompatArgs)" Overwrite="true" /> + + <Exec Condition="Exists('$(ReferenceAssembly)')" + Command="$(ApiCompatCmd) @"$(ApiCompatResponseFile)" $(ApiCompatBaselineAll)" + CustomErrorRegularExpression="^[a-zA-Z]+ :" + StandardOutputImportance="Low" + IgnoreExitCode="true" + > + <Output TaskParameter="ExitCode" PropertyName="ApiCompatExitCode" /> + </Exec> + + <!-- + To force incremental builds to show failures again we are invalidating + one compile input by touching the assembly info file + --> + <Touch Condition="'$(ApiCompatExitCode)'!='0'" Files="$(AssemblyInfoFile)" /> + <Error Condition="'$(ApiCompatExitCode)'!='0'" Text="ApiCompat failed for '$(TargetPath)'" /> + </Target> + + <!-- Reverse APICompat to verify that the reference assembly has all the APIs that are in the implementation --> + <Target Name="RunMatchingRefApiCompat" + Condition="'$(RunMatchingRefApiCompat)' == 'true' AND '$(RunApiCompat)' == 'true' AND '@(ReferenceFromRuntime)' == ''" > + + <PropertyGroup> + <ImplemetnationAssemblyAsContract>@(IntermediateAssembly)</ImplemetnationAssemblyAsContract> + </PropertyGroup> + + <ItemGroup> + <_ContractDependencyDirectoriesTemp Include="@(ReferencePath->'%(RootDir)%(Directory)')" /> + <!-- Remove duplicate directories by batching over them --> + <!-- Add project references first to give precedence to project-specific files --> + <_ContractDependencyDirectories Condition="'%(_ContractDependencyDirectoriesTemp.ReferenceSourceTarget)'=='ProjectReference'" Include="%(_ContractDependencyDirectoriesTemp.Identity)" /> + <_ContractDependencyDirectories Condition="'%(_ContractDependencyDirectoriesTemp.ReferenceSourceTarget)'!='ProjectReference'" Include="%(_ContractDependencyDirectoriesTemp.Identity)" /> + <_ImplementationDependencyDirectories Include="@(ResolvedMatchingContract->'%(RootDir)%(Directory)')" /> + <_ImplementationDependencyDirectories Include="$(ContractOutputPath)" /> + </ItemGroup> + + <PropertyGroup> + <MatchingRefApiCompatArgs>$(MatchingRefApiCompatArgs) "$(ImplemetnationAssemblyAsContract)"</MatchingRefApiCompatArgs> + <MatchingRefApiCompatArgs>$(MatchingRefApiCompatArgs) -contractDepends:"@(_ContractDependencyDirectories, ','),"</MatchingRefApiCompatArgs> + <MatchingRefApiCompatArgs>$(MatchingRefApiCompatArgs) -lhs:implementation</MatchingRefApiCompatArgs> + <MatchingRefApiCompatArgs>$(MatchingRefApiCompatArgs) -implDirs:"@(_ImplementationDependencyDirectories, ','),"</MatchingRefApiCompatArgs> + <MatchingRefApiCompatArgs>$(MatchingRefApiCompatArgs) -rhs:reference</MatchingRefApiCompatArgs> + <MatchingRefApiCompatArgs Condition="'$(ApiCompatExcludeAttributeList)' != ''">$(MatchingRefApiCompatArgs) -excludeAttributes:"$(ApiCompatExcludeAttributeList)"</MatchingRefApiCompatArgs> + <MatchingRefApiCompatArgs Condition="'$(BaselineAllMatchingRefApiCompatError)'!='true' and Exists('$(MatchingRefApiCompatBaseline)')">$(MatchingRefApiCompatArgs) -baseline:"$(MatchingRefApiCompatBaseline)"</MatchingRefApiCompatArgs> + <MatchingRefApiCompatBaselineAll Condition="'$(BaselineAllMatchingRefApiCompatError)'=='true'">> $(MatchingRefApiCompatBaseline)</MatchingRefApiCompatBaselineAll> + + <MatchingRefApiCompatExitCode>0</MatchingRefApiCompatExitCode> + + <MatchingRefApiCompatResponseFile>$(IntermediateOutputPath)MatchingRefApiCompat_verifyexactref.rsp</MatchingRefApiCompatResponseFile> + <MatchingRefApiCompatCmd>$(ToolHostCmd) "$(ToolsDir)ApiCompat.exe"</MatchingRefApiCompatCmd> + </PropertyGroup> + + <MakeDir Directories="$(IntermediateOutputPath)" /> + <WriteLinesToFile File="$(MatchingRefApiCompatResponseFile)" Lines="$(MatchingRefApiCompatArgs)" Overwrite="true" /> + + <Exec Condition="Exists('$(ReferenceAssembly)')" + Command="$(MatchingRefApiCompatCmd) @"$(MatchingRefApiCompatResponseFile)" $(MatchingRefApiCompatBaselineAll)" + CustomErrorRegularExpression="^[a-zA-Z]+ :" + StandardOutputImportance="Low" + IgnoreExitCode="true" + > + <Output TaskParameter="ExitCode" PropertyName="MatchingRefApiCompatExitCode" /> + </Exec> + + <!-- + To force incremental builds to show failures again we are invalidating + one compile input by touching the assembly info file + --> + <Touch Condition="'$(MatchingRefApiCompatExitCode)'!='0'" Files="$(AssemblyInfoFile)" /> + <Error Condition="'$(MatchingRefApiCompatExitCode)'!='0'" Text="MatchingRefApiCompat failed - The reference assembly doesn't match all the APIs in the implementation for '$(TargetPath)'. To address either fix errors in the reference assembly (referenced as implementation in compat errors for this reverse compat check), add the issues to the baseline file '$(MatchingRefApiCompatBaseline)' or disable this check by setting RunMatchingRefApiCompat=false in this project." /> + </Target> +</Project> diff --git a/Tools/AssemblyInfoPartial.cs b/Tools/AssemblyInfoPartial.cs new file mode 100755 index 0000000000..14b9e236cc --- /dev/null +++ b/Tools/AssemblyInfoPartial.cs @@ -0,0 +1,3 @@ +// This attribute is needed by VS at design-time when enabling the Multilingual App Toolkit +// to localize a project. Additional assembly attributes are generated by a tool at build-time. +[assembly:System.Resources.NeutralResourcesLanguage("en-US")]
\ No newline at end of file diff --git a/Tools/AssemblyInfoPartial.vb b/Tools/AssemblyInfoPartial.vb new file mode 100755 index 0000000000..34845dcddc --- /dev/null +++ b/Tools/AssemblyInfoPartial.vb @@ -0,0 +1,3 @@ +' This attribute is needed by VS at design-time when enabling the Multilingual App Toolkit +' to localize a project. Additional assembly attributes are generated by a tool at build-time. +<Assembly: System.Resources.NeutralResourcesLanguage("en-US")>
\ No newline at end of file diff --git a/Tools/BclRewriter.exe b/Tools/BclRewriter.exe Binary files differnew file mode 100755 index 0000000000..f6a3559b15 --- /dev/null +++ b/Tools/BclRewriter.exe diff --git a/Tools/BclRewriter.runtimeconfig.json b/Tools/BclRewriter.runtimeconfig.json new file mode 100755 index 0000000000..a4fd3d811b --- /dev/null +++ b/Tools/BclRewriter.runtimeconfig.json @@ -0,0 +1,8 @@ +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.1.0" + } + } +}
\ No newline at end of file diff --git a/Tools/BinPlace.targets b/Tools/BinPlace.targets new file mode 100755 index 0000000000..f93f0ff687 --- /dev/null +++ b/Tools/BinPlace.targets @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- Binplacing targets and properties --> + <PropertyGroup> + <BinPlaceUseHardlinksIfPossible Condition="'$(BinPlaceUseHardlinksIfPossible)' == ''">true</BinPlaceUseHardlinksIfPossible> + <EnableBinPlacing Condition="'$(EnableBinPlacing)' == '' AND ('$(BinPlaceRef)' == 'true' OR '$(BinPlaceRuntime)' == 'true' OR '$(BinPlaceTest)' == 'true')">true</EnableBinPlacing> + </PropertyGroup> + + <Target Name="BinPlace" + DependsOnTargets="GetBinPlaceConfiguration;BinPlaceFiles;BinPlaceProps" + AfterTargets="CopyFilesToOutputDirectory" + Condition="'$(EnableBinPlacing)' == 'true'" /> + + <Target Name="BinPlaceFiles" + Condition="'@(BinPlaceDir)' != ''" + DependsOnTargets="GetBinPlaceItems" + Inputs="@(BinPlaceDir);%(BinPlaceDir.ItemName);%(BinPlaceDir.Identity)" + Outputs="unused" > + + <PropertyGroup> + <_BinPlaceItemName>%(BinPlaceDir.ItemName)</_BinPlaceItemName> + <_BinPlaceItemName Condition="'$(_BinPlaceItemName)' == ''">BinPlaceItem</_BinPlaceItemName> + <_BinPlaceDir>%(BinPlaceDir.Identity)</_BinPlaceDir> + </PropertyGroup> + + <ItemGroup> + <!-- Temporary collection to allow dynamic include name. --> + <_BinPlaceItems Include="@($(_BinPlaceItemName))" /> + <BinPlaceItemsWithFullTargetPath Include="@(_BinPlaceItems)"> + <TargetPath Condition="'%(_BinPlaceItems.TargetPath)' != ''">%(_BinPlaceItems.TargetPath)</TargetPath> + <TargetPath Condition="'%(_BinPlaceItems.TargetPath)' == ''">%(Filename)%(Extension)</TargetPath> + </BinPlaceItemsWithFullTargetPath> + </ItemGroup> + + <Message Importance="low" Text="BinPlaceDir: $(_BinPlaceDir)" /> + + <Copy SourceFiles="@(BinPlaceItemsWithFullTargetPath)" + DestinationFiles="@(BinPlaceItemsWithFullTargetPath -> '$([MSBuild]::EnsureTrailingSlash('$(_BinPlaceDir)'))%(TargetPath)')" + SkipUnchangedFiles="true" + OverwriteReadOnlyFiles="true" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(BinPlaceUseHardlinksIfPossible)"> + <Output TaskParameter="DestinationFiles" ItemName="FileWrites" /> + </Copy> + </Target> + + <UsingTask TaskName="SaveItems" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> + <Target Name="BinPlaceProps" + Condition="'@(PackageFileDir)' != ''" + DependsOnTargets="GetBinPlaceItems" + Inputs="%(PackageFileDir.Identity);%(PackageFileDir.ItemName)" + Outputs="unused" > + <ItemGroup> + <!-- in the case of an overlapping batch (eg: multiple configurations using same directory) + use the first --> + <_packageFileDir Include="@(PackageFileDir->Distinct())" /> + </ItemGroup> + + <PropertyGroup> + <_propsFilename>$(TargetName).$(TargetGroup)-$(OSGroup)</_propsFilename> + <_propsFilename Condition="'$(TargetName)' == ''">$(MSBuildProjectName).$(TargetGroup)-$(OSGroup)</_propsFilename> + <_projectDirLength>$(ProjectDir.Length)</_projectDirLength> + </PropertyGroup> + + <PropertyGroup> + <_BinPlaceItemName>%(_packageFileDir.ItemName)</_BinPlaceItemName> + <_BinPlaceItemName Condition="'$(_BinPlaceItemName)' == ''">BinPlaceItem</_BinPlaceItemName> + </PropertyGroup> + + <ItemGroup> + <_itemsToSave Include="@($(_BinPlaceItemName))"> + <!-- intentionally empty: to be set by pkgproj --> + <TargetPath></TargetPath> + <TargetFramework>%(_packageFileDir.BuildConfiguration_NuGetTargetMonikerShort)</TargetFramework> + </_itemsToSave> + + <!-- Include doc files. --> + <_docFiles Condition="'$(BinPlaceRef)' == 'true'" Include="$(XmlDocDir)/**/$(TargetName).xml" /> + <_docFiles> + <SubFolder Condition="'%(RecursiveDir)' != ''">/$([System.String]::new('%(RecursiveDir)').TrimEnd('\').TrimEnd('/'))</SubFolder> + </_docFiles> + <_docFiles> + <TargetFramework>%(_packageFileDir.BuildConfiguration_NuGetTargetMonikerShort)</TargetFramework> + </_docFiles> + <_itemsToSave Include="@(_docFiles)"/> + + </ItemGroup> + + <Message Importance="low" Text="PackageFileDir: @(PackageFileDir)" /> + + <SaveItems ItemName="%(_packageFileDir.SaveItemName)" + Items="@(_itemsToSave)" + Files="%(_packageFileDir.Identity)\$(_propsFilename).props"> + <Output TaskParameter="Files" ItemName="FileWrites" /> + </SaveItems> + </Target> + + <Target Name="GetBinPlaceItems" DependsOnTargets="GetCopyToOutputDirectoryItems"> + <ItemGroup> + <BinPlaceItem Condition="Exists('$(TargetPath)')" Include="$(TargetPath)" /> + <BinPlaceItem Condition="Exists('$(TargetDir)$(TargetName).pdb')" Include="$(TargetDir)$(TargetName).pdb" /> + <BinPlaceItem Condition="'$(BinPlaceReferenceCopyLocalPaths)' != 'false'" Include="@(ReferenceCopyLocalPaths)" /> + <BinPlaceItem Condition="'$(BinPlaceCopyToOutputDirectoryItems)' != 'false'" Include="@(AllItemsFullPathWithTargetPath)" /> + </ItemGroup> + </Target> + + <UsingTask TaskName="FindBestConfigurations" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> + <Target Name="GetBinPlaceConfiguration" DependsOnTargets="GetBuildConfigurations"> + <!-- find which, if any, build configuration of this project is best + for each binplace configuration --> + <FindBestConfigurations Properties="@(Property)" + PropertyValues="@(PropertyValue)" + SupportedConfigurations="$(_AllBuildConfigurations)" + Configurations="@(BinPlaceConfiguration)"> + <Output TaskParameter="BestConfigurations" ItemName="_bestBinlaceConfigurations" /> + </FindBestConfigurations> + + <ItemGroup> + <_currentBinPlaceConfigurations Include="@(_bestBinlaceConfigurations)" Condition="'%(Identity)' == '$(Configuration)' OR '%(Identity)-$(ConfigurationGroup)' == '$(Configuration)'" /> + + <BinPlaceDir Condition="'$(BinPlaceTest)' == 'true'" Include="@(_currentBinPlaceConfigurations->'%(TestPath)')" /> + <BinPlaceDir Condition="'$(BinPlaceRuntime)' == 'true'" Include="@(_currentBinPlaceConfigurations->'%(RuntimePath)')" /> + <BinPlaceDir Condition="'$(BinPlaceRef)' == 'true'" Include="@(_currentBinPlaceConfigurations->'%(RefPath)')" /> + + <PackageFileDir Condition="'$(BinPlaceRuntime)' == 'true'" Include="@(_currentBinPlaceConfigurations->'%(PackageFileRuntimePath)')"> + <SaveItemName Condition="'%(_currentBinPlaceConfigurations.SaveItemName)' == ''">LibFile</SaveItemName> + </PackageFileDir> + <PackageFileDir Condition="'$(BinPlaceRef)' == 'true'" Include="@(_currentBinPlaceConfigurations->'%(PackageFileRefPath)')"> + <SaveItemName Condition="'%(_currentBinPlaceConfigurations.SaveItemName)' == ''">RefFile</SaveItemName> + </PackageFileDir> + + <!-- permit BinplaceConfigurations to define SetProperties metadata, + set those properties when BinplaceConfiguration is active --> + <_binplacePropertyTuples Include="%(_currentBinPlaceConfigurations.SetProperties)" /> + + <_binplaceSetProperty Condition="'%(_binplacePropertyTuples.Identity)' != ''" + Include="$([System.String]::new('%(_binplacePropertyTuples.Identity)').Split('=')[0])"> + <Value>$([System.String]::new('%(_binplacePropertyTuples.Identity)').Split('=')[1])</Value> + </_binplaceSetProperty> + </ItemGroup> + + <CreateProperty Value="%(_binplaceSetProperty.Value)" Condition="'@(_binplaceSetProperty)' != ''" > + <Output TaskParameter="Value" PropertyName="%(_binplaceSetProperty.Identity)" /> + </CreateProperty> + </Target> + + <!-- IncrementalClean and CoreClean only clean paths under Intermediate or OutDir, handle additional paths --> + <ItemGroup> + <AdditionalCleanDirectories Include="@(BinPlaceConfiguration->'%(RefPath)')" /> + <AdditionalCleanDirectories Include="@(BinPlaceConfiguration->'%(RuntimePath)')" /> + <AdditionalCleanDirectories Include="@(BinPlaceConfiguration->'%(PackageFileRefPath)')" /> + <AdditionalCleanDirectories Include="@(BinPlaceConfiguration->'%(PackageFileRuntimePath)')" /> + <AdditionalCleanDirectories Include="@(BinPlaceConfiguration->'%(TestPath)')" /> + </ItemGroup> + + <Target Name="_CleanGetCurrentAdditionalFileWrites" BeforeTargets="_CleanGetCurrentAndPriorFileWrites" Condition="'@(AdditionalCleanDirectories)' != ''"> + <!-- find files under paths we care about and add them to _CleanCurrentFileWrites to ensure they are written to the file list --> + <FindUnderPath Path="%(AdditionalCleanDirectories.Identity)" Files="@(FileWrites)" UpdateToAbsolutePaths="true"> + <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWrites" /> + </FindUnderPath> + </Target> + + <!-- delete files under our AdditionalCleanDirectories on Incremental clean --> + <Target Name="IncrementalCleanAdditionalDirectories" BeforeTargets="IncrementalClean" Condition="'@(AdditionalCleanDirectories)' != ''"> + <ItemGroup> + <_CleanOrphanAdditionalFileWrites Include="@(_CleanPriorFileWrites)" Exclude="@(_CleanCurrentFileWrites)" /> + </ItemGroup> + <FindUnderPath Path="%(AdditionalCleanDirectories.Identity)" Files="@(_CleanOrphanAdditionalFileWrites)"> + <Output TaskParameter="InPath" ItemName="_CleanOrphanFileWritesInAdditionalDirectories" /> + </FindUnderPath> + + <!-- Delete the orphaned files. IncrementalClean will remove these from the file list --> + <Delete Files="@(_CleanOrphanFileWritesInAdditionalDirectories)" TreatErrorsAsWarnings="true"> + <Output TaskParameter="DeletedFiles" ItemName="_CleanOrphanFilesDeleted" /> + </Delete> + </Target> + + <!-- delete files under our AdditionalCleanDirectories on CoreClean --> + <Target Name="CleanAdditionalDirectories" AfterTargets="CoreClean" Condition="'@(AdditionalCleanDirectories)' != ''"> + <FindUnderPath Path="%(AdditionalCleanDirectories.Identity)" Files="@(_CleanUniqueRemainingFileWrites)"> + <Output TaskParameter="InPath" ItemName="_CleanUniqueRemainingFileWritesInAdditionalDirectories"/> + </FindUnderPath> + + <Delete Files="@(_CleanUniqueRemainingFileWritesInAdditionalDirectories)" TreatErrorsAsWarnings="true"> + <Output TaskParameter="DeletedFiles" ItemName="_CleanUniqueRemainingFileWritesInAdditionalDirectoriesDeleted" /> + </Delete> + + <!-- Create a list of everything that wasn't deleted. --> + <ItemGroup> + <_CleanRemainingFileWritesAfterCleanAdditionalDirectories Include="@(_CleanUniqueRemainingFileWrites)" Exclude="@(_CleanUniqueRemainingFileWritesInAdditionalDirectoriesDeleted)"/> + </ItemGroup> + + <!-- Remove duplicates. --> + <RemoveDuplicates Inputs="@(_CleanRemainingFileWritesAfterCleanAdditionalDirectories)"> + <Output TaskParameter="Filtered" ItemName="_CleanAdditionalDirectoriesUniqueRemainingFileWrites"/> + </RemoveDuplicates> + + <!-- Make sure the directory exists. --> + <MakeDir Directories="$(IntermediateOutputPath)"/> + + <!-- Write new list of current files back to disk. --> + <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanAdditionalDirectoriesUniqueRemainingFileWrites)" Overwrite="true" /> + </Target> +</Project>
\ No newline at end of file diff --git a/Tools/BlockReflectionAttribute.cs b/Tools/BlockReflectionAttribute.cs new file mode 100755 index 0000000000..0ba997c171 --- /dev/null +++ b/Tools/BlockReflectionAttribute.cs @@ -0,0 +1,14 @@ +/* + Providing a definition for __BlockReflectionAttribute in an assembly is a signal to the .NET Native toolchain + to remove the metadata for all non-public APIs. This both reduces size and disables private reflection on those + APIs in libraries that include this. The attribute can also be applied to individual public APIs to similarly block them. + This file is consumed by Build.Common.Targets. +*/ + +using System; + +namespace System.Runtime.CompilerServices +{ + [AttributeUsage(AttributeTargets.All)] + internal class __BlockReflectionAttribute : Attribute { } +} diff --git a/Tools/Build.Common.props b/Tools/Build.Common.props new file mode 100755 index 0000000000..11c8dd8ef5 --- /dev/null +++ b/Tools/Build.Common.props @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- + This file will contain all of the common properties from most repos. The intention is to only have + repo specific properties inside the repos, and move to this file everything that is common. + --> + + <!-- + Import the reference assembly props + + Sets Properties: + IsReferenceAssembly - Set if the project is in the ref assm path + --> + <Import Project="$(MSBuildThisFileDirectory)ReferenceAssemblies.props" Condition="'$(ExcludeReferenceAssembliesImport)'!='true'" /> + + <Import Project="$(MSBuildThisFileDirectory)RepoAPI.Mapping.props" /> + + <PropertyGroup> + <ChecksumAlgorithm>SHA256</ChecksumAlgorithm> + </PropertyGroup> + + <PropertyGroup> + <GetNuGetPackageVersionsDependsOn>CreateVersionFileDuringBuild</GetNuGetPackageVersionsDependsOn> + </PropertyGroup> + + <!-- Platform detection --> + <PropertyGroup> + <DefaultOSGroup Condition="'$(OS)'=='Unix' AND Exists('/Applications')">OSX</DefaultOSGroup> + <DefaultOSGroup Condition="'$(DefaultOSGroup)'=='' AND '$(OS)'=='Unix' AND $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</DefaultOSGroup> + <DefaultOSGroup Condition="'$(DefaultOSGroup)'=='' AND '$(OS)'=='Unix' AND $([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</DefaultOSGroup> + <DefaultOSGroup Condition="'$(DefaultOSGroup)'=='' AND '$(OS)'=='Unix'">Linux</DefaultOSGroup> + <DefaultOSGroup Condition="'$(DefaultOSGroup)'==''">$(OS)</DefaultOSGroup> + <RunningOnUnix Condition="'$(OS)'!='Windows_NT'">true</RunningOnUnix> + + <RunningOnCore Condition="'$(MSBuildRuntimeType)' == 'core'">true</RunningOnCore> + </PropertyGroup> + + <!-- Common BuildTools properties --> + <PropertyGroup> + <RootIntermediateOutputPath Condition="$(RootIntermediateOutputPath) == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), init-tools.msbuild))/bin/obj/</RootIntermediateOutputPath> + <ToolsDir Condition="'$(ToolsDir)'==''">$(MSBuildThisFileDirectory)</ToolsDir> + <ToolRuntimePath Condition="'$(ToolRuntimePath)'==''">$(ToolsDir)</ToolRuntimePath> + <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolRuntimePath)dotnetcli/</DotnetCliPath> + <OverrideToolHost Condition="'$(RunningOnUnix)' == 'true'">$(DotnetCliPath)dotnet</OverrideToolHost> + <OverrideToolHost Condition="'$(RunningOnUnix)' != 'true'">$(DotnetCliPath)dotnet.exe</OverrideToolHost> + <BuildToolsTaskDir Condition="'$(RunningOnCore)'!='true'">$(ToolsDir)net46/</BuildToolsTaskDir> + <BuildToolsTaskDir Condition="'$(RunningOnCore)'=='true'">$(ToolsDir)</BuildToolsTaskDir> + <RoslynIncompatibleMsbuildVersion Condition="'$(MSBuildToolsVersion)' == '2.0' OR + '$(MSBuildToolsVersion)' == '3.5' OR + '$(MSBuildToolsVersion)' == '4.0' OR + '$(MSBuildToolsVersion)' == '12.0' OR + '$(MSBuildToolsVersion)' == '14.0'">true</RoslynIncompatibleMsbuildVersion> + <!-- UseSharedCompilation is not supported in MSBuild 14.0 with the new version of roslyn, so make sure we are not using that for building --> + <UseSharedCompilation Condition="'$(UseSharedCompilation)' == '' and '$(UseRoslynCompilers)' != 'false' and '$(RoslynIncompatibleMsbuildVersion)' != 'true'">true</UseSharedCompilation> + <GenFacadesIgnoreBuildAndRevisionMismatch>true</GenFacadesIgnoreBuildAndRevisionMismatch> + </PropertyGroup> + + <!-- Setting IsTestProject prior to Build.Common.targets --> + <PropertyGroup> + <IsTestProject Condition="'$(IsTestProject)'=='' And ($(MSBuildProjectFullPath.Contains('\tests\')) OR $(MSBuildProjectFullPath.Contains('/tests/')))">true</IsTestProject> + <IsPerformanceTestProject Condition="'$(IsPerformanceTestProject)' == '' AND '$(IsTestProject)' == 'true' AND $(MSBuildProjectName.EndsWith('Performance.Tests'))">true</IsPerformanceTestProject> + </PropertyGroup> + + <Import Project="$(MSBuildThisFileDirectory)BuildVersion.targets" /> + + <Import Project="$(MSBuildThisFileDirectory)Roslyn.Common.props" Condition="'$(DisableBuildToolsRoslynVersion)' != 'true'" /> + + <!-- Restore commands --> + <PropertyGroup> + <DotnetToolCommand>$(OverrideToolHost)</DotnetToolCommand> + <DotnetRestoreSource>@(DotnetSourceList -> '--source %(Identity)', ' ')</DotnetRestoreSource> + <DotnetRestoreCommand>"$(DotnetToolCommand)"</DotnetRestoreCommand> + <DotnetRestoreCommand>$(DotnetRestoreCommand) restore</DotnetRestoreCommand> + <DotnetRestoreCommand>$(DotnetRestoreCommand) --packages "$(PackagesDir.TrimEnd('/').TrimEnd('\'))" $(DotnetRestoreSource)</DotnetRestoreCommand> + <DotnetRestoreCommand Condition="'$(NuGetConfigPath)'!=''">$(DotnetRestoreCommand) --configfile $(NuGetConfigPath)</DotnetRestoreCommand> + + <!-- Keeping this for legacy reasons for now but should eliminate Dnu* eventually --> + <DnuRestoreCommand>$(DotnetRestoreCommand)</DnuRestoreCommand> + </PropertyGroup> + + <!-- + import the MicroBuild boot-strapper props (only relevant for shipping binaries) + --> + <Import Project="$(MSBuildThisFileDirectory)MicroBuild.Core.props" Condition="Exists('$(MSBuildThisFileDirectory)MicroBuild.Core.props') and '$(IsTestProject)' != 'true' and '$(ExcludeSigningImport)' != 'true'" /> +</Project> diff --git a/Tools/Build.Common.targets b/Tools/Build.Common.targets new file mode 100755 index 0000000000..2bc4283f53 --- /dev/null +++ b/Tools/Build.Common.targets @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="CheckDesignTime"> + + <!-- Provide default targets which can be hooked onto or overridden as necessary --> + <Target Name="BuildAndTest" DependsOnTargets="Build;Test" /> + <Target Name="RebuildAndTest" DependsOnTargets="Rebuild;Test" /> + <Target Name="Test" /> + + <PropertyGroup> + <!-- Due to a bug in the Roslyn Microsoft.NETCore.Compilers.props file, VisualBasicCoreTargetsPath is not set, and instead they set BasicCoreTargetsPath so the wrong targets get imported --> + <VisualBasicCoreTargetsPath Condition="'$(VisualBasicCoreTargetsPath)' == '' And '$(BasicCoreTargetsPath)' != ''">$(BasicCoreTargetsPath)</VisualBasicCoreTargetsPath> + + <BuildToolsTaskDir Condition="'$(BuildToolsTaskDir)' == ''">$(ToolsDir)</BuildToolsTaskDir> + + <!-- For UAP, we need to bin place the resources as resw files to create the runner's pri file. --> + <ResourcesFolderPath Condition="'$(ResourcesFolderPath)' == ''">$(RuntimePath)resw</ResourcesFolderPath> + + <!-- A number of the imports below depend on these default properties --> + <AssemblyVersion Condition="'$(AssemblyVersion)'==''">999.999.999.999</AssemblyVersion> + <CLSCompliant Condition="'$(CLSCompliant)'=='' and '$(IsTestProject)'=='true'">false</CLSCompliant> + <CLSCompliant Condition="'$(CLSCompliant)'==''">true</CLSCompliant> + + <!-- + Find projects in the tests folder which are not executable to distinguish + from accompanying support libraries. + --> + <IsInvokableTestProject Condition="'$(IsTestProject)' == 'true' AND '$(OutputType.ToLower())' != 'exe'">true</IsInvokableTestProject> + + <!-- + Check if the project has been localized by looking for the existence of the .de.xlf file. By convention, we assume that if + a project is localized in German, then it is localized in all languages. + --> + <ExcludeLocalizationImport Condition="'$(ExcludeLocalizationImport)'=='' And !Exists('$(MSBuildProjectDirectory)/MultilingualResources/$(MSBuildProjectName).de.xlf')">true</ExcludeLocalizationImport> + </PropertyGroup> + + <!-- Assembly metadata indicating that an assembly is a framework (as opposed to user) assembly: + Test projects need to not have this because of the way "IsFrameworkAssembly" APIs work to check this. --> + <ItemGroup Condition="'$(IsDotNetFrameworkProductAssembly)' == 'true' AND '$(IsTestProject)' != 'true'" > + <AssemblyMetadata Include=".NETFrameworkAssembly"> + <Value></Value> + </AssemblyMetadata> + <AssemblyMetadata Include="Serviceable"> + <Value>True</Value> + </AssemblyMetadata> + <AssemblyMetadata Include="PreferInbox"> + <Value>True</Value> + </AssemblyMetadata> + </ItemGroup> + + <!-- + Import the provides support for EnsureBuildToolsRuntime target which will restore a .NET Core based + runtime and setup a $(ToolRuntimePath) and $(ToolHost) for others to consume. + + This must be imported before any tools that need to use it are imported. + --> + <Import Project="$(MSBuildThisFileDirectory)toolruntime.targets" Condition="'$(ExcludeToolRuntimeImport)' != 'true'"/> + + <!-- + Import the reference assembly targets + + This must be imported early because it modifies OutputPath and IntermediateOutputPath + used by other targets + + Depends on Properties: + AssemblyVersion - Needed to determine API version used in + IsReferenceAssembly - Set if the project is in the ref assm path + + Sets Properties: + APIVersion - Major.Minor assembly version for the project + --> + <Import Project="$(MSBuildThisFileDirectory)ReferenceAssemblies.targets" Condition="'$(ExcludeReferenceAssembliesImport)'!='true'" /> + + <!-- + Import the codeAnalysis.targets file to enable analyzer support during build. + This should happen before we import the frameworkTargeting.targets because that import leads to computing a default + for the CodeAnalysisRuleset unless one is already specified + --> + <Import Project="$(MSBuildThisFileDirectory)codeAnalysis.targets" Condition="'$(ExcludeCodeAnalysisImport)' != 'true'" /> + + <!-- + Import the codeOptimization.targets file to enable profile guided code optimization for managed assemblies. + --> + <Import Project="$(MSBuildThisFileDirectory)codeOptimization.targets" /> + + <!-- + Import the Symbols.targets file to provide access to Symbol Server index/archive tooling. + --> + <Import Project="$(MSBuildThisFileDirectory)Symbols.targets" /> + + <!-- + Import the PublishProduct.targets file for publish tooling like NuGetPush. + --> + <Import Project="$(MSBuildThisFileDirectory)PublishProduct.targets" /> + + <!-- + Import the default target framework targets. + + Inputs: + TargetFrameworkIdentifier - If not set defaults to .NETPortable + TargetFrameworkVersion - If not set defaults to v4.5 + TargetFrameworkProfile - If not set defaults to Profile7 + + This Imports portable.csharp/visualbasic.targets if .NETPortable is the identifier otherwise it imports csharp/visualbasic.targets + --> + <Import Project="$(MSBuildThisFileDirectory)FrameworkTargeting.targets" Condition="'$(ExcludeFrameworkTargetingImport)'!='true'" /> + + <!-- + Import the default assembly info generation targets + + Inputs: + GenerateAssemblyInfo - Controls whether or not to generate the assembly info file and defaults to true if not set. + AssemblyVersion - If not set defaults to 1.0.0.0 but it is expected to be set in csproj files. + CLSCompliant - If not set defaults to true and if it is true then adds the assembly level CLSCompliant(true) attribute. + + File Version Inputs: + MajorVersion - If not set defaults to 1. + MinorVersion - If not set defaults to 0. + BuildNumberMajor - If not set defaults to 0. + BuildNumberMinor - If not set defaults to 0. + AssemblyFileVersion - If not set defaults to $(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor). + + BuildNumberTarget - If this property is set it will try to import the file which allows for it to override the properties above. + --> + <Import Project="$(MSBuildThisFileDirectory)versioning.targets" Condition="'$(ExcludeVersioningImport)'!='true'" /> + + <Import Project="$(MSBuildThisFileDirectory)Packaging.targets" Condition="'$(ExcludePackagingImport)'!='true' AND '$(MSBuildProjectExtension)' == '.pkgproj'" /> + + <!-- Task to detect the TestNugetRuntimeId of a platform. This target is here to allow both the test build and sync steps to use + the same property for asset selection. + --> + <UsingTask TaskName="GetTargetMachineInfo" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> + <Target Name="GetDefaultTestRid"> + <GetTargetMachineInfo> + <Output TaskParameter="RuntimeIdentifier" PropertyName="DefaultTestNugetRuntimeId" /> + </GetTargetMachineInfo> + <!-- On Windows, we always use win7-x64 as the default test RID because the build context, + usually 32-bit full-framework MSBuild, is not a good default test context. --> + <PropertyGroup> + <DefaultTestNugetRuntimeId Condition="$(DefaultTestNugetRuntimeId.StartsWith('win'))">win7-x64</DefaultTestNugetRuntimeId> + <TestArchitecture Condition="'$(TestArchitecture)' == ''">x64</TestArchitecture> + <TestNugetRuntimeId Condition="'$(TestNugetRuntimeId)' == '' And '$(TestArchitecture)'=='x86'">win7-x86</TestNugetRuntimeId> + <TestNugetRuntimeId Condition="'$(TestNugetRuntimeId)' == ''">$(DefaultTestNugetRuntimeId)</TestNugetRuntimeId> + </PropertyGroup> + </Target> + + <PropertyGroup> + <ResolvePkgProjReferencesDependsOn>GetDefaultTestRid;$(ResolvePkgProjReferencesDependsOn)</ResolvePkgProjReferencesDependsOn> + </PropertyGroup> + + <!-- + Import the default package restore and resolve targets + + Inputs: + ProjectJson - If not set defaults to $(MSBuildProjectDirectory)\project.json + RestorePackages - If not set defaults to the existence of the $(ProjectJson) + ResolveNuGetPackages - If not set defaults to the existance of $(ProjectJson) + + Depends on properties: + NugetRestoreCommand - Used to restore the project packages from packages.config + DnuRestoreCommand - Used to restore the project packages from project.json + PackagesDir - Packages are restored to and resolved from this location + + Depends on properties set by csharp/visualbasic.targets so needs to be imported after. + --> + <Import Project="$(MSBuildThisFileDirectory)packageresolve.targets" Condition="'$(ExcludePackageResolveImport)'!='true'" /> + + <!-- + Import the optional tooling restore and resolve targets + + Inputs: + OptionalToolSource - If not set, optional tools are not restored + OptionalToolSourceUser - If not set, no authentication is used to access the feed + OptionalToolSourcePassword - If not set, no authentication is used to access the feed + + Depends on properties: + DnuRestoreCommand - Used to restore the optional tool packages + PackagesDir - Location to resolve optional tool package assets + ToolsDir - Location to find optional-tool-runtime project.json + --> + <Import Project="$(MSBuildThisFileDirectory)OptionalTooling.targets" /> + + <!-- + Import the partial facade generation targets + + Inputs: + GeneratePlatformNotSupportedAssembly - Determines wether to generate not-supported API for this assembly + --> + <Import Project="$(MSBuildThisFileDirectory)notsupported.targets" Condition="'$(ExcludePartialFacadesImport)' != 'true'"/> + + <!-- + Import the default SR resource generation targets + + Inputs: + ResourcesSourceOutputDirectory - If not set defaults to $(MSBuildProjectDirectory)\Resources. + StringResourcesPath - If not set defaults to $(ResourcesSourceOutputDirectory\Strings.resx if it exists. If the file exists + then the targets generates the strongly typed $(ResourcesSourceOutputDirectory)\SR.cs/vb file based on resource strings. + OmitResources - If set to true will skip resource inclusion even if StringResourcesPath exists. + --> + <Import Project="$(MSBuildThisFileDirectory)resources.targets" Condition="'$(ExcludeResourcesImport)'!='true'" /> + + <!-- + Import the localization target + --> + <Import Project="$(MSBuildThisFileDirectory)localization.targets" Condition="'$(ExcludeLocalizationImport)'!='true'" /> + + <!-- + Import the partial facade generation targets + + Inputs: + IsPartialFacadeAssembly - Determines whether the partial facade generation targets will be as a post-processing step on the + assembly. Also invokes special logic for determining References. + --> + <Import Project="$(MSBuildThisFileDirectory)partialfacades.targets" Condition="'$(ExcludePartialFacadesImport)' != 'true'"/> + + <!-- Import the ApiCompat targets. --> + <Import Project="$(MSBuildThisFileDirectory)ApiCompat.targets" Condition="'$(ExcludeApiCompatImport)' != 'true'"/> + + <!-- + Import the contract resolution targets + + Inputs: + AssemblyName - Needed to determine which contract name to map to + AssemblyVersion - Needed to determine which contract version to map to + --> + <Import Project="$(MSBuildThisFileDirectory)resolveContract.targets" Condition="'$(ExcludeResolveContractImport)' != 'true'"/> + <!-- + Import the default signing targets which will setup the authenticode properties and do OpenSourceSigning + + Inputs: + SkipSigning - For projects that want to opt-out of strong name signing the can set this to true. + --> + <Import Project="$(MSBuildThisFileDirectory)sign.targets" Condition="'$(ExcludeSigningImport)'!='true'" /> + + <!-- + Import the tests.targets which controls the publishing and running of the tests, including code coverage options. + + Inputs: + RunTestsForProject - Usually set at the project level to disable the tests for a single project. + CoverageEnabledForProject - Usually set at the project level to disable code coverage for a single project. + SkipTests - Usually set at the root level for builds that want to disable all the tests. + ProjectJson - If not set defaults to $(MSBuildProjectDirectory)\project.json + CopyTestToTestDirectory - If not set defaults to $(IsTestProject) + + Depends on Properties: + TestPath - Controls the root path from where the test assets are published and run from. + NugetRestoreCommand - Used to restore the test runtime package + DnuRestoreCommand - Used to restore the project packages from project.json + PackagesDir - Packages are restored to and resolved from this location + --> + <Import Project="$(MSBuildThisFileDirectory)tests.targets" Condition="'$(IsTestProject)'=='true' and '$(ExcludeTestsImport)'!='true'"/> + + <!-- + Import the PackageLibs.targets which exposes targets from library projects to report what + assets they contribute to nuget packages. + Inputs: + PackageTargetFramework - Target moniker to use for harvested dependencies. + If PackageTargetPath is not set, PackageTargetPath will be constructed + based on PackageTargetFramework. + + Optional Inputs: + PackageSourcePath - Source path to the built output to be packaged, default is $(TargetPath) + Can be overridden. + IsReferenceAssembly - true if this project is a reference assembly. + PackageTargetPath - Destination subpath in the package at which all assets from this project + should be located. Default is lib\$(PackageTargetFramework) for implementation + assemblies, ref\$(PackageTargetFramework) for reference assemblies. Can be + overridden. When overridding also override PackageTargetFramework. + PackageTargetRuntime - Runtime id to use for harvested dependencies, default is none. + Can be overridden. If PackageTargetRuntime is overridden and PackageTargetPath + is not, PackageTargetPath will be constructed based on PackageTargetRuntime. + @(PackageDestination) - List of items with TargetFramework metadata that represent destination + subpaths in the package at which all assets from this project should be + located. When specified takes precedence over PackageTargetPath & + PackageTargetFramework. + DocumentationFile - location of xml doc produced by this project. + XmlDocFileRoot - location to pre-authored localized xml doc files + PackageIncludeDocs - true to include the docs next to this project's ouput. Default + is true for reference assemblies, false for implementation. + --> + <Import Project="$(MSBuildThisFileDirectory)PackageLibs.targets" Condition="'$(ExcludePackageLibsImport)'!='true'"/> + + <Target Name="CheckDesignTime"> + <!-- + Visual Studio does a number of background builds to do a variety of tasks such as resolving references and preparing for intellisense. + These are called "design time" builds. You can only determine this state within a target as the properties VS sets are added at build time. + + To see design time logs set TRACEDESIGNTIME=true before launching Visual Studio. Logs will go to %TEMP%. + + Note that the existing $(DesignTimeBuild) is not set for all background builds. + --> + <PropertyGroup> + <VSDesignTimeBuild Condition="'$(BuildingInsideVisualStudio)'=='true' and '$(BuildingOutOfProcess)'=='false'">true</VSDesignTimeBuild> + </PropertyGroup> + </Target> + + <!-- + import the MicroBuild boot-strapper project (only relevant for shipping binaries) + NOTE: we import this at the end as it will override some dummy targets (e.g. SignFiles) + --> + <Import Project="$(MSBuildThisFileDirectory)MicroBuild.Core.targets" Condition="Exists('$(MSBuildThisFileDirectory)MicroBuild.Core.targets') and '$(IsTestProject)' != 'true' and '$(ExcludeSigningImport)' != 'true'" /> + + <!-- + Providing a definition for __BlockReflectionAttribute in an assembly is a signal to the .NET Native toolchain + to remove the metadata for all non-public APIs. This both reduces size and disables private reflection on those + APIs in libraries that include this. The attribute can also be applied to individual public APIs to similarly block them. + --> + <PropertyGroup> + <BlockReflectionAttribute Condition="'$(BlockReflectionAttribute)' == '' and '$(UWPCompatible)' == 'true' and '$(IsTestProject)' != 'true'">true</BlockReflectionAttribute> + <BlockReflectionAttribute Condition="'$(MSBuildProjectExtension)' != '.csproj'">false</BlockReflectionAttribute> + </PropertyGroup> + + <PropertyGroup Condition="'$(BlockReflectionAttribute)'=='true'"> + <CoreCompileDependsOn>$(CoreCompileDependsOn);AddBlockReflectionAttribute</CoreCompileDependsOn> + <BlockReflectionAtributeFile>$(MSBuildThisFileDirectory)/BlockReflectionAttribute.cs</BlockReflectionAtributeFile> + </PropertyGroup> + + <Target Name="AddBlockReflectionAttribute" > + <ItemGroup> + <Compile Include="$(BlockReflectionAtributeFile)" /> + </ItemGroup> + </Target> + + <Import Project="$(CustomAfterBuildCommonTargets)" Condition="Exists('$(CustomAfterBuildCommonTargets)')"/> +</Project> diff --git a/Tools/Build.Post.targets b/Tools/Build.Post.targets new file mode 100755 index 0000000000..6ac5d7588e --- /dev/null +++ b/Tools/Build.Post.targets @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Target Name="CloudBuild" Condition="'$(EnableCloudTest)' != 'true'" /> + + <!-- + enables cloud-distributed testing. please see target VerifyInputs + in CloudTest.targets for the complete list of required properties. + --> + <Import Project="$(MSBuildThisFileDirectory)CloudTest.targets" Condition="'$(EnableCloudTest)' == 'true'" /> + +</Project> diff --git a/Tools/BuildVersion.targets b/Tools/BuildVersion.targets new file mode 100755 index 0000000000..08bfa817e9 --- /dev/null +++ b/Tools/BuildVersion.targets @@ -0,0 +1,16 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <TodayTimeStamp>$([System.DateTime]::Now.ToString(yyyyMMdd))</TodayTimeStamp> + <BuildVersionFilePath>$(RootIntermediateOutputPath)</BuildVersionFilePath> + <BuildVersionFile Condition="'$(BuildVersionFile)'==''">$(BuildVersionFilePath)BuildVersion-$(TodayTimeStamp).props</BuildVersionFile> + </PropertyGroup> + + <!-- If BuildVersion.props exists already then import it to get BuildNumberMajor, else generate it and override props values. --> + <Import Condition="Exists('$(BuildVersionFile)')" Project="$(BuildVersionFile)" /> + + <PropertyGroup Condition="!Exists('$(BuildVersionFile)')"> + <ShouldCreateVersionFileDuringBuild>true</ShouldCreateVersionFileDuringBuild> + </PropertyGroup> + +</Project> diff --git a/Tools/CloudTest.Helix.targets b/Tools/CloudTest.Helix.targets new file mode 100755 index 0000000000..bd76af5d93 --- /dev/null +++ b/Tools/CloudTest.Helix.targets @@ -0,0 +1,425 @@ +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <!-- For the separate package scenario (not BuildTools) we need to pick up the right version of the assembly. --> + <!-- This will only work on versions of MSBuild that supply MSBuildRuntimeType (defaults to core in this case. --> + <BuildToolsTaskDir Condition="'$(BuildToolsTaskDir)'=='' And '$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)</BuildToolsTaskDir> + <BuildToolsTaskDir Condition="'$(BuildToolsTaskDir)'=='' And '$(MSBuildRuntimeType)' == 'Full'">$(MSBuildThisFileDirectory)\desktop\</BuildToolsTaskDir> + </PropertyGroup> + + <UsingTask TaskName="CreateAzureContainer" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="RemoveItemMetadata" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="SendJobsToHelix" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="UploadToAzure" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="ValidateWorkItems" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="WriteItemsToJson" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="WriteTestBuildStatsJson" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + <UsingTask TaskName="ZipFileCreateFromDependencyLists" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/> + + <!-- See Documentation\Samples\CloudTest.Helix.targets.sampleproject for a sample project. + + Some helpful Helix environment variables: (Use appropriate-for-OS means to access, i.e. %WINDOWS% or $Linux, $OSX ) + ********************************************************************************************************************************** + HELIX_WORKITEM_PAYLOAD - Execution folder of helix workitem, current directory when using relative path. + HELIX_CORRELATION_ID - GUID identifier for a helix run. + HELIX_PYTHONPATH - Path to python executable + HELIX_CORRELATION_PAYLOAD - Correlation payload folder; root of where all correlation payloads are unzipped. + HELIX_WORKITEM_FRIENDLYNAME - Friendly name of work item + ********************************************************************************************************************************** + + Variables that CloudTest.Helix.Targets cares about: + ********************************************************************************************************************************** + Required Properties: + ********************************************************************************************************************************** + HelixJobType - Job Type formatting string, used for sorting and display of jobs. + HelixSource - Job Source formatting string, used for sorting and display of jobs. + TargetQueues - Queue(s) to send Jobs to. (TODO: Need discoverability for users) + BuildMoniker - Identifying name for build when sending to Helix. Used for labelling runs. + CloudDropConnectionString - Azure Storage account connection string used for payloads. + CloudResultsConnectionString - Azure Storage account connection string used for results. + ArchivesRoot - Relative path for work item payloads to use. Blob Uris will be made relative to this. + + ********************************************************************************************************************************** + Optional Properties: + ********************************************************************************************************************************** + TestListFilename - File name to use for test list sent to Helix. Default: TestList.json + OverwriteOnUpload - Whether to overwrite blobs if they already exist on upload. Default: False + ContainerName - Container name for uploaded files. Default: build-<Random GUID>. + IsOfficial - Boolean flag for display on Mission Control. Default: False + IsDropPublic - Boolean flag allowing anonymous access to build drop container. Default: False + HelixBlobPrefix - Prefix for all blobs uploaded to Azure during Helix prep Default: <Blank> + HelixApiEndpoint - Endpoint to send jobs to. Default: https://helix.dot.net/api/2016-06-28/jobs + CloudResultsReadTokenValidDays - Days that result URLs produced will be readble Default: 30 + CloudResultsWriteTokenValidDays - Days that result URLs produced will be writeable Default: 4 + SupplementalPayloadDir - Temp (deletable) dir for assembling supplemental payloads Default: Random folder in %TEMP% + HelixApiAccessKey - GitHub API Access Key for sending jobs to Helix. Get from https://helix.dot.net/UserProfile/Index/ + HelixLogFolder - Folder for storing JSON files describing job start and other info Default: <Blank> + HelixCorrelationInfoFileName - JSON file containing info on started jobs Default: Helix-correlation-infos.json + HelixJobProperties- Must be JSON. String describing Helix MC-specific metadata. Default: <Blank> + HelixArchLabel - If HelixJobProperties is not set, we'll use this to fill it out Default: <Blank> + HelixConfigLabel - If HelixJobProperties is not set, we'll use this to fill it out Default: <Blank> + MaxRetryCount - Max automatic retry of workitems which do not return 0 Default: 0 (no retry) + HelixAttempt - A lexically monotonic increasing string distinguishing Default: <Blank> + jobs whose results should override previous executions. + + ********************************************************************************************************************************** + Re-queuing Properties: + ********************************************************************************************************************************** + UseContinuationRunner - Use runner script that is capable of sending to another queue when finished Default: False + SecondaryQueue - When submitting multi-stage tests, queue for secondary jobs Default: <Blank> + SecondarySasValidHours - SAS Valid time for token provided for multi-stage tests. Default: 15.0 + SecondaryPayloadDir - Folder to make into workitem payload for continued execution Default: <Blank> + + ********************************************************************************************************************************** + Required ITaskItems: + ********************************************************************************************************************************** + HelixWorkItem - Zip files to be uploaded as payloads. + + ********************************************************************************************************************************** + Optional ITaskItems: + ********************************************************************************************************************************** + HelixCorrelationPayloadFile - Zip files to be uploaded as correlation payloads (shared by all work items, cached where possible) + --> + + <!-- Main entry point --> + <Target Name="HelixCloudBuild" DependsOnTargets="VerifyInputs;PreCloudBuild;ValidateWorkItems;UploadContent;CreateTestListJson" /> + + <PropertyGroup> + <OverwriteOnUpload Condition="'$(OverwriteOnUpload)' == ''">false</OverwriteOnUpload> + <ContainerName Condition="'$(ContainerName)'== ''">build-$([System.Guid]::NewGuid().ToString("N"))</ContainerName> + <ContainerName>$(ContainerName.ToLower())</ContainerName> + <TestListFilename Condition="'$(TestListFilename)'==''">TestList.json</TestListFilename> + <SupplementalPayloadDir Condition="'$(SupplementalPayloadDir)' == ''">$([System.IO.Path]::GetTempPath())$([System.IO.Path]::GetRandomFileName())/SupplementalPayload/</SupplementalPayloadDir> + <SupplementalPayloadFilename>SupplementalPayload.zip</SupplementalPayloadFilename> + <SupplementalPayloadFile>$(ArchivesRoot)$(SupplementalPayloadFilename)</SupplementalPayloadFile> + <IsOfficial Condition="'$(IsOfficial)'!=''">false</IsOfficial> + <HelixApiEndpoint Condition="'$(HelixApiEndpoint)'==''">https://helix.dot.net/api/2016-06-28/jobs</HelixApiEndpoint> + <MaxRetryCount Condition="'$(MaxRetryCount)' == ''">0</MaxRetryCount> + <ToolsDir Condition="'$(ToolsDir)' == ''">$(MSBuildThisFileDirectory)</ToolsDir> + <IsDropPublic Condition="'$(IsDropPublic)' == ''">false</IsDropPublic> + <!-- Make sure HelixBlobPrefix ends with '/' --> + <!-- Note: EnsureTrailingSlash works in >=Dev15 MSBuild --> + <HelixBlobPrefix Condition="'$(HelixBlobPrefix)' != ''">$([System.Text.RegularExpressions.Regex]::Replace('$([MSBuild]::EnsureTrailingSlash('$(HelixBlobPrefix)'))', "\\", "/"))</HelixBlobPrefix> + </PropertyGroup> + + <!-- Set Helix environment vars based on target platform --> + <!-- This is only used in the case where property 'UseScriptRunner' is true.--> + <PropertyGroup Condition="'$(TargetsWindows)' == 'true' AND '$(UseScriptRunner)' == 'true' "> + <HelixPythonPath>%HELIX_PYTHONPATH%</HelixPythonPath> + <HelixScriptRoot>%HELIX_SCRIPT_ROOT%\</HelixScriptRoot> + <RunnerScript>%HELIX_CORRELATION_PAYLOAD%\RunnerScripts\scriptrunner\scriptrunner.py</RunnerScript> + </PropertyGroup> + <PropertyGroup Condition="'$(TargetsWindows)' == 'true' AND '$(UseContinuationRunner)' == 'true' "> + <RunnerScript>%HELIX_CORRELATION_PAYLOAD%\RunnerScripts\scriptrunner\continuationrunner.py --next_queue $(SecondaryQueue) --next_payload_dir $(SecondaryPayloadDir)</RunnerScript> + <SecondarySasValidHours Condition="'$(SecondarySasValidHours)' == ''">15.0</SecondarySasValidHours> + </PropertyGroup> + <PropertyGroup Condition="'$(TargetsWindows)' != 'true' AND '$(UseScriptRunner)' == 'true' "> + <HelixPythonPath>$HELIX_PYTHONPATH</HelixPythonPath> + <HelixScriptRoot>$HELIX_SCRIPT_ROOT/</HelixScriptRoot> + <RunnerScript>$HELIX_CORRELATION_PAYLOAD/RunnerScripts/scriptrunner/scriptrunner.py</RunnerScript> + </PropertyGroup> + + <Target Name="VerifyInputs"> + <!-- Verify all required properties have been specified. Update the comment above if you update this list! --> + <Error Condition="'$(ArchivesRoot)' == ''" Text="Missing required property ArchivesRoot." /> + <Error Condition="'$(HelixJobType)' == ''" Text="Missing required property HelixJobType." /> + <Error Condition="'$(HelixSource)' == ''" Text="Missing required property HelixSource." /> + <Error Condition="'$(TargetQueues)' == ''" Text="Missing required property TargetQueues." /> + <Error Condition="'$(BuildMoniker)' == ''" Text="Missing required property BuildMoniker." /> + <Error Condition="'$(CloudDropConnectionString)' == ''" Text="Missing required property CloudDropConnectionString." /> + <Error Condition="'$(CloudResultsConnectionString)' == ''" Text="Missing required property CloudResultsConnectionString." /> + <Error Condition="'$(HelixJobProperties)' == '' and ('$(HelixArchLabel)' == '' or '$(HelixConfigLabel)' == '')" + Text="HelixJobProperties (JSON), or HelixArchLabel and HelixConfigLabel (string) must be set to start Helix jobs" /> + </Target> + + <!-- Provided as an extensibility point for targets to run before the real work begins --> + <Target Name="PreCloudBuild"> + + <!-- Copy runner scripts so they can be uploaded as supplemental payload --> + <ItemGroup> + <RunnerScripts Include="$(ToolsDir)RunnerScripts/**/*.py" /> + <RunnerScripts Include="$(ToolsDir)RunnerScripts/**/*.sh" /> + <RunnerScripts Include="$(ToolsDir)RunnerScripts/**/*.txt" /> + </ItemGroup> + + <!-- Split up Target Queues list + In order to support all delimiters (commas, plus and semicolons), I do a little hoop-jumping to do a replace first + Note that queues will never have ',', '+' or ';' in their name, and this greatly simplifies providing a queue list in *nix. + --> + <PropertyGroup> + <ProcessedTargetQueues>$([System.String]::Copy('$(TargetQueues)').Replace(',',';').Replace('+',';'))</ProcessedTargetQueues> + </PropertyGroup> + + <ItemGroup> + <!-- This Split() is needed since the semicolon in ProcessedTargetQueues is now a literal --> + <TargetQueue Include="$(ProcessedTargetQueues.Split(';'))" /> + </ItemGroup> + <Message Text="Will Enqueue to @(TargetQueue->Count()) Queue(s) : @(TargetQueue)" /> + + <!-- Compress the supplemental payload directory for upload --> + <!-- We might not have RunnerScripts, so skip the tasks in that case --> + <MakeDir Directories="$(SupplementalPayloadDir)"/> + <Copy Condition="'@(RunnerScripts->Count())'!='0'" + SourceFiles="@(RunnerScripts)" + DestinationFiles="@(RunnerScripts->'$(SupplementalPayloadDir)RunnerScripts/%(RecursiveDir)%(Filename)%(Extension)')" + SkipUnchangedFiles="true" /> + <ZipFileCreateFromDirectory Condition="'@(RunnerScripts->Count())'!='0'" + SourceDirectory="$(SupplementalPayloadDir)" + DestinationArchive="$(SupplementalPayloadFile)" + OverwriteDestination="true" /> + <RemoveDir Directories="$(SupplementalPayloadDir)"/> + <ItemGroup> + <SupplementalPayload Condition="'@(RunnerScripts->Count())'!='0'" Include="$(SupplementalPayloadFile)"> + <RelativeBlobPath>$(HelixBlobPrefix)$(SupplementalPayloadFilename)</RelativeBlobPath> + </SupplementalPayload> + </ItemGroup> + </Target> + + <!-- Make sure the work items included contain all the required fields, calculate relative blob paths --> + <Target Name="ValidateWorkItems"> + <ValidateWorkItems WorkItems="@(HelixWorkItem)" WorkItemArchiveRoot="$(ArchivesRoot)"> + <Output TaskParameter="ProcessedWorkItems" ItemName="HelixProcessedWorkItem"/> + </ValidateWorkItems> + <ItemGroup> + <HelixProcessedWorkItem> + <RelativeBlobPath>$(HelixBlobPrefix)%(RelativeBlobPath)</RelativeBlobPath> + </HelixProcessedWorkItem> + </ItemGroup> + </Target> + + <!-- Create Azure containers and file shares --> + <Target Name="CreateAzureStorage"> + <CreateAzureContainer + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + ReadOnlyTokenDaysValid="30" + IsPublic="$(IsDropPublic)"> + <Output TaskParameter="StorageUri" PropertyName="DropUri" /> + <Output TaskParameter="ReadOnlyToken" PropertyName="DropUriReadOnlyToken" /> + </CreateAzureContainer> + + <PropertyGroup> + <CloudResultsReadTokenValidDays Condition="'$(CloudResultsReadTokenValidDays)' == ''">30</CloudResultsReadTokenValidDays> + <CloudResultsWriteTokenValidDays Condition="'$(CloudResultsWriteTokenValidDays)' == ''">4</CloudResultsWriteTokenValidDays> + </PropertyGroup> + + <CreateAzureContainer + ConnectionString="$(CloudResultsConnectionString)" + ContainerName="$(ContainerName)" + ReadOnlyTokenDaysValid ="$(CloudResultsReadTokenValidDays)" + WriteOnlyTokenDaysValid="$(CloudResultsWriteTokenValidDays)"> + + <Output TaskParameter="StorageUri" PropertyName="ResultsUri" /> + <Output TaskParameter="ReadOnlyToken" PropertyName="ResultsReadOnlyToken" /> + <Output TaskParameter="WriteOnlyToken" PropertyName="ResultsWriteOnlyToken" /> + </CreateAzureContainer> + </Target> + + <!-- Upload content to Azure (Everything except test list) --> + <Target Name="UploadContent" DependsOnTargets="CreateAzureStorage"> + <ItemGroup> + <LocalFileForUpload Include="@(HelixProcessedWorkItem->Metadata('PayloadFile'))"> + <RelativeBlobPath>%(RelativeBlobPath)</RelativeBlobPath> + </LocalFileForUpload> + + <LocalPayloadFileForUpload Include="@(HelixCorrelationPayloadFile)"> + <RelativeBlobPath>$(HelixBlobPrefix)%(FileName)%(Extension)</RelativeBlobPath> + </LocalPayloadFileForUpload> + </ItemGroup> + + <!-- Debug output of work items, and a warning if there are none. --> + <Message Text="Files for upload :: @(LocalFileForUpload)" Importance="Low" /> + + <!-- Verify the test archives were created --> + <Warning Condition="'@(LocalFileForUpload->Count())' == '0'" Text="Didn't find any archives in supplied HelixWorkItem(s)." /> + + <!-- Work Item payloads --> + <UploadToAzure + Condition="'@(LocalFileForUpload->Count())' != '0'" + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + Items="@(LocalFileForUpload->Distinct())" + Overwrite="$(OverwriteOnUpload)" /> + + <!-- Correlation payload(s) --> + <UploadToAzure + Condition="'@(LocalPayloadFileForUpload->Count())' != '0'" + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + Items="@(LocalPayloadFileForUpload->Distinct())" + Overwrite="$(OverwriteOnUpload)" /> + + <!-- Supplemental payload. TODO: This could be combined with Correlation Payload items, there's not much(any?) difference --> + <UploadToAzure + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + Items="@(SupplementalPayload)" + Overwrite="$(OverwriteOnUpload)" + Condition="'@(SupplementalPayload)' != ''" /> + + </Target> + + <Target Name="CreateTestListJson"> + <!-- We always bring the supplemental payload folder. + This contains whatever's in src\Microsoft.DotNet.Build.CloudTestTasks\RunnerScripts, + but can also contain various other stuff. + --> + <ItemGroup> + <CorrelationPayloadUri Include="@(SupplementalPayload->'$(DropUri)%(RelativeBlobPath)$(DropUriReadOnlyToken)')" /> + <CorrelationPayloadUri Include="@(LocalPayloadFileForUpload->'$(DropUri)%(RelativeBlobPath)$(DropUriReadOnlyToken)')" /> + </ItemGroup> + + <PropertyGroup> + <!-- Flatten it into a property as msbuild chokes on @(CorrelationPayloadUri) in CorrelationPayloadUris --> + <CorrelationPayloadUris>@(CorrelationPayloadUri)</CorrelationPayloadUris> + <SecondaryQueuesJson Condition="'$(SecondaryQueue)' != ''">{ "QueueId":"$(SecondaryQueue)","SasValidHours": $(SecondarySasValidHours), "EnqueueSAS" : null, "DropContainerUri" : null,"DropContainerRsas" : null,"DropContainerWsas" : null }</SecondaryQueuesJson> + </PropertyGroup> + + <ItemGroup> + <HelixProcessedWorkItem> + <Command Condition="'$(UseScriptRunner)'!='true'">%(Command)</Command> + <!-- When UseScriptRunner is set, we'll wrap commands provided with special Helix-y goo for telemetry--> + <Command Condition="'$(UseScriptRunner)'=='true' AND '$(TargetsWindows)' == 'true'">$(HelixPythonPath) $(RunnerScript) --script %(Command)</Command> + <Command Condition="'$(UseScriptRunner)'=='true' AND '$(TargetsWindows)' != 'true'">chmod +x $HELIX_WORKITEM_PAYLOAD/*.sh && $(HelixPythonPath) $(RunnerScript) --script %(Command)</Command> + <CorrelationPayloadUris>[$(CorrelationPayloadUris)]</CorrelationPayloadUris> + <PayloadUri>$(DropUri)%(RelativeBlobPath)$(DropUriReadOnlyToken)</PayloadUri> + <WorkItemId>%(WorkItemId)</WorkItemId> + <TimeoutInSeconds>%(TimeoutInSeconds)</TimeoutInSeconds> + <SecondaryQueues Condition="'$(SecondaryQueue)' != ''">[$(SecondaryQueuesJson)]</SecondaryQueues> + </HelixProcessedWorkItem> + </ItemGroup> + + <!-- I'd love a built-in way to do this, but I'm compromising here since this lets us use + arbitrary extra metadata in the future to compose work items, then strip out extra stuff used along the way. + It lets us use a single item to bring along everything we might possibly need in the future --> + <RemoveItemMetadata Items="@(HelixProcessedWorkItem)" FieldsToRemove="RelativeBlobPath;PayloadFile"> + <Output TaskParameter="ProcessedItems" ItemName="HelixProcessedWorkItemForList"/> + </RemoveItemMetadata> + + <WriteItemsToJson JsonFileName="$(HelixLogFolder)$(TestListFilename)" Items="@(HelixProcessedWorkItemForList)" ForceJsonArray="true" /> + <ItemGroup> + <HelixWorkItemList Include="$(HelixLogFolder)$(TestListFilename)"> + <RelativeBlobPath>$(HelixBlobPrefix)$(TestListFilename)</RelativeBlobPath> + <BuildCompleteJson>$(HelixLogFolder)BuildComplete.json</BuildCompleteJson> + <OfficialBuildJson>$(HelixLogFolder)OfficialBuild.json</OfficialBuildJson> + <HelixJobUploadCompletePath>$(HelixLogFolder)helixjobuploadcomplete.sem</HelixJobUploadCompletePath> + </HelixWorkItemList> + </ItemGroup> + + <UploadToAzure + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + Items="@(HelixWorkItemList)" + Overwrite="$(OverwriteOnUpload)" /> + </Target> + + <!-- Write event hub notification JSON files --> + <Target Name="WriteCompletionEvent" + AfterTargets="CreateTestListJson" + Inputs="%(HelixWorkItemList.Identity)" + Outputs="%(HelixWorkItemList.BuildCompleteJson)"> + + <CreateItem Include="@(TargetQueue)" AdditionalMetadata="ResultsUri=$(ResultsUri)$(HelixBlobPrefix)%(TargetQueue.Identity)/;QueueId=%(TargetQueue.Identity)"> + <Output TaskParameter="Include" ItemName="BuildCompleteTemplateV2" /> + </CreateItem> + + <!-- If the user didn't provide HelixJobProperties, generate them from HelixArchLabel, HelixConfigLabel, and QueueId --> + <ItemGroup Condition="'$(HelixJobProperties)' == ''"> + <BuildCompleteTemplateV2> + <Properties>{ "architecture" : "$(HelixArchLabel)", "configuration": "$(HelixConfigLabel)", "operatingSystem" : "%(QueueId)" }</Properties> + </BuildCompleteTemplateV2> + </ItemGroup> + <ItemGroup Condition="'$(HelixJobProperties)' != ''"> + <BuildCompleteTemplateV2> + <Properties>$(HelixJobProperties)</Properties> + </BuildCompleteTemplateV2> + </ItemGroup> + + <ItemGroup Condition="'$(HelixCreator)' != ''"> + <BuildCompleteTemplateV2> + <Creator>$(HelixCreator)</Creator> + </BuildCompleteTemplateV2> + </ItemGroup> + + <ItemGroup Condition="'$(HelixPullRequestId)' != ''"> + <BuildCompleteTemplateV2> + <PullRequestId>$(HelixPullRequestId)</PullRequestId> + </BuildCompleteTemplateV2> + </ItemGroup> + + <ItemGroup> + <!-- V1 is long since deprecated, and not supported here. + Keeping the name for clarity. --> + <BuildCompleteTemplateV2> + <DropContainerSAS>$(DropUriReadOnlyToken)</DropContainerSAS> + <ListUri>$(DropUri)$(HelixBlobPrefix)%(HelixWorkItemList.Filename)%(HelixWorkItemList.Extension)$(DropUriReadOnlyToken)</ListUri> + <ResultsUriRSAS>$(ResultsReadOnlyToken)</ResultsUriRSAS> + <ResultsUriWSAS>$(ResultsWriteOnlyToken)</ResultsUriWSAS> + <Build>$(BuildMoniker)</Build> + <Type>$(HelixJobType)</Type> + <Source>$(HelixSource)</Source> + <MaxRetryCount>$(MaxRetryCount)</MaxRetryCount> + <Attempt>$(HelixAttempt)</Attempt> + </BuildCompleteTemplateV2> + <BuildComplete Include="@(BuildCompleteTemplateV2)"/> + </ItemGroup> + + <WriteItemsToJson JsonFileName="%(HelixWorkItemList.BuildCompleteJson)" Items="@(BuildComplete)" /> + <Message Text="Wrote job-start (build complete) JSON for @(BuildComplete->Count()) Queues." /> + <Message Condition="$(MaxRetryCount) > 1" Text="Work Items will automatically retry on non-zero exit code up to $(MaxRetryCount) times." /> + + <CreateItem Include="%(HelixWorkItemList.BuildCompleteJson)" AdditionalMetadata="RelativeBlobPath=JobStartJsonMessages.json"> + <Output TaskParameter="Include" ItemName="JobStartJsons" /> + </CreateItem> + + <ItemGroup> + <JobStartJsons> + <RelativeBlobPath>$(HelixBlobPrefix)%(RelativeBlobPath)</RelativeBlobPath> + </JobStartJsons> + </ItemGroup> + + <UploadToAzure + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + Items="@(JobStartJsons)" + Overwrite="$(OverwriteOnUpload)" /> + <Message Text="Uploaded job-start JSON files to $(ContainerName). These can be used for resending the same job for debugging purposes." /> + + </Target> + + <!-- Send completion event to Helix API --> + <Target Name="SendCompletionEvent" + AfterTargets="WriteCompletionEvent" + Inputs="%(HelixWorkItemList.BuildCompleteJson)" + Outputs="%(HelixWorkItemList.HelixJobUploadCompletePath)" + Condition="'$(SkipSendToHelix)' != 'true'"> + <SendJobsToHelix + AccessToken="$(HelixApiAccessKey)" + ApiEndpoint="$(HelixApiEndpoint)" + EventDataPath="%(HelixWorkItemList.BuildCompleteJson)"> + <Output TaskParameter="JobIds" ItemName="GeneratedCorrelationId" /> + </SendJobsToHelix> + + <!-- Upload the Correlation Ids generated to the test drop container for tracking purposes--> + <PropertyGroup> + <HelixCorrelationInfoFileName Condition="'$(HelixCorrelationInfoFileName)'==''">Helix-correlation-infos.json</HelixCorrelationInfoFileName> + </PropertyGroup> + + <Message Text="Writing correlation info to: $(HelixLogFolder)$(HelixCorrelationInfoFileName) " /> + <WriteItemsToJson JsonFileName="$(HelixLogFolder)$(HelixCorrelationInfoFileName)" Items="@(GeneratedCorrelationId)" ForceJsonArray="true" /> + <ItemGroup> + <CorrelationFile Include="$(HelixLogFolder)$(HelixCorrelationInfoFileName)"> + <RelativeBlobPath>$(HelixBlobPrefix)Tracking/$(HelixCorrelationInfoFileName)</RelativeBlobPath> + </CorrelationFile> + </ItemGroup> + + <UploadToAzure + ConnectionString="$(CloudDropConnectionString)" + ContainerName="$(ContainerName)" + Items="@(CorrelationFile)" + Overwrite="true" /> + + </Target> + +</Project> diff --git a/Tools/CloudTest.Perf.targets b/Tools/CloudTest.Perf.targets new file mode 100755 index 0000000000..306b037415 --- /dev/null +++ b/Tools/CloudTest.Perf.targets @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- run before PreCloudBuild so it can consume the output --> + <Target Name="PrepareForCloudBuild" + BeforeTargets="PreCloudBuild" + DependsOnTargets="CreatePerfJson" /> + + <PropertyGroup> + <PerfResultsContainer>perf-jobs-result-jsons</PerfResultsContainer> + <PerfRunnerJsonFileName>xunitrunner-perf.json</PerfRunnerJsonFileName> + <!-- place the JSON file in the same directory as the runner script --> + <PerfRunnerJsonFile>$(SupplementalPayloadDir)RunnerScripts/xunitrunner-perf/$(PerfRunnerJsonFileName)</PerfRunnerJsonFile> + </PropertyGroup> + <PropertyGroup Condition="'$(UseLegacyXunitPerfRunner)'=='true' AND '$(TargetsWindows)' == 'true'"> + <RunnerScript>%HELIX_CORRELATION_PAYLOAD%\RunnerScripts\xunitrunner-perf\xunitrunner-perf.py</RunnerScript> + </PropertyGroup> + <PropertyGroup Condition="'$(UseLegacyXunitPerfRunner)'=='true' AND '$(TargetsWindows)' != 'true'"> + <RunnerScript>$HELIX_CORRELATION_PAYLOAD/RunnerScripts/xunitrunner-perf/xunitrunner-perf.py</RunnerScript> + </PropertyGroup> + <!-- creates a JSON file to be uploaded as supplemental payload --> + <Target Name="CreatePerfJson"> + <CreateAzureContainer + AccountKey="$(CloudResultsAccessToken)" + AccountName="$(CloudResultsAccountName)" + ContainerName="$(PerfResultsContainer)" + ReadOnlyTokenDaysValid="30" + WriteOnlyTokenDaysValid="1"> + <Output TaskParameter="StorageUri" PropertyName="RootURI" /> + <Output TaskParameter="ReadOnlyToken" PropertyName="ReadOnlyToken" /> + <Output TaskParameter="WriteOnlyToken" PropertyName="WriteOnlyToken" /> + </CreateAzureContainer> + <ItemGroup> + <PerfRunnerJson Include="dummy"> + <RootURI>$(RootURI)</RootURI> + <ReadToken>$(ReadOnlyToken)</ReadToken> + <WriteToken>$(WriteOnlyToken)</WriteToken> + <Creator>$(Creator)</Creator> + <BuildMoniker>$(BuildMoniker)</BuildMoniker> + <TestProduct>$(TestProduct)</TestProduct> + <TargetQueue>$(TargetQueue)</TargetQueue> + <Branch>$(Branch)</Branch> + </PerfRunnerJson> + </ItemGroup> + <WriteItemsToJson JsonFileName="$(PerfRunnerJsonFile)" Items="@(PerfRunnerJson)" /> + </Target> + +</Project>
\ No newline at end of file diff --git a/Tools/CodeCoverage.targets b/Tools/CodeCoverage.targets new file mode 100755 index 0000000000..8d0f3576ed --- /dev/null +++ b/Tools/CodeCoverage.targets @@ -0,0 +1,259 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + Code coverage package versions go here and in the test-runtime-packages.config + --> + <PropertyGroup> + <OpenCoverVersion>4.6.519</OpenCoverVersion> + <CoverletMsbuildVersion>2.3.0</CoverletMsbuildVersion> + <ReportGeneratorVersion>3.0.1</ReportGeneratorVersion> + <CoverallsUploaderVersion>1.4</CoverallsUploaderVersion> + </PropertyGroup> + + <!-- Coverage options --> + <PropertyGroup> + <CodeCoverageEnabled Condition="'$(CodeCoverageEnabled)' == '' and '$(SkipTests)' != 'true' and '$(Coverage)' == 'true' and '$(IsPerformanceTestProject)' != 'true'">true</CodeCoverageEnabled> + <CodeCoverageEnabled Condition="'$(CodeCoverageEnabled)' == ''">false</CodeCoverageEnabled> + <UseCoverlet Condition="'$(Coverage)' == 'true' and ('$(RunningOnUnix)' == 'true' or '$(UseCoverlet)' == 'true')">true</UseCoverlet> + <CoverageReportDir Condition="'$(CoverageReportDir)' == ''">$(TestWorkingDir)coverage\</CoverageReportDir> + + <UseCoverageDedicatedRuntime Condition="'$(UseCoverageDedicatedRuntime)' == ''">true</UseCoverageDedicatedRuntime> + <CoverageDedicatedRuntimeDir>$(TestHostRootPath)shared/Microsoft.NETCore.App/10.10.10</CoverageDedicatedRuntimeDir> + + <!-- This targets file has two modes one for individual projects and one for all --> + <GenerateCodeCoverageReportForAll Condition="'$(GenerateCodeCoverageReportForAll)'==''">false</GenerateCodeCoverageReportForAll> + <CoverageEnabledForProject Condition="'$(GenerateCodeCoverageReportForAll)'=='true'">false</CoverageEnabledForProject> + <CoverageEnabledForProject Condition="'$(CoverageEnabledForProject)'=='' and '$(IsTestProject)'=='true'">$(CodeCoverageEnabled)</CoverageEnabledForProject> + + <GenerateIndividualCoverageReport Condition="'$(BuildAllProjects)'!='true' and '$(CoverageEnabledForProject)'=='true'">true</GenerateIndividualCoverageReport> + <GenerateFullCoverageReport Condition="'$(GenerateCodeCoverageReportForAll)'=='true' and '$(CodeCoverageEnabled)'=='true' and '$(SkipFullCoverageReport)' != 'true'">true</GenerateFullCoverageReport> + <GenerateVisitedMethodsReport Condition="'$(GenerateCodeCoverageReportForAll)'=='true' and '$(CodeCoverageEnabled)'=='true' and '$(GenerateVisitedReport)' == 'true'">true</GenerateVisitedMethodsReport> + + <!-- + When coverage is enabled, we disallow building projects in parallel. + There appear to be issues with the OpenCover tool in these scenarios. + --> + <SerializeProjects Condition="'$(CodeCoverageEnabled)'=='true'">true</SerializeProjects> + </PropertyGroup> + + <!-- + We need to filter the data to only the assembly being tested. Otherwise we will gather tons of data about other assemblies. + If the code being tested is part of the runtime itself, it requires special treatment. + --> + <PropertyGroup Condition="'$(AssemblyBeingTestedName)'==''"> + <_ProjectDirectoryUnderSourceDir Condition="'$(IsTestProject)' == 'true'">$(MSBuildProjectDirectory.SubString($(SourceDir.Length)))</_ProjectDirectoryUnderSourceDir> + <AssemblyBeingTestedName Condition="'$(IsTestProject)' == 'true'">$(_ProjectDirectoryUnderSourceDir.SubString(0, $(_ProjectDirectoryUnderSourceDir.IndexOfAny("\\/"))))</AssemblyBeingTestedName> + </PropertyGroup> + + <PropertyGroup Condition="'$(GenerateFullCoverageReport)'=='true'"> + <GenerateFullCoverageReportAfterTargets Condition="'$(GenerateFullCoverageReportAfterTargets)'==''">TestAllProjects</GenerateFullCoverageReportAfterTargets> + </PropertyGroup> + + <PropertyGroup Condition="'$(UseCoverlet)'=='true'"> + <CoverletOutputFormat Condition="$(CoverletOutputFormat) == ''">opencover</CoverletOutputFormat> + <CoverletOutputDirectory Condition="$(CoverletOutputDirectory) == ''">$(CoverageReportDir)</CoverletOutputDirectory> + <CoverletOutputName Condition=" '$(CoverletOutputName)' == '' ">$(MSBuildProjectName).coverlet</CoverletOutputName> + <CoverletOutput>$([MSBuild]::EnsureTrailingSlash('$(CoverletOutputDirectory)'))$(CoverletOutputName).xml</CoverletOutput> + <CoverageOutputFilePath>$(CoverletOutput)</CoverageOutputFilePath> + <ExcludeByFile Condition="$(ExcludeByFile) == ''">$(SourceDir)Common/src/System/SR.*</ExcludeByFile> + <Threshold Condition="$(Threshold) == ''">0</Threshold> + <ThresholdType Condition="$(ThresholdType) == ''">line,branch,method</ThresholdType> + <CollectCoverage Condition="$(CollectCoverage) == ''">$(CodeCoverageEnabled)</CollectCoverage> + </PropertyGroup> + + <UsingTask Condition="'$(UseCoverlet)'=='true'" TaskName="Coverlet.MSbuild.Tasks.InstrumentationTask" AssemblyFile="$(PackagesDir)coverlet.msbuild/$(CoverletMsbuildVersion)/build/netstandard2.0/coverlet.msbuild.tasks.dll" /> + <UsingTask Condition="'$(UseCoverlet)'=='true'" TaskName="Coverlet.MSbuild.Tasks.CoverageResultTask" AssemblyFile="$(PackagesDir)coverlet.msbuild/$(CoverletMsbuildVersion)/build/netstandard2.0/coverlet.msbuild.tasks.dll" /> + + <Target Condition="'$(UseCoverlet)'=='true'" Name="GenerateCoverageResult" AfterTargets="$(GenerateIndividualCoverageReportAfterTargets)"> + <Coverlet.MSbuild.Tasks.CoverageResultTask + Condition="'$(CollectCoverage)' == 'true'" + Output="$(CoverletOutput)" + OutputFormat="$(CoverletOutputFormat)" + Threshold="$(Threshold)" + ThresholdType="$(ThresholdType)" /> + </Target> + + <Target Name="CreateCoverageFilter" BeforeTargets="GenerateTestExecutionScripts"> + <!-- By default, code coverage data is only gathered for the assembly being tested. + CodeCoverageAssemblies can be passed in to the build to gather coverage on additional assemblies. --> + <ItemGroup> + <_CodeCoverageAssemblies Include="$(AssemblyBeingTestedName)" /> + <_CodeCoverageAssemblies Include="System.Private.CoreLib" Condition="'$(TestRuntime)' == 'true' and ('$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'netstandard')" /> + <_CodeCoverageAssemblies Include="@(AdditionalCodeCoverageAssemblies)" /> + <_CodeCoverageAssemblies Include="$(CodeCoverageAssemblies)" Condition="'$(CodeCoverageAssemblies)' != ''" /> + </ItemGroup> + <PropertyGroup> + <CoverageFilter Condition="'$(UseCoverlet)'!='true'">@(_CodeCoverageAssemblies->'+[%(Identity)]*', ' ')</CoverageFilter> + <CoverageFilter Condition="'$(UseCoverlet)'=='true'">@(_CodeCoverageAssemblies->'[%(Identity)]*', ',')</CoverageFilter> + <CoverageFilter Condition="'$(CodeCoverageAssemblies)' == 'all'">[*]*</CoverageFilter> + </PropertyGroup> + </Target> + + <Target Name="CreateCoverageDedicatedRuntime" + BeforeTargets="GenerateTestExecutionScripts" + Condition="'$(CodeCoverageEnabled)'=='true' and '$(UseCoverageDedicatedRuntime)'=='true'"> + <PropertyGroup> + </PropertyGroup> + <ItemGroup> + <_RuntimeFiles Include="$(NETCoreAppTestSharedFrameworkPath)/*.*" /> + <RuntimeFiles Include="%(_RuntimeFiles.Identity)" Condition="!Exists('$(NETCoreAppTestSharedFrameworkPath)il/%(Filename)%(Extension)')" /> + <RuntimeFiles Include="$(NETCoreAppTestSharedFrameworkPath)il/*.*" /> + <RuntimeFilesAmd64 Include="$(NETCoreAppTestSharedFrameworkPath)amd64/*.*" /> + <RuntimeFilesx86 Include="$(NETCoreAppTestSharedFrameworkPath)x86/*.*" /> + </ItemGroup> + <Copy SourceFiles="@(RuntimeFiles)" + DestinationFolder="$(CoverageDedicatedRuntimeDir)" + SkipUnchangedFiles="true" + UseHardlinksIfPossible="false" /> + <Copy SourceFiles="@(RuntimeFilesAmd64)" + DestinationFolder="$(CoverageDedicatedRuntimeDir)/amd64/" + SkipUnchangedFiles="true" + UseHardlinksIfPossible="false" /> + <Copy SourceFiles="@(RuntimeFilesx86)" + DestinationFolder="$(CoverageDedicatedRuntimeDir)/x86/" + SkipUnchangedFiles="true" + UseHardlinksIfPossible="false" /> + </Target> + + <!-- *********************************************************************************************** --> + <!-- As of 10/2017 OpenCover does not support portable PDBs, but we want the builds to generate + portable PDBs. Thus we generate windows PDBs from portable PDBs here. Can be removed + when OpenCover directly supports Portable PDBs (probably by early 2018) --> + + <Choose> + <When Condition="'$(UseCoverageDedicatedRuntime)'=='true'"> + <PropertyGroup> + <CoverageRuntimeDir>$(CoverageDedicatedRuntimeDir)</CoverageRuntimeDir> + </PropertyGroup> + </When> + <Otherwise> + <PropertyGroup> + <CoverageRuntimeDir>$(NETCoreAppTestSharedFrameworkPath)</CoverageRuntimeDir> + </PropertyGroup> + </Otherwise> + </Choose> + + <Target Name="GenerateWindowsPdbsForAssemblyBeingTested" + BeforeTargets="GenerateTestExecutionScripts" + Condition="'$(CodeCoverageEnabled)' == 'true' and '$(TargetOS)'=='Windows_NT' and '$(UseCoverlet)'!='true'"> + + <!-- We look for the DLL being tested for coverage and its PDB create a WindowsPDB\*.pdb which has + the windows PDB. --> + <ItemGroup> + <CandidateAssemblies Include="@(_CodeCoverageAssemblies -> '$(CoverageRuntimeDir)/%(Identity)')" /> + + <ExistingPortableDllsToConvert + Include="@(CandidateAssemblies -> '%(Identity).dll' )" + Condition="Exists('%(CandidateAssemblies.Identity).dll') AND Exists('%(CandidateAssemblies.Identity).pdb')"> + <PdbPath>%(Identity).pdb</PdbPath> + <TargetPath>%(RootDir)/%(Directory)WindowsPDB/%(Filename)%(Extension).pdb</TargetPath> + </ExistingPortableDllsToConvert> + </ItemGroup> + + <!-- There are two file in CoreFX, (System.Security.Permissions and Microsoft.Win32.Registry.AccessControl.pdb) + are generated by the GenFacades task and lack a Debug diretory (see https://github.com/dotnet/buildtools/issues/1739) + This causes ConvertPortablePdbsToWindowsPdbs to fail. Work around it right now by using WarnAndContinue + Soon we won't need this code, (since OpenCover will support portable PDBs) so it is OK to just give up for now. --> + <ConvertPortablePdbsToWindowsPdbs Files="@(ExistingPortableDllsToConvert)" ContinueOnError="WarnAndContinue"/> + + <!-- This is a work around because it seems that OpenCover does not seem to accept the PDB unless + it is right next to the DLL it is for. (-searchDir:XXX does not seem to work). + This code puts next to the DLL as a work-around. However doing thi also clobbers + the original portable PDB in the runtime directory in the process. I don't like this but + it does unblock things and this is all intended to be temporary until OpenCover supports + portable PDBs directly --> + <Message Importance="high" Text="Replacing Portable PDB with Windows Pdb in place!" /> + <Copy SourceFiles="%(ExistingPortableDllsToConvert.TargetPath)" DestinationFolder="$(CoverageRuntimeDir)" Condition="Exists('%(ExistingPortableDllsToConvert.TargetPath)')"/> + </Target> + <!-- *********************************************************************************************** --> + + <Target Name="InstrumentModulesAfterBuild" BeforeTargets="GenerateTestExecutionScripts" Condition="'$(UseCoverlet)'=='true'"> + <Coverlet.MSbuild.Tasks.InstrumentationTask + Condition="'$(CollectCoverage)' == 'true'" + Include="$(CoverageFilter)" + ExcludeByFile="$(ExcludeByFile)" + Path="$(CoverageRuntimeDir)/" /> + </Target> + + <!-- xUnit command line with coverage enabled using OpenCover --> + <PropertyGroup Condition="'$(CoverageEnabledForProject)'=='true' and '$(UseCoverlet)'!='true'"> + <CoverageHost>$(PackagesDir)OpenCover\$(OpenCoverVersion)\tools\OpenCover.Console.exe</CoverageHost> + <CoverageOutputFilePath>$(CoverageReportDir)$(MSBuildProjectName).coverage.xml</CoverageOutputFilePath> + <CoverageOptions>-oldStyle -filter:"{CoverageFilter}" -excludebyfile:"*\Common\src\System\SR.*" -nodefaultfilters -excludebyattribute:*.ExcludeFromCodeCoverage* -skipautoprops -hideskipped:All -threshold:1</CoverageOptions> + <CoverageCommandLine>$(CoverageOptions) -returntargetcode -register:user -target:$(TestProgram) -output:$(CoverageOutputFilePath)</CoverageCommandLine> + <TestCommandLine>$(CoverageHost) $(CoverageCommandLine) -targetargs:"$(TestArguments) {XunitTraitOptions} -notrait Benchmark=true"</TestCommandLine> + </PropertyGroup> + + <!-- Report Generator Properties --> + <PropertyGroup> + <CoverageReportAssemblyFilters Condition="'$(CodeCoverageAssemblies)' != 'all'">"-assemblyfilters:@(_CodeCoverageAssemblies->'+%(Identity)', ';')"</CoverageReportAssemblyFilters> + <CoverageReportGeneratorOptions>-targetdir:$(CoverageReportDir) "-reporttypes:Html;Badges" $(CoverageReportAssemblyFilters)</CoverageReportGeneratorOptions> + <CoverageReportTool>$(PackagesDir)ReportGenerator\$(ReportGeneratorVersion)\tools\ReportGenerator.exe</CoverageReportTool> + <CoverageReportTool Condition="'$(RunningOnUnix)' == 'true'">reportgenerator</CoverageReportTool> + <CoverageReportGeneratorCommandLine>$(CoverageReportTool) $(CoverageReportGeneratorOptions)</CoverageReportGeneratorCommandLine> + <CoverageInputFilter>*.coverage.xml</CoverageInputFilter> + <CoverageInputFilter Condition="'$(UseCoverlet)'=='true'">*.coverlet.xml</CoverageInputFilter> + </PropertyGroup> + + <PropertyGroup Condition="'$(GenerateIndividualCoverageReport)'=='true'"> + <GenerateIndividualCoverageReportAfterTargets Condition="'$(GenerateIndividualCoverageReportAfterTargets)'==''">RunTestsForProject</GenerateIndividualCoverageReportAfterTargets> + </PropertyGroup> + + <!-- Generate coverage reports for individual projects. --> + <Target Name="GenerateIndividualCoverageReport" + AfterTargets="$(GenerateIndividualCoverageReportAfterTargets)" + Inputs="$(CoverageOutputFilePath)" + Outputs="$(CoverageReportDir)index.htm" + Condition="'$(GenerateIndividualCoverageReport)'=='true'"> + + <Exec Command="$(CoverageReportGeneratorCommandLine) -reports:$(CoverageOutputFilePath)" + ContinueOnError="ErrorAndContinue" /> + + <Exec Command="start $(CoverageReportDir)index.htm" + Condition="'$(PopCoverageReport)' == 'true'" /> + + </Target> + + <!-- Generate coverage report for all the projects. --> + <Target Name="GenerateFullCoverageReport" + AfterTargets="$(GenerateFullCoverageReportAfterTargets)" + Inputs="$(CoverageReportDir)\$(CoverageInputFilter)" + Outputs="$(CoverageReportDir)index.htm" + Condition="'$(GenerateFullCoverageReport)'=='true'"> + + <Exec Command="$(CoverageReportGeneratorCommandLine) -reports:$(CoverageReportDir)\$(CoverageInputFilter)" + ContinueOnError="ErrorAndContinue" + WorkingDirectory="$(ProjectDir)" /> + + <Exec Command="start $(CoverageReportDir)index.htm" + Condition="'$(PopCoverageReport)' == 'true'" /> + + <PropertyGroup> + <CoverallsUploaderCommandLine>$(PackagesDir)coveralls.io.$(CoverallsUploaderVersion)\tools\coveralls.net.exe</CoverallsUploaderCommandLine> + <CoverallsUploaderOptions>--opencover $(CoverageReportDir)\$(CoverageInputFilter) --repo-token $(CoverallsToken)</CoverallsUploaderOptions> + </PropertyGroup> + + <Exec Command="$(CoverallsUploaderCommandLine) $(CoverallsUploaderOptions)" + ContinueOnError="ErrorAndContinue" + WorkingDirectory="$(ProjectDir)" + Condition="'$(UploadCoverallsData)'=='true'" /> + + </Target> + + <UsingTask TaskName="ParseTestCoverageInfo" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> + + <!-- Generates VisitedMethodsReport.xml --> + <Target Name="GenerateVisitedReport" + AfterTargets="Test" + Condition="'$(GenerateVisitedMethodsReport)' == 'true'" + Inputs="$(CoverageReportDir)$(CoverageInputFilter)" + Outputs="$(CoverageReportDir)\VisitedMethodsReport.xml"> + <ItemGroup> + <Reports Include="$(CoverageReportDir)$(CoverageInputFilter)"/> + </ItemGroup> + <ParseTestCoverageInfo CoverageReports="@(Reports)" + OutputReport="$(CoverageReportDir)\VisitedMethodsReport.xml"/> + </Target> + +</Project> diff --git a/Tools/CommitBuildValues.targets b/Tools/CommitBuildValues.targets new file mode 100755 index 0000000000..68a98080f3 --- /dev/null +++ b/Tools/CommitBuildValues.targets @@ -0,0 +1,40 @@ +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <GitWorkingBranch Condition="'$(GitWorkingBranch)' == ''">master</GitWorkingBranch> + <GitPushRemote Condition="'$(GitPushRemote)' == ''">origin</GitPushRemote> + </PropertyGroup> + + <Target Name="CommitBuildValues" + AfterTargets="BuildPackages" + Condition="'$(UpdateBuildValues)' == 'true'" + > + <!-- configure the commit to show up as the dotnet bot --> + <Exec + WorkingDirectory="$(SourceDir)" + StandardOutputImportance="Low" + Command="git config user.name "dotnet-bot"" /> + + <Exec + WorkingDirectory="$(SourceDir)" + StandardOutputImportance="Low" + Command="git config user.email "dotnet-bot@microsoft.com"" /> + + <!-- commit and push to origin --> + <Exec + WorkingDirectory="$(SourceDir)" + StandardOutputImportance="Low" + Command="git checkout $(GitWorkingBranch)" /> + + <Exec + WorkingDirectory="$(SourceDir)" + StandardOutputImportance="Low" + Command="git commit -m "Automated commit of revision number value $(RevisionNumber)." $(SourceDir)BuildValues.props" /> + + <Exec + WorkingDirectory="$(SourceDir)" + StandardOutputImportance="Low" + Command="git push $(GitPushRemote) $(GitWorkingBranch)" /> + + </Target> +</Project> diff --git a/Tools/Default.ruleset b/Tools/Default.ruleset new file mode 100755 index 0000000000..5dcc1c60e2 --- /dev/null +++ b/Tools/Default.ruleset @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<RuleSet Name="Rules for Security Issues" Description="Code analysis rules for Security Issues." ToolsVersion="14.0"> + <Rules AnalyzerId="Desktop.Analyzers" RuleNamespace="Desktop.Analyzers"> + <Rule Id="CA5350" Action="Error" /> <!-- Do not use Weak/Broken cryptographic algorithms --> + <Rule Id="CA5351" Action="Error" /> + <Rule Id="CA2153" Action="Error"/> <!-- Do not catch corrupted process state exceptions --> + </Rules> + <Rules AnalyzerId="Desktop.CSharp.Analyzers" RuleNamespace="Desktop.Analyzers"> + <Rule Id="CA5350" Action="Error" /> <!-- Do not use Weak/Broken cryptographic algorithms --> + <Rule Id="CA5351" Action="Error" /> + <Rule Id="CA2153" Action="Error"/> <!-- Do not catch corrupted process state exceptions --> + </Rules> + <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed"> + <Rule Id="CA1001" Action="None" /> <!-- Non disposable class owns disposable fields --> + <Rule Id="CA1018" Action="None" /> <!-- Specify attribute usage on attribute --> + <Rule Id="CA1036" Action="None" /> <!-- Overload comparison operators when implementing System.IComparable --> + <Rule Id="CA1715" Action="None" /> <!-- Type parameters names should be prefixed with T --> + <Rule Id="CA2213" Action="None" /> <!-- Disposable Fields should be disposed --> + <Rule Id="CA2229" Action="None" /> <!-- Serializable type doesn't have a serialization constructor --> + <Rule Id="CA2235" Action="None" /> <!-- Serializable type has non serializable field --> + <Rule Id="CA2231" Action="None" /> <!-- Overload operator equals when overriding ValueType.Equals --> + <Rule Id="CA2237" Action="None" /> <!-- Add [Serializable] to types that implement ISerializable --> + + <Rule Id="CA2200" Action="None"/> <!-- Rethrowing caught exception changes stack information --> + + <Rule Id="CA2101" Action="None" /> <!-- Specify marshaling for P/Invoke string arguments --> + <Rule Id="CA1401" Action="None" /> <!-- P/Invoke method should not be visible --> + + <Rule Id="CA2214" Action="None" /> <!-- Do not call overridable methods in constructors --> + </Rules> + <Rules AnalyzerId="System.Runtime.Analyzers" RuleNamespace="System.Runtime.Analyzers"> + <Rule Id="CA2002" Action="None" /> <!-- Do not lock on objects with weak identity --> + </Rules> + <Rules AnalyzerId="System.Runtime.CSharp.Analyzers" RuleNamespace="System.Runtime.CSharp.Analyzers"> + <Rule Id="CA2002" Action="None" /> <!-- Do not lock on objects with weak identity --> + </Rules> + <Rules AnalyzerId="System.Security.Cryptography.Hashing.Algorithms.Analyzers" RuleNamespace="System.Security.Cryptography.Hashing.Algorithms.Analyzers"> + <Rule Id="CA5350" Action="Error" /> <!-- Do not use Weak/Broken cryptographic algorithms --> + <Rule Id="CA5351" Action="Error" /> + </Rules> +</RuleSet>
\ No newline at end of file diff --git a/Tools/Desktop.Analyzers.dll b/Tools/Desktop.Analyzers.dll Binary files differnew file mode 100755 index 0000000000..e0ad95212e --- /dev/null +++ b/Tools/Desktop.Analyzers.dll diff --git a/Tools/DesktopRunnerConfigFile.config b/Tools/DesktopRunnerConfigFile.config new file mode 100755 index 0000000000..0d9a339c84 --- /dev/null +++ b/Tools/DesktopRunnerConfigFile.config @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <developmentMode developerInstallation="true" /> + <UseRandomizedStringHashAlgorithm enabled="1" /> + </runtime> +</configuration> diff --git a/Tools/Dumpling.targets b/Tools/Dumpling.targets new file mode 100755 index 0000000000..daae106a9e --- /dev/null +++ b/Tools/Dumpling.targets @@ -0,0 +1,61 @@ +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Content Include="$(MSBuildThisFileDirectory)DumplingHelper.py"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <DumplingIncPaths Include="$(RuntimePath)" /> + <DumplingIncPaths Include="$(TestPath)" /> + <DumplingIncPaths Condition="'$(TargetOS)'!='Windows_NT'" Include="$HELIX_CORRELATION_PAYLOAD" /> + <!-- Only save off the files that we need. This list was obatined by using ldd on libcoreclr.so --> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/libgcc_s.so.1" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/libpthread.so.0" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/librt.so.1" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/usr/lib/x86_64-linux-gnu/libunwind.so.8" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/libdl.so.2" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/libuuid.so.1" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/usr/lib/x86_64-linux-gnu/libunwind-x86_64.so.8" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/libm.so.6" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/libc.so.6" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib64/ld-linux-x86-64.so.2" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='Linux'" Include="/lib/x86_64-linux-gnu/liblzma.so.5" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='OSX'" Include="/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='OSX'" Include="/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='OSX'" Include="/System/Library/Frameworks/Security.framework/Versions/A/Security" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='OSX'" Include="/usr/lib/libSystem.B.dylib" /> + <DumplingIncPaths Condition="'$(TargetOS)'=='OSX'" Include="/usr/lib/libc++.1.dylib" /> + </ItemGroup> + <Target Name="PreinstallDumpling" + BeforeTargets="TestAllProjects"> + <Exec Command="python $(MSBuildThisFileDirectory)DumplingHelper.py install_dumpling" /> + </Target> + <!-- Setup Dumpling service to collect crash dumps --> + <Target Name="SetupDumpling" + BeforeTargets="GenerateTestExecutionScripts"> + <PropertyGroup> + <__DumplingIncPathsArg>@(DumplingIncPaths -> '%(Identity)', ',')</__DumplingIncPathsArg> + <CrashDumpFolder Condition="'$(CrashDumpFolder)' == '' and Exists('/cores/')">/cores/</CrashDumpFolder> + <CrashDumpFolder Condition="'$(CrashDumpFolder)' == '' and '$(OS)' == 'Unix'">`pwd`</CrashDumpFolder> + <CrashDumpFolder Condition="'$(CrashDumpFolder)' == ''">\cores\</CrashDumpFolder> + </PropertyGroup> + <ItemGroup Condition="'$(TargetOS)'!='Windows_NT'"> + <TestCommandLines Include="$HELIX_PYTHONPATH -m pip install psutil" /> + <TestCommandLines Include="$HELIX_PYTHONPATH DumplingHelper.py install_dumpling" /> + <TestCommandLines Include="__TIMESTAMP=`$HELIX_PYTHONPATH DumplingHelper.py get_timestamp`" /> + <PostExecutionTestCommandLines Include="$HELIX_PYTHONPATH DumplingHelper.py collect_dump $%3F $(CrashDumpFolder) $__TIMESTAMP $(MSBuildProjectName) $(__DumplingIncPathsArg)" /> + </ItemGroup> + <!-- As of 07/2018 Coverage runs are not on Helix machines so it can't rely on HELIX_PYTHONPATH being defined --> + <PropertyGroup> + <PythonPath>%HELIX_PYTHONPATH%</PythonPath> + <PythonPath Condition="'$(CodeCoverageEnabled)'=='true'">python</PythonPath> + </PropertyGroup> + <ItemGroup Condition="'$(TargetOS)'=='Windows_NT'"> + <TestCommandLines Include="$(PythonPath) -m pip install psutil" /> + <TestCommandLines Include="$(PythonPath) DumplingHelper.py install_dumpling" /> + <TestCommandLines Include="if not exist $(CrashDumpFolder) mkdir $(CrashDumpFolder)" /> + <!-- This gets a "before execution" timestamp. It is used in DumplingHelper.py to determine which crash dump files to consider uploading. --> + <TestCommandLines Include="for /f "delims=" %%a in ('$(PythonPath) DumplingHelper.py get_timestamp') do @set __TIMESTAMP=%%a" /> + <PostExecutionTestCommandLines Include="$(PythonPath) DumplingHelper.py collect_dump %ERRORLEVEL% $(CrashDumpFolder) %__TIMESTAMP% $(MSBuildProjectName) $(__DumplingIncPathsArg)" /> + </ItemGroup> + </Target> +</Project> diff --git a/Tools/DumplingHelper.py b/Tools/DumplingHelper.py new file mode 100755 index 0000000000..be533c3027 --- /dev/null +++ b/Tools/DumplingHelper.py @@ -0,0 +1,134 @@ +import os +import platform +import urllib +import urllib2 +import glob +import time +import sys +import subprocess +import string +import traceback + +def get_timestamp(): + print(time.time()) + +def install_dumpling(): + try: + if (not os.path.isfile(dumplingPath)): + url = "https://dumpling.int-dot.net/api/client/dumpling.py" + scriptPath = os.path.dirname(os.path.realpath(__file__)) + downloadLocation = scriptPath + "/dumpling.py" + response = urllib2.urlopen(url) + if response.getcode() == 200: + with open(downloadLocation, 'w') as f: + f.write(response.read()) + subprocess.call([sys.executable, downloadLocation, "install", "--full"]) + else: + raise urllib2.URLError("HTTP Status Code" + str(response.getcode())) + + dbgPath = "~/.dumpling/dbg/bin/lldb" + subprocess.call([sys.executable, dumplingPath, "install"]) + subprocess.call([sys.executable, dumplingPath, "config", "--dbgpath", dbgPath, "save"]) + except urllib2.HTTPError, e: + print("Dumpling cannot be installed from " + url + " due to: " + str(e).replace(':', '')) # Remove : to avoid looking like error format + except urllib2.URLError, e: + print("Dumpling cannot be installed from " + url + " due to: " + str(e.reason)) + except: + print("An unexpected error was encountered while installing dumpling.py: " + traceback.format_exc()) + +def ensure_installed(): + if (not os.path.isfile(dumplingPath)): + print("Dumpling has not been installed yet. Please run \"DumplingHelper.py install_dumpling\" before collect_dumps.") + return False + else: + return True + +def find_latest_dump(folder, startTimeStr): + startTime = float(startTimeStr) + globPattern = "/*" + + # Outside of Windows, core files are generally dumped into the executable's directory, + # so it may have many other files in it. Filter those out. + if sys.platform != "win32": + globPattern = "/*core*" + + allFiles = glob.glob(folder + globPattern); + if allFiles: + latestFile = max(allFiles, key=os.path.getmtime) + latestTime = os.path.getmtime(latestFile) + if (latestTime > startTime): + return latestFile + return None + +def collect_dump(exitcodeStr, folder, startTimeStr, projectName, incpaths): + exitcode = int(exitcodeStr) + + if (exitcode == 0): + sys.exit(exitcode) + + if not ensure_installed(): + sys.exit(exitcode) + + if (not incpaths is None): + # Normalize incpaths so it can be passed to dumpling.py. + incpaths = incpaths.split(",") + incpaths = string.join(incpaths, " ") + + # Find candidate crash dumps in the given folder. + print("Trying to find crash dumps for project: " + projectName) + file = find_latest_dump(folder, startTimeStr) + if (file is None): + print("No new dump file was found in " + folder) + else: + # File was found; upload it. + print("Uploading dump file: " + file) + procArgs = string.join([ + sys.executable, dumplingPath, "upload", + "--dumppath", file, + "--noprompt", + "--triage", "full", + "--displayname", projectName, + "--properties", "STRESS_TESTID="+projectName + ], " ") + if (not incpaths is None): + procArgs = procArgs + " --incpaths " + incpaths + + subprocess.call(procArgs, shell=True) + + sys.exit(exitcode) + +def print_usage(): + print("DumplingHelper.py <command>") + print("Commands:") + print(" install_dumpling:") + print(" - Installs dumpling globally on the machine.") + print(" get_timestamp:") + print(" - Prints out the current timestamp of the machine.") + print(" collect_dump <exitcode> <folder> <starttime> <projectname> <incpaths>:") + print(" - Collects and uploads the latest dump (after start time) from the folder to the dumpling service.") + +# Main +def main(argv): + if (len(argv) <= 1): + print_usage() + sys.exit(1) + if (argv[1] == "install_dumpling"): + install_dumpling() + elif (argv[1] == "get_timestamp"): + get_timestamp() + elif (argv[1] == "collect_dump"): + if (len(argv) == 6): + collect_dump(argv[2], argv[3], argv[4], argv[5], None) + elif (len(argv) == 7): + collect_dump(argv[2], argv[3], argv[4], argv[5], argv[6]) + else: + print("Invalid number of arguments passed to collect_dump.") + sys.exit(1) + else: + print(argv[1] + " is not a valid command.") + print_usage() + sys.exit(1) + +dumplingPath = os.path.expanduser("~/.dumpling/dumpling.py") +if __name__ == '__main__': + main(sys.argv) diff --git a/Tools/ECMA.snk b/Tools/ECMA.snk Binary files differnew file mode 100755 index 0000000000..efafe9240e --- /dev/null +++ b/Tools/ECMA.snk diff --git a/Tools/FrameworkTargeting.targets b/Tools/FrameworkTargeting.targets new file mode 100755 index 0000000000..c4cb0f0c85 --- /dev/null +++ b/Tools/FrameworkTargeting.targets @@ -0,0 +1,271 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <ItemGroup> + <TargetingPackDirs Include="$(RefPath)" /> + <AdditionalReferencePaths Include="@(TargetingPackDirs)" /> + </ItemGroup> + + <PropertyGroup> + <ContractOutputPath>$(RefPath)</ContractOutputPath> + <FrameworkPathOverride>$(ContractOutputPath)</FrameworkPathOverride> + <AssemblySearchPaths>$(AssemblySearchPaths);$(ContractOutputPath);{RawFileName}</AssemblySearchPaths> + <!-- Disable RAR from transitively discovering dependencies for References --> + <_FindDependencies>false</_FindDependencies> + </PropertyGroup> + + <!-- For .NET Sdk projects the TFI and TFV is inferred from the TargetFramework. --> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '' + AND '$(TargetFrameworkVersion)' == '' + AND '$(TargetFrameworkProfile)' == '' + AND ('$(UsingMicrosoftNETSdk)' != 'true' OR '$(TargetFramework)' == '')"> + <TargetingDefaultPlatform>true</TargetingDefaultPlatform> + </PropertyGroup> + + <!-- For .NET Sdk projects the TFI is inferred from the TargetFramework. --> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '' + AND ('$(UsingMicrosoftNETSdk)' != 'true' OR '$(TargetFramework)' == '')"> + <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> + </PropertyGroup> + + <!-- + When targeting an explicit platform other than the default, + also allow the target framework directory. + --> + <PropertyGroup Condition="'$(TargetingDefaultPlatform)' != 'true'"> + <AssemblySearchPaths>$(AssemblySearchPaths);{TargetFrameworkDirectory}</AssemblySearchPaths> + </PropertyGroup> + + <!-- Setup the default target for projects not already explicitly targeting another platform --> + <PropertyGroup Condition="'$(TargetingDefaultPlatform)' == 'true'"> + <!-- Setting a default portable profile, although nothing should resolve from there as we want to use the pacakge refs --> + <TargetPlatformIdentifier>Portable</TargetPlatformIdentifier> + <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <!-- We do not want to target a portable profile. --> + <TargetFrameworkProfile></TargetFrameworkProfile> + <!-- We set this property to avoid MSBuild errors regarding not setting TargetFrameworkProfile (see above line) --> + <PortableNuGetMode>true</PortableNuGetMode> + <TargetFrameworkMonikerDisplayName>.NET Portable Subset</TargetFrameworkMonikerDisplayName> + <ImplicitlyExpandTargetFramework>false</ImplicitlyExpandTargetFramework> + <!-- Disable RAR complaining about us referencing higher .NET Portable libraries as we aren't a traditional portable library --> + <ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>true</ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch> + <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == ''">.NETCoreApp,Version=v1.0</NuGetTargetMoniker> + </PropertyGroup> + + <!-- + Between the legacy C# project system and the new managed C# project system, some Targets run in different + orders. A normal "Build" and the legacy C# project system will execute 'Compile', which depends on + 'ResolveReferences', which then depends on 'BeforeResolveReferences', so hooking before + 'BeforeResolveReferences' allows @(Reference) items to be added before 'ResolveAssemblyReferences' + gets executed. + + However, in the new managed C# project system, 'ResolveProjectReferencesDesignTime' gets executed first, + which depends on 'ResolveAssemblyReferences'. This means 'ResolveReferences' doesn't get executed before + 'ResolveAssemblyReferences' when doing a design-time build in the managed C# project system. + Work around this by BeforeTargets both 'BeforeResolveReferences' (to preserve any legacy ordering) and + 'ResolveAssemblyReferences' (to work in the managed C# project system). + --> + <Target Name="AddReferencesDynamically" + BeforeTargets="BeforeResolveReferences;ResolveAssemblyReferences" /> + + <PropertyGroup Condition="'$(IncludeDefaultReferences)' == ''"> + <IncludeDefaultReferences Condition="'$(MSBuildProjectExtension)' == '.csproj'">true</IncludeDefaultReferences> + <IncludeDefaultReferences Condition="'$(MSBuildProjectExtension)' == '.vbproj'">true</IncludeDefaultReferences> + </PropertyGroup> + + <!-- By default add VS references to invokable non perf test projects. --> + <PropertyGroup> + <IncludeVSTestReferences Condition="'$(IncludeVSTestReferences)' == '' AND '$(IsInvokableTestProject)' == 'true'">true</IncludeVSTestReferences> + </PropertyGroup> + + <Target Name="SetupDefaultReferences"> + <ItemGroup Condition="'$(IncludeDefaultReferences)' =='true'"> + <!-- netstandard is a default reference whenever building for NETStandard or building an implementation assembly --> + <DefaultReference Condition="($(NuGetTargetMoniker.StartsWith('.NETStandard')) OR '$(IsReferenceAssembly)' != 'true') AND Exists('$(RefPath)netstandard.dll')" + Include="netstandard" /> + </ItemGroup> + </Target> + + <Target Name="UpdateReferenceItems" + DependsOnTargets="SetupDefaultReferences" + BeforeTargets="AddReferencesDynamically"> + <ItemGroup> + <Reference Include="@(DefaultReference)" /> + </ItemGroup> + + <ItemGroup> + <!-- Simple name references will be resolved from the targeting pack folders and should never be copied to output --> + <Reference Condition="'%(Reference.Extension)' != '.dll'"> + <Private>false</Private> + </Reference> + </ItemGroup> + </Target> + + <!-- Need to add references to the mscorlib design-time facade for some old-style portable dependencies like xunit --> + <Target Name="AddDesignTimeFacadeReferences" + Condition="'$(TargetingDefaultPlatform)' == 'true' AND '$(IsReferenceAssembly)' != 'true' AND '$(ExcludeMscorlibFacade)' != 'true'" + BeforeTargets="ResolveReferences" + DependsOnTargets="GetReferenceAssemblyPaths" + > + <PropertyGroup> + <_resolvedMscorlib Condition="'%(ReferencePath.FileName)' == 'mscorlib'">true</_resolvedMscorlib> + </PropertyGroup> + + <ItemGroup> + <PossibleTargetFrameworks Include="$(_TargetFrameworkDirectories)" /> + <ReferencePath Include="%(PossibleTargetFrameworks.Identity)mscorlib.dll" + Condition="'$(_resolvedMscorlib)' != 'true' and '%(PossibleTargetFrameworks.Identity)' != '' and Exists('%(PossibleTargetFrameworks.Identity)mscorlib.dll')" /> + </ItemGroup> + </Target> + + <PropertyGroup> + <!-- Disable WindowsAppContainer property to prevent importing AppX targets which we don't need --> + <WindowsAppContainer Condition="'$(WindowsAppContainer)'==''">false</WindowsAppContainer> + </PropertyGroup> + + <Import Project="depProj.targets" + Condition="'$(MSBuildProjectExtension)' == '.depproj' AND '$(ExcludeDepProjImport)' != 'true' " /> + + <Import Project="IL.targets" + Condition="'$(MSBuildProjectExtension)' == '.ilproj' AND '$(SkipImportILTargets)'!='true' and '$(UsingMicrosoftNETSdk)' != 'true'" /> + + <PropertyGroup Condition="'$(UsingMicrosoftNETSdk)' != 'true'"> + <CSharpTargetsFile>$(MSBuildToolsPath)\Microsoft.CSharp.targets</CSharpTargetsFile> + <!-- + workaround file casing issue where it has different casing in different places which fails on linux builds + https://github.com/dotnet/buildtools/issues/1464 + --> + <CSharpTargetsFile Condition="!Exists('$(CSharpTargetsFile)')">$(MSBuildToolsPath)\Microsoft.CSharp.Targets</CSharpTargetsFile> + </PropertyGroup> + + <Import Project="$(MSBuildExtensionsPath32)\Microsoft.CSharp.targets" + Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable' and '$(MSBuildProjectExtension)' == '.csproj' and '$(RunningOnCore)' == 'true'" /> + + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" + Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable' and '$(MSBuildProjectExtension)' == '.csproj' and '$(RunningOnCore)' != 'true'" /> + + + <Import Project="$(CSharpTargetsFile)" + Condition="'$(TargetFrameworkIdentifier)' != '.NETPortable' and '$(MSBuildProjectExtension)' == '.csproj' and '$(UsingMicrosoftNETSdk)' != 'true'" /> + + <Import Project="$(MSBuildExtensionsPath32)\Microsoft.VisualBasic.targets" + Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable' and '$(MSBuildProjectExtension)' == '.vbproj' and '$(RunningOnCore)' == 'true'" /> + + + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.VisualBasic.targets" + Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable' and '$(MSBuildProjectExtension)' == '.vbproj' and '$(RunningOnCore)' != 'true'" /> + + <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" + Condition="'$(TargetFrameworkIdentifier)' != '.NETPortable' and '$(MSBuildProjectExtension)' == '.vbproj' and '$(UsingMicrosoftNETSdk)' != 'true'" /> + + <PropertyGroup> + <!-- + We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder + that exists to skip the GenerateReferenceAssemblyPaths task (not target) and to prevent it from outputting a warning (MSB3644). + Need to set these after the common targets import. + --> + <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories> + <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths> + </PropertyGroup> + + <PropertyGroup> + <PrepareProjectReferencesDependsOn> + AddProjectReferencesDynamically; + $(PrepareProjectReferencesDependsOn); + </PrepareProjectReferencesDependsOn> + <ResolveReferencesDependsOn> + AddProjectReferencesDynamically; + $(ResolveReferencesDependsOn); + </ResolveReferencesDependsOn> + <CleanDependsOn> + AddProjectReferencesDynamically; + $(CleanDependsOn); + </CleanDependsOn> + </PropertyGroup> + <!-- + Common targets don't provide a good place to enable adding new ProjectReference items in targets that work + with both clean, build, and rebuild entry point targets. We cannot hook off of AssignProjectConfigurations + because it is conditioned on "'@(ProjectReference)'!=''" which gets evalulated before the BeforeTargets run + so adding ProjectReference as part of a BeforeTarget make still have the AssignProjectConfiguration skipped. + To help with this problem we are creating a new target and correctly hooking it up in the resolve and clean + depends on target chains. + + For information on evaulation of targets ordering see https://msdn.microsoft.com/en-us/library/ee216359.aspx. + --> + <Target Name="AddProjectReferencesDynamically" DependsOnTargets="$(AddProjectReferencesDynamicallyDependsOn)" /> + + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework' and '$(OutputType)' == 'exe'"> + <!-- RAR thinks all EXEs require binding redirects. That's not the case for CoreCLR --> + <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences> + <GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType> + </PropertyGroup> + + <!-- We need to point $(FrameworkPathOverride) to the directory that contains explicitly referenced System.Runtime.dll, if any. + Otherwise, if $(FrameworkPathOverride)\System.Runtime.dll is not the same file as the one referenced explicitly, + VS2013 VB compiler would load it and then it would complain about ambiguous type declarations. + --> + <PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.vbproj'"> + <CoreCompileDependsOn>$(CoreCompileDependsOn);OverrideFrameworkPathForVisualBasic</CoreCompileDependsOn> + </PropertyGroup> + + <Target Name="OverrideFrameworkPathForVisualBasic" AfterTargets="ResolveAssemblyReferences" Condition="'$(MSBuildProjectExtension)' == '.vbproj'"> + <ItemGroup> + <FrameworkPathOverrideCandidate Include="%(ReferencePath.RootDir)%(ReferencePath.Directory)" + Condition="'%(ReferencePath.Filename)%(ReferencePath.Extension)' == 'System.Runtime.dll'"> + </FrameworkPathOverrideCandidate> + </ItemGroup> + + <PropertyGroup Condition="'@(FrameworkPathOverrideCandidate->Count())' == '1'"> + <FrameworkPathOverride>@(FrameworkPathOverrideCandidate)</FrameworkPathOverride> + </PropertyGroup> + </Target> + + <!-- + Cross Platform MSBuild has some logic to replace \ with / when invoking commands to fix up path differences between Windows and + *NIX. The define command line argument syntax for VB requires that we both surround some items with quotes and escape the quotes with + backslashes. However, due to the above MSBuild logic, this causes an invalid command line to be generated when running on *NIX. + + Microsoft/msbuild#422 tracks an actual fix in MSBuild, but for now we work around the issue by using a custom task that + transforms the set of defines we are going to use into a response file we can pass along to the Vbc task along with an + empty set of defines. + --> + <UsingTask TaskName="WriteVisualBasicDefineResponseFile" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" /> + + <Target Name="ConvertDefinesToResonseFile" BeforeTargets="CoreCompile" Condition="'$(MSBuildProjectExtension)' == '.vbproj'"> + <WriteVisualBasicDefineResponseFile DefineConstants="$(FinalDefineConstants)" + File="$(IntermediateOutputPath)/defines.rsp" /> + <PropertyGroup> + <CompilerResponseFile>$(IntermediateOutputPath)/defines.rsp;$(CompilerResponseFile)</CompilerResponseFile> + <FinalDefineConstants></FinalDefineConstants> + </PropertyGroup> + </Target> + + <Target Name="ConvertCommonMetadataToAdditionalProperties" BeforeTargets="AssignProjectConfiguration"> + <!-- list each append as a seperate item to force re-evaluation of AdditionalProperties metadata --> + <ItemGroup> + + <!-- Configuration property shortcuts --> + <ProjectReference> + <AdditionalProperties Condition="'%(ProjectReference.Configuration)' != ''">Configuration=%(ProjectReference.Configuration);%(ProjectReference.AdditionalProperties)</AdditionalProperties> + </ProjectReference> + <!-- Packaging property shortcuts --> + <ProjectReference> + <AdditionalProperties Condition="'%(ProjectReference.PackageTargetFramework)' != ''">PackageTargetFramework=%(ProjectReference.PackageTargetFramework);%(ProjectReference.AdditionalProperties)</AdditionalProperties> + </ProjectReference> + <ProjectReference> + <AdditionalProperties Condition="'%(ProjectReference.PackageTargetPath)' != ''">PackageTargetPath=%(ProjectReference.PackageTargetPath);%(ProjectReference.AdditionalProperties)</AdditionalProperties> + </ProjectReference> + <ProjectReference> + <AdditionalProperties Condition="'%(ProjectReference.PackageTargetRuntime)' != ''">PackageTargetRuntime=%(ProjectReference.PackageTargetRuntime);%(ProjectReference.AdditionalProperties)</AdditionalProperties> + </ProjectReference> + <ProjectReference> + <AdditionalProperties Condition="'%(ProjectReference.Platform)' != ''">Platform=%(ProjectReference.Platform);%(ProjectReference.AdditionalProperties)</AdditionalProperties> + </ProjectReference> + </ItemGroup> + </Target> + + + <Import Project="BinPlace.targets" + Condition="'$(ExcludeBinPlaceImport)' != 'true' " /> +</Project> diff --git a/Tools/GenAPI.exe b/Tools/GenAPI.exe Binary files differnew file mode 100755 index 0000000000..03627318b8 --- /dev/null +++ b/Tools/GenAPI.exe diff --git a/Tools/GenAPI.runtimeconfig.json b/Tools/GenAPI.runtimeconfig.json new file mode 100755 index 0000000000..a4fd3d811b --- /dev/null +++ b/Tools/GenAPI.runtimeconfig.json @@ -0,0 +1,8 @@ +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.1.0" + } + } +}
\ No newline at end of file diff --git a/Tools/GenFacades.Core.dll b/Tools/GenFacades.Core.dll Binary files differnew file mode 100755 index 0000000000..1a38549348 --- /dev/null +++ b/Tools/GenFacades.Core.dll diff --git a/Tools/GenFacades.exe b/Tools/GenFacades.exe Binary files differnew file mode 100755 index 0000000000..664bcd0e7a --- /dev/null +++ b/Tools/GenFacades.exe diff --git a/Tools/GenFacades.runtimeconfig.json b/Tools/GenFacades.runtimeconfig.json new file mode 100755 index 0000000000..a4fd3d811b --- /dev/null +++ b/Tools/GenFacades.runtimeconfig.json @@ -0,0 +1,8 @@ +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.1.0" + } + } +}
\ No newline at end of file diff --git a/Tools/GenerateAssemblyInfo.NonSdk.targets b/Tools/GenerateAssemblyInfo.NonSdk.targets new file mode 100755 index 0000000000..b6120afcd6 --- /dev/null +++ b/Tools/GenerateAssemblyInfo.NonSdk.targets @@ -0,0 +1,65 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Target Name="GenerateAssemblyInfo" + Inputs="$(MSBuildProjectFile)" + Outputs="$(AssemblyInfoFile)" + Condition="'$(GenerateAssemblyInfo)'=='true'" + DependsOnTargets="CreateVersionFileDuringBuild;DecideIfWeNeedToIncludeDllSafeSearchPathAttribute"> + + <Error Condition="!Exists('$(IntermediateOutputPath)')" Text="GenerateAssemblyInfo failed because IntermediateOutputPath isn't set to a valid directory" /> + + <ItemGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'"> + <AssemblyInfoUsings Include="using System%3B" /> + <AssemblyInfoUsings Include="using System.Reflection%3B" /> + <AssemblyInfoLines Include="[assembly:AssemblyTitle("$(AssemblyTitle)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyDescription("$(Description)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyDefaultAlias("$(AssemblyName)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyCompany("$(Company)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyProduct("$(Product)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyCopyright("$(Copyright)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyVersion("$(AssemblyVersion)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyFileVersion("$(FileVersion)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyInformationalVersion(@"$(InformationalVersion)")]" /> + <AssemblyInfoLines Condition="'$(CLSCompliant)'=='true'" Include="[assembly:CLSCompliant(true)]" /> + <AssemblyInfoLines Condition="'$(AssemblyComVisible)'!=''" Include="[assembly:System.Runtime.InteropServices.ComVisible($(AssemblyComVisible))]" /> + <AssemblyInfoLines Condition="'$(SkipFrameworkAssemblyMetadata)' != 'true'" + Include="[assembly:System.Reflection.AssemblyMetadata("%(AssemblyMetadata.Identity)", "%(AssemblyMetadata.Value)")]" /> + + <AssemblyInfoLines Condition="'$(IncludeDllSafeSearchPathAttribute)'=='true'" + Include="[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)]" /> + </ItemGroup> + + <ItemGroup Condition="'$(MSBuildProjectExtension)' == '.vbproj'"> + <AssemblyInfoUsings Include="Imports System" /> + <AssemblyInfoUsings Include="Imports System.Reflection" /> + <AssemblyInfoLines Include="<Assembly:AssemblyTitle("$(AssemblyTitle)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyDescription("$(Description)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyDefaultAlias("$(AssemblyName)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyCompany("$(Company)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyProduct("$(Product)k")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyCopyright("$(Copyright)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyVersion("$(AssemblyVersion)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyFileVersion("$(FileVersion)")>" /> + <AssemblyInfoLines Include="<Assembly:AssemblyInformationalVersion("$(InformationalVersion)")>" /> + <AssemblyInfoLines Condition="'$(CLSCompliant)'=='true'" Include="<Assembly:CLSCompliant(True)>" /> + <AssemblyInfoLines Condition="'$(AssemblyComVisible)'!=''" Include="<Assembly:System.Runtime.InteropServices.ComVisible($(AssemblyComVisible))>" /> + <AssemblyInfoLines Condition="'$(SkipFrameworkAssemblyMetadata)' != 'true'" + Include="<assembly:System.Reflection.AssemblyMetadata("%(AssemblyMetadata.Identity)", "%(AssemblyMetadata.Value)")>" /> + + <AssemblyInfoLines Condition="'$(IncludeDllSafeSearchPathAttribute)'=='true'" + Include="<Assembly:System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)>" /> + </ItemGroup> + + <WriteLinesToFile + File="$(AssemblyInfoFile)" + Lines="@(AssemblyInfoUsings);@(AssemblyInfoLines)" + Overwrite="true" /> + + <ItemGroup> + <Compile Include="$(AssemblyInfoFile)" /> + <FileWrites Include="$(AssemblyInfoFile)" /> + </ItemGroup> + + </Target> + +</Project> diff --git a/Tools/GenerateAssemblyInfo.Sdk.targets b/Tools/GenerateAssemblyInfo.Sdk.targets new file mode 100755 index 0000000000..7c79585f1b --- /dev/null +++ b/Tools/GenerateAssemblyInfo.Sdk.targets @@ -0,0 +1,66 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <!-- BuildTools never generated this attribute before, so don't let the SDK generate it. --> + <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute> + + <!-- + When using the Microsoft.NET.Sdk, Company and Product are defaulted to $(AssemblyName) + in Microsoft.NET.Sdk.BeforeCommon.targets, which means we would have to default them in + a props file. However, the versioning.props file has to be imported during versioning.targets + in order to get all the version properties set correctly. + So overwrite these two properties here, so they are set correctly. + --> + <Company>Microsoft Corporation</Company> + <Product>Microsoft%AE .NET Core</Product> + </PropertyGroup> + + <Target Name="_ComputeBuildToolsAssemblyInfoAttributes" + DependsOnTargets="CreateVersionFileDuringBuild;DecideIfWeNeedToIncludeDllSafeSearchPathAttribute" + BeforeTargets="GetAssemblyAttributes"> + <ItemGroup> + <AssemblyAttribute Include="System.Reflection.AssemblyDefaultAliasAttribute"> + <_Parameter1>$(AssemblyName)</_Parameter1> + </AssemblyAttribute> + + <AssemblyAttribute Include="System.Reflection.AssemblyMetadata" + Condition="'$(SkipFrameworkAssemblyMetadata)' != 'true' and '@(AssemblyMetadata)' != ''"> + <_Parameter1>%(AssemblyMetadata.Identity)</_Parameter1> + <_Parameter2>%(AssemblyMetadata.Value)</_Parameter2> + </AssemblyAttribute> + </ItemGroup> + </Target> + + <!-- Work around https://github.com/Microsoft/msbuild/issues/3412 by writing the non-string assembly attributes manually --> + <!-- Note: ReferenceAssemblies.targets still uses @(AssemblyInfoLines) as well. So if you remove this, those need to migrate too. --> + <Target Name="_WriteNonStringAssemblyInfoAttributes" + AfterTargets="CoreGenerateAssemblyInfo" + Inputs="$(MSBuildProjectFile)" + Outputs="$(AssemblyInfoFile)"> + + <ItemGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'"> + <AssemblyInfoLines Condition="'$(CLSCompliant)'=='true'" Include="[assembly:System.CLSCompliant(true)]" /> + + <AssemblyInfoLines Condition="'$(IncludeDllSafeSearchPathAttribute)'=='true'" + Include="[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)]" /> + </ItemGroup> + + <ItemGroup Condition="'$(MSBuildProjectExtension)' == '.vbproj'"> + <AssemblyInfoLines Condition="'$(CLSCompliant)'=='true'" Include="<Assembly:System.CLSCompliant(True)>" /> + + <AssemblyInfoLines Condition="'$(IncludeDllSafeSearchPathAttribute)'=='true'" + Include="<Assembly:System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)>" /> + </ItemGroup> + + <WriteLinesToFile File="$(AssemblyInfoFile)" + Lines="@(AssemblyInfoLines)" + Condition="'@(AssemblyInfoLines)' != ''" + Overwrite="true" /> + + <ItemGroup Condition="'@(AssemblyInfoLines)' != ''"> + <Compile Include="$(AssemblyInfoFile)" /> + <FileWrites Include="$(AssemblyInfoFile)" /> + </ItemGroup> + </Target> + +</Project> diff --git a/Tools/IL.targets b/Tools/IL.targets new file mode 100755 index 0000000000..335e625795 --- /dev/null +++ b/Tools/IL.targets @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- Required by Microsoft.Common.targets --> + <Target Name="CreateManifestResourceNames" Condition="'@(EmbeddedResource)' != ''" /> + + <!-- Default to ILAsm shipped with buildtools --> + <PropertyGroup Condition="'$(IlasmToolPath)' == ''"> + <IlasmPath>$(MSBuildThisFileDirectory)\ilasm\</IlasmPath> + <IlasmToolPath Condition="'$(RunningOnUnix)'!='true' And Exists('$(IlasmPath)ilasm.exe')">$(IlasmPath)ilasm.exe</IlasmToolPath> + <IlasmToolPath Condition="'$(RunningOnUnix)'=='true' And Exists('$(IlasmPath)ilasm')">$(IlasmPath)ilasm</IlasmToolPath> + </PropertyGroup> + + <!-- If buildtools wasn't restored with ILAsm, on Windows we can fallback to ILAsm from the framework --> + <Target Name="GetIlasmPath" + Condition="'$(RunningOnUnix)'!='true' And '$(IlasmToolPath)' == ''"> + <GetFrameworkPath> + <Output TaskParameter="Path" PropertyName="IlasmPath" /> + </GetFrameworkPath> + <PropertyGroup> + <IlasmPath>$(IlasmPath)\</IlasmPath> + <IlasmToolPath>$(IlasmPath)ilasm</IlasmToolPath> + </PropertyGroup> + </Target> + + <Target Name="CoreCompile" + Inputs="$(MSBuildAllProjects); + @(Compile)" + Outputs="@(IntermediateAssembly);" + Returns="" + DependsOnTargets="GetIlasmPath;$(CoreCompileDependsOn)"> + <Error Condition="'$(IlasmToolPath)' == ''" Text="IlasmToolPath must be set in order to build ilproj's outside of Windows." /> + <PropertyGroup> + <_OutputTypeArgument Condition="'$(OutputType)' == 'Library'">-DLL</_OutputTypeArgument> + <_OutputTypeArgument Condition="'$(OutputType)' == 'Exe'">-EXE</_OutputTypeArgument> + + <_KeyFileArgument Condition="'$(KeyOriginatorFile)' != ''">-KEY=$(KeyOriginatorFile)</_KeyFileArgument> + + <_IlasmSwitches>-QUIET -NOLOGO</_IlasmSwitches> + <_IlasmSwitches Condition="'$(FoldIdenticalMethods)' == 'True'">$(_IlasmSwitches) -FOLD</_IlasmSwitches> + <_IlasmSwitches Condition="'$(SizeOfStackReserve)' != ''">$(_IlasmSwitches) -STACK=$(SizeOfStackReserve)</_IlasmSwitches> + <_IlasmSwitches Condition="'$(DebugType)' == 'Full'">$(_IlasmSwitches) -DEBUG</_IlasmSwitches> + <_IlasmSwitches Condition="'$(DebugType)' == 'Impl'">$(_IlasmSwitches) -DEBUG=IMPL</_IlasmSwitches> + <_IlasmSwitches Condition="'$(DebugType)' == 'PdbOnly'">$(_IlasmSwitches) -DEBUG=OPT</_IlasmSwitches> + <_IlasmSwitches Condition="'$(Optimize)' == 'True'">$(_IlasmSwitches) -OPTIMIZE</_IlasmSwitches> + <_IlasmSwitches Condition="'$(IlasmResourceFile)' != ''">$(_IlasmSwitches) -RESOURCES=$(IlasmResourceFile)</_IlasmSwitches> + </PropertyGroup> + + <Exec Command="$(IlasmToolPath) $(_IlasmSwitches) $(_OutputTypeArgument) $(IlasmFlags) -OUTPUT=@(IntermediateAssembly) $(_KeyFileArgument) @(Compile, ' ')"> + <Output TaskParameter="ExitCode" PropertyName="_ILAsmExitCode" /> + </Exec> + <Error Text="ILAsm failed" Condition="'$(_ILAsmExitCode)' != '0'" /> + + <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''"/> + </Target> + + <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> + +</Project> diff --git a/Tools/MSBuild.runtimeconfig.json b/Tools/MSBuild.runtimeconfig.json new file mode 100755 index 0000000000..e92540b7a6 --- /dev/null +++ b/Tools/MSBuild.runtimeconfig.json @@ -0,0 +1,11 @@ +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.1.0" + }, + "configProperties": { + "Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true + } + } +}
\ No newline at end of file diff --git a/Tools/MSFT.snk b/Tools/MSFT.snk Binary files differnew file mode 100755 index 0000000000..110b59c7b0 --- /dev/null +++ b/Tools/MSFT.snk diff --git a/Tools/MakePriConfigFile.xml b/Tools/MakePriConfigFile.xml new file mode 100755 index 0000000000..3ccb892e56 --- /dev/null +++ b/Tools/MakePriConfigFile.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<resources targetOsVersion="10.0.0" majorVersion="1" targetPlatform="winCore"> + <index root="\" startIndexAt="{reswfilelist}"> + <default> + <qualifier name="Language" value="en-US" /> + <qualifier name="Contrast" value="standard" /> + <qualifier name="Scale" value="100" /> + <qualifier name="HomeRegion" value="001" /> + <qualifier name="TargetSize" value="256" /> + <qualifier name="LayoutDirection" value="LTR" /> + <qualifier name="Theme" value="dark" /> + <qualifier name="AlternateForm" value="" /> + <qualifier name="DXFeatureLevel" value="DX9" /> + <qualifier name="Configuration" value="" /> + <qualifier name="DeviceFamily" value="Universal" /> + <qualifier name="Custom" value="" /> + </default> + <indexer-config type="folder" foldernameAsQualifier="true" filenameAsQualifier="true" qualifierDelimiter="." /> + <indexer-config type="resw" convertDotsToSlashes="true" initialPath="" /> + <indexer-config type="resjson" initialPath="" /> + <indexer-config type="PRI" /> + <indexer-config type="RESFILES" qualifierDelimiter="." /> + </index> + <index root="\" startIndexAt="{prireslist}"> + <default> + <qualifier name="Language" value="en" /> + <qualifier name="Contrast" value="standard" /> + <qualifier name="Scale" value="100" /> + <qualifier name="HomeRegion" value="001" /> + <qualifier name="TargetSize" value="256" /> + <qualifier name="LayoutDirection" value="LTR" /> + <qualifier name="Theme" value="dark" /> + <qualifier name="AlternateForm" value="" /> + <qualifier name="DXFeatureLevel" value="DX9" /> + <qualifier name="Configuration" value="" /> + <qualifier name="DeviceFamily" value="Universal" /> + <qualifier name="Custom" value="" /> + </default> + <indexer-config type="folder" foldernameAsQualifier="true" filenameAsQualifier="true" qualifierDelimiter="." /> + <indexer-config type="resw" convertDotsToSlashes="true" initialPath="" /> + <indexer-config type="resjson" initialPath="" /> + <indexer-config type="PRI" /> + <indexer-config type="RESFILES" qualifierDelimiter="." /> + </index> +</resources>
\ No newline at end of file diff --git a/Tools/MicroBuild.Core.props b/Tools/MicroBuild.Core.props new file mode 100755 index 0000000000..19058a9561 --- /dev/null +++ b/Tools/MicroBuild.Core.props @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildThisFileDirectory)\MicroBuild.Plugin.props" Condition="'$(MicroBuildSentinelFile)' == ''" /> + <Import Project="$(MicroBuildPluginDirectory)\MicroBuild.Plugins.*\**\build\MicroBuild.Plugins.*.props" Condition="'$(MicroBuildPluginDirectory)' != ''" /> +</Project>
\ No newline at end of file diff --git a/Tools/MicroBuild.Core.targets b/Tools/MicroBuild.Core.targets new file mode 100755 index 0000000000..3c76659e8c --- /dev/null +++ b/Tools/MicroBuild.Core.targets @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildThisFileDirectory)\MicroBuild.Plugin.props" Condition="'$(MicroBuildSentinelFile)' == ''" /> + <Import Project="$(MicroBuildPluginDirectory)\MicroBuild.Plugins.*\**\build\MicroBuild.Plugins.*.targets" Condition="'$(MicroBuildPluginDirectory)' != ''" /> +</Project>
\ No newline at end of file diff --git a/Tools/MicroBuild.Plugin.props b/Tools/MicroBuild.Plugin.props new file mode 100755 index 0000000000..2d75c7dc4b --- /dev/null +++ b/Tools/MicroBuild.Plugin.props @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <!-- MicroBuild plugins can be installed in any parent directory up the tree from the project that is building. + The use of a sentinel file (which will be installed automatically due to package dependencies from any plugin) + will help us locate the plugin packages directory while being constrained to using MSBuild's intrinsic functions, + since we want the imports to occur at evaluation time instead of when a specific target is executing. + + Note: All MicroBuild plugins must be installed to the same directory (under the same packages folder). If plugins + are installed to different directories, the plugins which are in the directories closest to the executing project + up the hierarchy will be discovered, and the ones higher up the tree will be ignored. + --> + <MicroBuildSentinelFile>packages\MicroBuild.Core.Sentinel.1.0.0\sentinel.txt</MicroBuildSentinelFile> + <MicroBuildSentinelFileV3>MicroBuild.Core.Sentinel\1.0.0\sentinel.txt</MicroBuildSentinelFileV3> + + <MicroBuildPluginDirectory>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), $(MicroBuildSentinelFile)))</MicroBuildPluginDirectory> + <MicroBuildPluginDirectory Condition="'$(MicroBuildPluginDirectory)' != ''">$(MicroBuildPluginDirectory)\packages</MicroBuildPluginDirectory> + + <!-- Some people might want to put the plugin packages directly in their Nuget v3 global cache. This doesn't happen by default, + but we will allow for it here. We don't support nuget.config's globalPackagesFolder setting here because we don't have a good + way to load/parse that file with MSBuild intrinsics. We can check the other two mechanisms though, which are the %NUGET_PACKAGES% + environment variable and %USERPROFILE%\.nuget\packages --> + <MicroBuildPluginDirectory Condition="'$(MicroBuildPluginDirectory)' == '' and '$(NUGET_PACKAGES)' != '' and Exists('$(NUGET_PACKAGES)\$(MicroBuildSentinelFileV3)')">$(NUGET_PACKAGES)</MicroBuildPluginDirectory> + <MicroBuildPluginDirectory Condition="'$(MicroBuildPluginDirectory)' == '' and '$(USERPROFILE)' != '' and Exists('$(USERPROFILE)\.nuget\packages\$(MicroBuildSentinelFileV3)')">$(USERPROFILE)\.nuget\packages</MicroBuildPluginDirectory> + + <!-- Allow for the ability to override the plugin directory, for example in automated builds --> + <MicroBuildPluginDirectory Condition="'$(MicroBuildOverridePluginDirectory)' != ''">$(MicroBuildOverridePluginDirectory)</MicroBuildPluginDirectory> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/Tools/Microsoft.Cci.Extensions.dll b/Tools/Microsoft.Cci.Extensions.dll Binary files differnew file mode 100755 index 0000000000..03b9b8ba6a --- /dev/null +++ b/Tools/Microsoft.Cci.Extensions.dll diff --git a/Tools/Microsoft.Cci.dll b/Tools/Microsoft.Cci.dll Binary files differnew file mode 100755 index 0000000000..e16ba62573 --- /dev/null +++ b/Tools/Microsoft.Cci.dll diff --git a/Tools/Microsoft.CodeAnalysis.CSharp.dll b/Tools/Microsoft.CodeAnalysis.CSharp.dll Binary files differnew file mode 100755 index 0000000000..0fda046c91 --- /dev/null +++ b/Tools/Microsoft.CodeAnalysis.CSharp.dll diff --git a/Tools/Microsoft.CodeAnalysis.VisualBasic.dll b/Tools/Microsoft.CodeAnalysis.VisualBasic.dll Binary files differnew file mode 100755 index 0000000000..50160468eb --- /dev/null +++ b/Tools/Microsoft.CodeAnalysis.VisualBasic.dll diff --git a/Tools/Microsoft.CodeAnalysis.dll b/Tools/Microsoft.CodeAnalysis.dll Binary files differnew file mode 100755 index 0000000000..302f4ba898 --- /dev/null +++ b/Tools/Microsoft.CodeAnalysis.dll diff --git a/Tools/Microsoft.DiaSymReader.Converter.dll b/Tools/Microsoft.DiaSymReader.Converter.dll Binary files differnew file mode 100755 index 0000000000..969db80f7f --- /dev/null +++ b/Tools/Microsoft.DiaSymReader.Converter.dll diff --git a/Tools/Microsoft.DiaSymReader.dll b/Tools/Microsoft.DiaSymReader.dll Binary files differnew file mode 100755 index 0000000000..b681f51eba --- /dev/null +++ b/Tools/Microsoft.DiaSymReader.dll diff --git a/Tools/Microsoft.DotNet.Build.CloudTest.targets b/Tools/Microsoft.DotNet.Build.CloudTest.targets new file mode 100755 index 0000000000..950a194756 --- /dev/null +++ b/Tools/Microsoft.DotNet.Build.CloudTest.targets @@ -0,0 +1,10 @@ +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- While this package contains standalone, usable copies of the contents of the CloudTest and Dumpling + targets, the previous iteration is tied heavily into builds that look like .NET CoreFX. + As such, the only targets being imported here are CloudTest.Helix.targets which has been factored to + be used independently. In future iterations, we can conditionally bring in more targets here as needed --> + + <Import Project="$(MSBuildThisFileDirectory)\CloudTest.Helix.targets"/> + +</Project>
\ No newline at end of file diff --git a/Tools/Microsoft.DotNet.Build.CloudTestTasks.dll b/Tools/Microsoft.DotNet.Build.CloudTestTasks.dll Binary files differnew file mode 100755 index 0000000000..f91e59f612 --- /dev/null +++ b/Tools/Microsoft.DotNet.Build.CloudTestTasks.dll diff --git a/Tools/Microsoft.DotNet.Build.Tasks.Packaging.dll b/Tools/Microsoft.DotNet.Build.Tasks.Packaging.dll Binary files differnew file mode 100755 index 0000000000..f92260771f --- /dev/null +++ b/Tools/Microsoft.DotNet.Build.Tasks.Packaging.dll diff --git a/Tools/Microsoft.DotNet.Build.Tasks.dll b/Tools/Microsoft.DotNet.Build.Tasks.dll Binary files differnew file mode 100755 index 0000000000..d5f35994f1 --- /dev/null +++ b/Tools/Microsoft.DotNet.Build.Tasks.dll diff --git a/Tools/Microsoft.DotNet.VersionTools.dll b/Tools/Microsoft.DotNet.VersionTools.dll Binary files differnew file mode 100755 index 0000000000..ff4aba7a38 --- /dev/null +++ b/Tools/Microsoft.DotNet.VersionTools.dll diff --git a/Tools/NativeVersion.rc b/Tools/NativeVersion.rc new file mode 100755 index 0000000000..c8569894ea --- /dev/null +++ b/Tools/NativeVersion.rc @@ -0,0 +1,41 @@ +#include "_Version.h" + +#include <windows.h> + +VS_VERSION_INFO VERSIONINFO +FILEVERSION VER_FILEVERSION +PRODUCTVERSION VER_PRODUCTVERSION +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS VER_DEBUG +FILEOS VOS__WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", VER_COMPANYNAME_STR + VALUE "FileDescription", VER_FILEDESCRIPTION_STR + VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "InternalName", VER_INTERNALNAME_STR + VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR + VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR + VALUE "ProductName", VER_PRODUCTNAME_STR + VALUE "ProductVersion", VER_PRODUCTVERSION_STR + END + END + + BLOCK "VarFileInfo" + BEGIN + /* The following line should only be modified for localized versions. */ + /* It consists of any number of WORD,WORD pairs, with each pair */ + /* describing a language,codepage combination supported by the file. */ + /* */ + /* For example, a file might have values "0x409,1252" indicating that it */ + /* supports English language (0x409) in the Windows ANSI codepage (1252). */ + + VALUE "Translation", 0x409, 1252 + + END +END diff --git a/Tools/Newtonsoft.Json.dll b/Tools/Newtonsoft.Json.dll Binary files differnew file mode 100755 index 0000000000..96725e64dd --- /dev/null +++ b/Tools/Newtonsoft.Json.dll diff --git a/Tools/NuGet.Commands.dll b/Tools/NuGet.Commands.dll Binary files differnew file mode 100755 index 0000000000..5cd5a0b4a3 --- /dev/null +++ b/Tools/NuGet.Commands.dll diff --git a/Tools/NuGet.Common.dll b/Tools/NuGet.Common.dll Binary files differnew file mode 100755 index 0000000000..19f9d11ebd --- /dev/null +++ b/Tools/NuGet.Common.dll diff --git a/Tools/NuGet.Configuration.dll b/Tools/NuGet.Configuration.dll Binary files differnew file mode 100755 index 0000000000..b131c9feb9 --- /dev/null +++ b/Tools/NuGet.Configuration.dll diff --git a/Tools/NuGet.DependencyResolver.Core.dll b/Tools/NuGet.DependencyResolver.Core.dll Binary files differnew file mode 100755 index 0000000000..7e83fa986f --- /dev/null +++ b/Tools/NuGet.DependencyResolver.Core.dll diff --git a/Tools/NuGet.Frameworks.dll b/Tools/NuGet.Frameworks.dll Binary files differnew file mode 100755 index 0000000000..e60b445f4a --- /dev/null +++ b/Tools/NuGet.Frameworks.dll diff --git a/Tools/NuGet.LibraryModel.dll b/Tools/NuGet.LibraryModel.dll Binary files differnew file mode 100755 index 0000000000..c0ae102e82 --- /dev/null +++ b/Tools/NuGet.LibraryModel.dll diff --git a/Tools/NuGet.Packaging.Core.dll b/Tools/NuGet.Packaging.Core.dll Binary files differnew file mode 100755 index 0000000000..b769933f70 --- /dev/null +++ b/Tools/NuGet.Packaging.Core.dll diff --git a/Tools/NuGet.Packaging.dll b/Tools/NuGet.Packaging.dll Binary files differnew file mode 100755 index 0000000000..6cd39306fd --- /dev/null +++ b/Tools/NuGet.Packaging.dll diff --git a/Tools/NuGet.ProjectModel.dll b/Tools/NuGet.ProjectModel.dll Binary files differnew file mode 100755 index 0000000000..23a723bd66 --- /dev/null +++ b/Tools/NuGet.ProjectModel.dll diff --git a/Tools/NuGet.Protocol.dll b/Tools/NuGet.Protocol.dll Binary files differnew file mode 100755 index 0000000000..47e39fde95 --- /dev/null +++ b/Tools/NuGet.Protocol.dll diff --git a/Tools/NuGet.Versioning.dll b/Tools/NuGet.Versioning.dll Binary files differnew file mode 100755 index 0000000000..58e3b471d9 --- /dev/null +++ b/Tools/NuGet.Versioning.dll diff --git a/Tools/Open.snk b/Tools/Open.snk Binary files differnew file mode 100755 index 0000000000..22a3cbd253 --- /dev/null +++ b/Tools/Open.snk diff --git a/Tools/OptimizationData.msbuild b/Tools/OptimizationData.msbuild new file mode 100755 index 0000000000..6b4e67b5b0 --- /dev/null +++ b/Tools/OptimizationData.msbuild @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> + <TargetFrameworks>netcoreapp1.0;net46</TargetFrameworks> + <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> + </PropertyGroup> + <ItemGroup> + <PackageReference Include="$(OptimizationDataPackageName)" Version="$(OptimizationDataVersion)" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/Tools/OptionalTooling.targets b/Tools/OptionalTooling.targets new file mode 100755 index 0000000000..8b837759dd --- /dev/null +++ b/Tools/OptionalTooling.targets @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <UsingTask TaskName="GenerateEncryptedNuGetConfig" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" /> + <UsingTask TaskName="GenerateUnencryptedNuGetConfig" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" /> + <UsingTask TaskName="EncryptedConfigNuGetRestore" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" /> + <UsingTask TaskName="PrereleaseResolveNuGetPackageAssets" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" /> + + <Target Name="RestoreOptionalToolingPackages" + DependsOnTargets="RestoreOptionalToolingEncrypted; + CleanOptionalToolingRestore" + BeforeTargets="Sync" + Condition="'$(OptionalToolSource)'!=''" /> + + <!-- + Create items for any feeds specified by parameters. This makes it easy to pass in an optional + source with an msbuild command. + --> + <Target Name="CreateOptionalRestoreFeedItems"> + <ItemGroup> + <OptionalRestoreSource Include="FeedFromProperties"> + <Uri>$(OptionalToolSource)</Uri> + <Username Condition="'$(OptionalToolSourceUser)'!=''">$(OptionalToolSourceUser)</Username> + <Password Condition="'$(OptionalToolSourcePassword)'!=''">$(OptionalToolSourcePassword)</Password> + </OptionalRestoreSource> + </ItemGroup> + </Target> + + <!-- + Determine the paths of the optional tool runtime project.json/MSBuild project and lockfile. + Note: Either project.json ($(OptionalToolingJsonPath)) or MSBuild project ($(OptionalToolingProjectPath)) + should be set at one time. + --> + <Target Name="GetOptionalToolingPaths"> + <PropertyGroup> + <OptionalToolingDir>$(ToolsDir)optional-tool-runtime</OptionalToolingDir> + </PropertyGroup> + <PropertyGroup Condition="'$(OptionalToolingProjectPath)' == ''"> + <OptionalToolingJsonPath Condition="'$(OptionalToolingJsonPath)' == ''">$(OptionalToolingDir)\optional.json</OptionalToolingJsonPath> + <OptionalToolingProjectJsonPath>$(OptionalToolingDir)\project.json</OptionalToolingProjectJsonPath> + <OptionalToolingProjectLockJsonPath>$(OptionalToolingDir)\project.lock.json</OptionalToolingProjectLockJsonPath> + </PropertyGroup> + <PropertyGroup Condition="'$(OptionalToolingProjectPath)' != ''"> + <OptionalToolingProjectAssetsJsonPath>$(OptionalToolingDir)\project.assets.json</OptionalToolingProjectAssetsJsonPath> + </PropertyGroup> + </Target> + + <Target Name="PrepareOptionalToolProject" + DependsOnTargets="GetOptionalToolingPaths"> + + <!-- + Copy the mangled "optional.json" file to "project.json", so that we can restore it. The name + is optional.json so that recursive restore will not normally find the file: it contains + optional tooling that typical recursive restores do not provide, such as the buildtools build. + --> + <Copy Condition="'$(OptionalToolingProjectJsonPath)' != ''" + SourceFiles="$(OptionalToolingJsonPath)" + DestinationFiles="$(OptionalToolingProjectJsonPath)" + SkipUnchangedFiles="true" /> + </Target> + + <!-- + Restore optional tooling using a NuGet.Config on disk with encrypted credentials inside. + --> + <Target Name="RestoreOptionalToolingEncrypted" + DependsOnTargets="CreateOptionalRestoreFeedItems; + PrepareOptionalToolProject"> + <PropertyGroup> + <GeneratedNuGetConfigDir>$(BaseIntermediateOutputPath)generatedNuGetConfig/</GeneratedNuGetConfigDir> + <OptionalRestoreConfigPath>$(GeneratedNuGetConfigDir)optional.NuGet.Config</OptionalRestoreConfigPath> + </PropertyGroup> + + <GenerateEncryptedNuGetConfig ConfigPath="$(OptionalRestoreConfigPath)" + Sources="@(OptionalRestoreSource)" + PackagesDir="$(PackagesDir)" /> + + <!-- restore the project.json file, if it is being used --> + <EncryptedConfigNuGetRestore Condition="'$(OptionalToolingProjectJsonPath)' != ''" + Inputs="$(OptionalToolingProjectJsonPath)" + ConfigFile="$(OptionalRestoreConfigPath)" + PackagesDir="$(PackagesDir)" /> + + <!-- restore the MSBuild project file, if it is being used --> + <Exec Condition="'$(OptionalToolingProjectPath)' != ''" + Command=""$(DotnetToolCommand)" restore "$(OptionalToolingProjectPath)" --configfile "$(OptionalRestoreConfigPath)" /p:RestoreOutputPath="$(OptionalToolingDir)"" /> + + </Target> + + <!-- + Cleanup steps: try to ensure non-authenticated restore attempts don't attempt to restore + optional packages and reduce credential exposure to the remaining steps in the build. + --> + <Target Name="CleanOptionalToolingRestore" + Condition="'$(SkipCleanOptionalToolingRestore)'!='true'"> + <ItemGroup> + <OptionalRestoreTemporaryFilePath Include="$(OptionalRestoreConfigPath); + $(OptionalToolingProjectJsonPath)" /> + </ItemGroup> + + <Delete Files="@(OptionalRestoreTemporaryFilePath)" Condition="Exists('%(Identity)')" /> + </Target> + + <!-- + Resolve tooling from the optional restore lockfile. Other targets can find optional tooling + in ResolvedOptionalToolReferences. + --> + <Target Name="ResolveOptionalTools" + DependsOnTargets="GetOptionalToolingPaths"> + + <PropertyGroup> + <OptionalToolingProjectLockFilePath>$(OptionalToolingProjectLockJsonPath)</OptionalToolingProjectLockFilePath> + <OptionalToolingProjectLockFilePath Condition="'$(OptionalToolingProjectLockFilePath)' == ''">$(OptionalToolingProjectAssetsJsonPath)</OptionalToolingProjectLockFilePath> + </PropertyGroup> + + <Error Text="Optional tooling has not been restored. Use the 'RestoreOptionalToolingPackages' target first." + Condition="!Exists('$(OptionalToolingProjectLockFilePath)')" /> + + <ItemGroup> + <OptionalToolingTargetMoniker Include=".NETFramework,Version=v4.5" /> + </ItemGroup> + + <PrereleaseResolveNuGetPackageAssets ProjectLockFile="$(OptionalToolingProjectLockFilePath)" + TargetMonikers="@(OptionalToolingTargetMoniker)"> + <Output TaskParameter="ResolvedReferences" ItemName="ResolvedOptionalToolReferences" /> + </PrereleaseResolveNuGetPackageAssets> + </Target> + +</Project>
\ No newline at end of file diff --git a/Tools/PackageLibs.targets b/Tools/PackageLibs.targets new file mode 100755 index 0000000000..9e9e46d0cc --- /dev/null +++ b/Tools/PackageLibs.targets @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Condition="'$(_PackagingCommonTargetsImported)' != 'true'" Project="Packaging.common.targets"/> + + <Target Name="UpdatePkgProjProjectReferences" BeforeTargets="AssignProjectConfiguration"> + <!-- Update PkgProj references to call the GetPackageAssets target --> + <ItemGroup> + <ProjectReference Condition="'%(ProjectReference.Extension)'=='.pkgproj'"> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + <Targets>GetPackageAssets</Targets> + <OutputItemType>PkgProjAsset</OutputItemType> + <UndefineProperties>%(ProjectReference.UndefineProperties);OSGroup;TargetGroup</UndefineProperties> + </ProjectReference> + </ItemGroup> + </Target> + + <PropertyGroup> + <!-- Resolve from pkgProjs before nuget packages --> + <ResolveNugetPackagesDependsOn>$(ResolveNugetPackagesDependsOn);ResolvePkgProjReferences</ResolveNugetPackagesDependsOn> + <ResolvePkgProjReferencesDependsOn>$(ResolvePkgProjReferencesDependsOn);ResolveProjectReferences</ResolvePkgProjReferencesDependsOn> + </PropertyGroup> + + <!-- Resolves applicable files from all files in PkgProjs. Similar to ResolveNuGetPackageAssets, except operates on a file list + without requiring actual nupkgs, project.json, or restore --> + <Target Name="ResolvePkgProjReferences" Condition="'@(PkgProjAsset)' != ''" DependsOnTargets="$(ResolvePkgProjReferencesDependsOn)"> + <GetApplicableAssetsFromPackages PackageAssets="@(PkgProjAsset)" + TargetMonikers="$(NuGetTargetMoniker)" + RuntimeTargetMonikers="$(TestNuGetTargetMoniker)" + TargetRuntime="$(TestNugetRuntimeId)" + RuntimeFile="$(RuntimeIdGraphDefinitionFile)"> + <Output TaskParameter="CompileAssets" ItemName="Reference" /> + <Output TaskParameter="RuntimeAssets" ItemName="ReferenceCopyLocalPaths" /> + </GetApplicableAssetsFromPackages> + </Target> + + <!-- Returns the set of files to be included in the nuget package + with appropriate metadata.--> + <Target Name="GetFilesToPackage" + Returns="@(FilesToPackage)"> + <PropertyGroup> + <PackagePath Condition="'$(PackagePath)' == ''">$(TargetPath)</PackagePath> + <PackageIncludeDocs Condition="'$(PackageIncludeDocs)' == '' AND '$(IsReferenceAssembly)' == 'true'">true</PackageIncludeDocs> + <PackageIncludeDocs Condition="'$(PackageIncludeDocs)' == '' AND '$(DocumentationFile)' != ''">true</PackageIncludeDocs> + </PropertyGroup> + + <!-- Find a root directory that is an ancestor of every possible source file, including + ones in bin and Tools. Allow configuration, otherwise prefer TFS root. --> + <PropertyGroup> + <ProjectRoot Condition="'$(ProjectRoot)'==''">$(SourcesRootPath)</ProjectRoot> + <ProjectRoot Condition="'$(ProjectRoot)'==''">$(ProjectDir)</ProjectRoot> + <ProjectRootLength>$(ProjectRoot.Length)</ProjectRootLength> + </PropertyGroup> + + <!-- XmlDocFileRoot should be defined externally since these are currently not + part of the corefx repo. --> + <!-- This isn't a straight mapping to an algorithm using CultureInfo. + There are special cases for en-US and zh-* so we manually list + the mapping.--> + <ItemGroup> + <XmlDocFile Include="$(XmlDocFileRoot)/1028/$(TargetName).xml"> + <SubFolder>/zh-hant</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1031/$(TargetName).xml"> + <SubFolder>/de</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1033/$(TargetName).xml"> + <SubFolder /> + <!-- en docs go in root as neutral fall back --> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1036/$(TargetName).xml"> + <SubFolder>/fr</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1040/$(TargetName).xml"> + <SubFolder>/it</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1041/$(TargetName).xml"> + <SubFolder>/ja</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1042/$(TargetName).xml"> + <SubFolder>/ko</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/1049/$(TargetName).xml"> + <SubFolder>/ru</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/2052/$(TargetName).xml"> + <SubFolder>/zh-hans</SubFolder> + </XmlDocFile> + <XmlDocFile Include="$(XmlDocFileRoot)/3082/$(TargetName).xml"> + <SubFolder>/es</SubFolder> + </XmlDocFile> + </ItemGroup> + + <!-- currently behind a flag to avoid noise in the build --> + <Warning Condition="'$(ValidateDocs)' == 'true' AND '$(PackageIncludeDocs)' == 'true' AND !Exists('%(XmlDocFile.Identity)')" + Text="Documentation file %(XmlDocFile.Identity) was not found." /> + + <!-- remove any missing docs--> + <ItemGroup> + <XmlDocFile Remove="@(XmlDocFile)" Condition="!Exists('%(XmlDocFile.Identity)')"/> + </ItemGroup> + + <PropertyGroup> + <!-- Desktop libraries that contain types in classic assemblies need to be included in ref + so that the types unify with the classic assemblies from the targeting pack. --> + <PackageDesktopAsRef Condition="'$(PackageDesktopAsRef)' == ''">$(IsPartialFacadeAssembly)</PackageDesktopAsRef> + <PackageDesktopAsRef Condition="'$(PackageAsRefAndLib)' != ''">$(PackageAsRefAndLib)</PackageDesktopAsRef> + + <!-- Desktop libraries should also be packaged without a RID to work in packages.config projects --> + <PackageDesktopAsLib Condition="'$(PackageDesktopAsLib)' == ''">true</PackageDesktopAsLib> + + <!-- A reference asset is any file contributed from a project that is contributing a reference, + not just the file in the ref folder. --> + <IsReferenceAsset Condition="'$(IsReferenceAsset)' == ''">$(IsReferenceAssembly)</IsReferenceAsset> + <IsReferenceAsset Condition="'$(IsReferenceAsset)' == ''">false</IsReferenceAsset> + </PropertyGroup> + + <!-- *** determine destination path for assets *** + Order of precedence + @(PackageDestination) - used verbatim, must set identity to path and TargetFramework to target moniker. + + $(PackageTargetFramework) & @(PackageTargetFramework) - combined to specify target monikers and optionally target runtime. Path is calculated. + $(NuGetTargetMoniker) - specifies target moniker if nothing else is specified. Path is calculated. + --> + <GetPackageDestination Condition="'@(PackageDestination)' == ''" + PackageTargetFrameworks="$(PackageTargetFramework);@(PackageTargetFramework)" + PackageTargetRuntime="$(PackageTargetRuntime)" + NuGetTargetMoniker="$(NuGetTargetMoniker)" + IsReferenceAssembly="$(IsReferenceAssembly)" + PackageDesktopAsRef="$(PackageDesktopAsRef)" + PackageDesktopAsLib="$(PackageDesktopAsLib)" + SuppressPackageTargetFrameworkCompatibility="@(SuppressPackageTargetFrameworkCompatibility)"> + <Output TaskParameter="PackageDestinations" ItemName="PackageDestination" /> + <Output TaskParameter="IsReferenceAsset" PropertyName="IsReferenceAsset" /> + </GetPackageDestination> + + <!-- fail if not specified by the project --> + <Error Condition="'@(PackageDestination)' == ''" Text="Error could not determine packaging destination. Please set either PackageTargetFramework property, PackageTargetFramework item, NuGetTargetMoniker property or PackageDestination item." /> + + <!-- Be explicit about path seperators for the target path for source files. When building packages on *nix, the use of the DOS seperator + was causing us to include source files in our packages in a folder called src\src, instead of them being stripped. --> + <PropertyGroup> + <SourceFileTargetPathPrefix Condition="'$(RunningOnUnix)' != 'true'">src\</SourceFileTargetPathPrefix> + <SourceFileTargetPathPrefix Condition="'$(RunningOnUnix)' == 'true'">src/</SourceFileTargetPathPrefix> + </PropertyGroup> + + <!-- *** include assets *** --> + <ItemGroup> + <!-- Include symbols output --> + <SymbolFileToPackage Include="$(PackagePath.Replace('.dll', '.pdb'))" Condition="Exists($(PackagePath.Replace('.dll', '.pdb')))"> + <IsSymbolFile>true</IsSymbolFile> + </SymbolFileToPackage> + + <!-- Include primary output --> + <FilesToPackage Include="$(PackagePath);@(SymbolFileToPackage)"> + <AssemblyVersion>$(AssemblyVersion)</AssemblyVersion> + <TargetFramework>%(PackageDestination.TargetFramework)</TargetFramework> + <TargetPath>%(PackageDestination.Identity)</TargetPath> + <IsReferenceAsset>$(IsReferenceAsset)</IsReferenceAsset> + </FilesToPackage> + + <!-- Inlude any additional items if specified --> + <FilesToPackage Include="@(AdditionalFileToPackage)"> + <TargetFramework>%(PackageDestination.TargetFramework)</TargetFramework> + <TargetPath>%(PackageDestination.Identity)</TargetPath> + <IsReferenceAsset>$(IsReferenceAsset)</IsReferenceAsset> + </FilesToPackage> + + <!-- Include doc output if it isn't centrally authored --> + <FilesToPackage Include="$(DocumentationFile)" Condition="'$(DocumentationFile)' != '' AND '@(XmlDocFile)' == '' AND '$(PackageIncludeDocs)' == 'true'"> + <TargetPath>%(PackageDestination.Identity)</TargetPath> + <IsReferenceAsset>$(IsReferenceAsset)</IsReferenceAsset> + <!-- intentionally omit TargetFramework: no dependencies for docs --> + </FilesToPackage> + + <!-- Include pre-authored docs if available and required --> + <FilesToPackage Include="@(XmlDocFile)" Condition="'$(PackageIncludeDocs)' == 'true'"> + <TargetPath>%(PackageDestination.Identity)</TargetPath> + <IsReferenceAsset>$(IsReferenceAsset)</IsReferenceAsset> + <!-- intentionally omit TargetFramework: no dependencies for docs --> + </FilesToPackage> + <FilesToPackage Condition="'%(FilesToPackage.SubFolder)' != ''"> + <TargetPath>%(TargetPath)%(FilesToPackage.SubFolder)</TargetPath> + </FilesToPackage> + + </ItemGroup> + </Target> +</Project> diff --git a/Tools/Packaging.common.targets b/Tools/Packaging.common.targets new file mode 100755 index 0000000000..c6cf4483b9 --- /dev/null +++ b/Tools/Packaging.common.targets @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_PackagingCommonTargetsImported>true</_PackagingCommonTargetsImported> + </PropertyGroup> + + <PropertyGroup> + <PackagingTaskDir Condition="'$(PackagingTaskDir)' == ''">$(MSBuildThisFileDirectory)</PackagingTaskDir> + <RuntimeIdGraphDefinitionFile Condition="'$(RuntimeIdGraphDefinitionFile)' == '' AND Exists('$(ProjectDir)pkg/Microsoft.NETCore.Platforms/runtime.json')">$(ProjectDir)pkg/Microsoft.NETCore.Platforms/runtime.json</RuntimeIdGraphDefinitionFile> + <RuntimeIdGraphDefinitionFile Condition="'$(RuntimeIdGraphDefinitionFile)' == ''">$(MSBuildThisFileDirectory)runtime.json</RuntimeIdGraphDefinitionFile> + + <PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(BaseOutputPath)pkg/</PackageOutputPath> + <PackageReportDir Condition="'$(PackageReportDir)' == ''">$(PackageOutputPath)reports/</PackageReportDir> + </PropertyGroup> + + <PropertyGroup Condition="'$(PackageTargetRuntimeSuffix)' != ''"> + <PackageTargetRuntime Condition="'$(PackageTargetRuntime)' != ''">$(PackageTargetRuntime)-$(PackageTargetRuntimeSuffix)</PackageTargetRuntime> + <PackageTargetRuntime Condition="'$(PackageTargetRuntime)' == ''">$(PackageTargetRuntimeSuffix)</PackageTargetRuntime> + </PropertyGroup> + + <UsingTask TaskName="ApplyBaseLine" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="ApplyMetaPackages" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="ApplyPreReleaseSuffix" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="CreateTrimDependencyGroups" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="FilterUnknownPackages" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GenerateNuSpec" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GeneratePackageReport" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GenerateRuntimeGraph" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GenerateRuntimeDependencies" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetApplicableAssetsFromPackages" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetAssemblyReferences" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetInboxFrameworks" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetLastStablePackage" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetMinimumNETStandard" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetPackageDescription" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetPackageDestination" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetPackageFromModule" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetPackageVersion" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="HarvestPackage" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="NuGetPack" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="PromoteDependencies" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="SplitDependenciesBySupport" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="SplitReferences" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="UpdatePackageIndex" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="ValidatePackage" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="ValidateFrameworkPackage" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="VerifyClosure" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="VerifyTypes" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> + <UsingTask TaskName="GetSupportedPackagesFromPackageReports" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/> +</Project> diff --git a/Tools/Packaging.targets b/Tools/Packaging.targets new file mode 100755 index 0000000000..b0255af0af --- /dev/null +++ b/Tools/Packaging.targets @@ -0,0 +1,1315 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" TreatAsLocalProperty="BuildProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Condition="'$(_PackagingCommonTargetsImported)' != 'true'" Project="Packaging.common.targets"/> + + <!-- The following properties are expected to change as we transition from + Beta -> RC - RTM. We should set $(IncludeBuildNumberInPackageVersion) + to false for the Beta/RC builds that get uploaded to NuGet. + --> + <PropertyGroup> + <PackageVersion Condition="'$(StableVersion)' != ''">$(StableVersion)</PackageVersion> + <PackageVersion Condition="'$(PackageVersion)' == '' AND '$(Version)' != ''">$(Version)</PackageVersion> + <PreReleaseLabel Condition="'$(PreReleaseLabel)' == ''">rc2</PreReleaseLabel> + <IncludeBuildNumberInPackageVersion Condition="'$(IncludeBuildNumberInPackageVersion)' == ''">true</IncludeBuildNumberInPackageVersion> + + <VersionSuffix Condition="'$(PreReleaseLabel)' != ''">-$(PreReleaseLabel)</VersionSuffix> + <VersionSuffix Condition="'$(IncludeBuildNumberInPackageVersion)' == 'true'">$(VersionSuffix)-$(BuildNumberMajor)-$(BuildNumberMinor)</VersionSuffix> + + <!-- + Empty out the project properties because we want configuration and platform to come from the individual + projects instead of being overridden by the value the packages have. + --> + <ProjectProperties></ProjectProperties> + + <BaseLinePackageDependencies Condition="'$(BaseLinePackageDependencies)' == ''">true</BaseLinePackageDependencies> + <ApplyMetaPackages Condition="'$(ApplyMetaPackages)' == ''">true</ApplyMetaPackages> + + <!-- By default we'll build libraries referenced by packages --> + <BuildPackageLibraryReferences Condition="'$(BuildPackageLibraryReferences)' == ''">true</BuildPackageLibraryReferences> + + <BuildInParallel Condition="'$(BuildInParallel)' == '' AND '$(MSBuildNodeCount)' > '1'">true</BuildInParallel> + </PropertyGroup> + + <PropertyGroup Condition="'$(IsRuntimePackage)' == 'true' or '$(PackageTargetRuntime)' != ''"> + <IdPrefix>runtime.</IdPrefix> + <IdPrefix Condition="'$(PackageTargetRuntime)' != ''">$(IdPrefix)$(PackageTargetRuntime).</IdPrefix> + <IdPrefix Condition="'$(PackageTargetFramework)' != ''">$(IdPrefix)$(PackageTargetFramework).</IdPrefix> + </PropertyGroup> + + <!-- If Signing is enabled, we'll always want to write *.nupkg_requires_signing files --> + <UsingTask AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" TaskName="WriteSigningRequired" /> + <PropertyGroup> + <ShouldWritePkgSigningRequired Condition="'$(SkipSigning)' == 'true'">false</ShouldWritePkgSigningRequired> + <ShouldWritePkgSigningRequired Condition="'$(SignType)' == 'public' or '$(SignType)' == 'oss'">false</ShouldWritePkgSigningRequired> + <ShouldWritePkgSigningRequired Condition="'$(ShouldWritePkgSigningRequired)'==''">true</ShouldWritePkgSigningRequired> + <NuPkgAuthenticodeSig Condition="'$(ShouldWritePkgSigningRequired)'=='true'">Microsoft</NuPkgAuthenticodeSig> + </PropertyGroup> + + <!-- + NuSpec configuration. + + NOTE: It's by design that these properties override the project. We don't + want projects to specify any metadata, most of the metadata should be + the same for all packages, and the rest will be centralized. + --> + <PropertyGroup> + <BaseId>$(MSBuildProjectName)</BaseId> + <Id>$(IdPrefix)$(BaseId)</Id> + <PackedPackageNamePrefix Condition="'$(PackedPackageNamePrefix)' == ''">transport</PackedPackageNamePrefix> + <PackedPackageId>$(PackedPackageNamePrefix).$(Id)</PackedPackageId> + <!-- It is by design that the Title matches the Id. We want users to get an assembly view. --> + <Title>$(Id)</Title> + <Authors>Microsoft</Authors> + <Owners>microsoft,dotnetframework</Owners> + <Description>TODO</Description> + <LicenseUrl Condition="'$(LicenseUrl)' == ''">http://go.microsoft.com/fwlink/?LinkId=329770</LicenseUrl> + <IconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</IconUrl> + <Copyright Condition="'$(Copyright)' == ''">.NET Foundation and Contributors</Copyright> + <Tags></Tags> + <RequireLicenseAcceptance Condition="'$(RequireLicenseAcceptance)' == ''">false</RequireLicenseAcceptance> + <Serviceable Condition="'$(Serviceable)' == ''">true</Serviceable> + <!-- we depend on nuget v2.12 / v3.4 behavior NuGet doesn't support two different min client versions + so we declare 2.12 and mention in package description that when using 3.x we require 3.4 or later --> + <MinClientVersion3 Condition="'$(MinClientVersion3)' == '' and '$(MinClientVersion)' == ''">3.4</MinClientVersion3> + <MinClientVersion Condition="'$(MinClientVersion)' == ''">2.12</MinClientVersion> + </PropertyGroup> + + <!-- Shared properties --> + <PropertyGroup> + <SymbolPackageOutputPath Condition="'$(SymbolPackageOutputPath)' == ''">$(BaseOutputPath)symbolpkg/</SymbolPackageOutputPath> + <OutputPath>$(PackageOutputPath)</OutputPath> + <NuSpecOutputPath Condition="'$(NuSpecOutputPath)' == ''">$(PackageOutputPath)specs/</NuSpecOutputPath> + <NuSpecPath>$(NuSpecOutputPath)$(Id)$(NuspecSuffix).nuspec</NuSpecPath> + <PackageReportPath>$(PackageReportDir)$(Id)$(NuspecSuffix).json</PackageReportPath> + <TargetPath>$(NuSpecPath)</TargetPath> + <RuntimeFilePath Condition="'$(RuntimeFilePath)' == ''">$(NuSpecOutputPath)$(Id)$(NuspecSuffix)/runtime.json</RuntimeFilePath> + <PackedPackageRuntimeFilePath Condition="'$(PackedPackageRuntimeFilePath)' == ''">$(NuSpecOutputPath)$(Id)$(NuspecSuffix)/$(PackedPackageNamePrefix).runtime.json</PackedPackageRuntimeFilePath> + <PlaceholderFile>$(MSBuildThisFileDirectory)_._</PlaceholderFile> + <PackageDescriptionFile Condition="'$(PackageDescriptionFile)' == ''">path to descriptions.json must be specified</PackageDescriptionFile> + <ValidationSuppressionFile Condition="'$(ValidationSuppressionFile)' == ''">ValidationSuppression.txt</ValidationSuppressionFile> + <SyncInfoFile Condition="'$(SyncInfoFile)' == ''">unspecified</SyncInfoFile> + <LineupPackageId Condition="'$(LineupPackageId)' == ''">Microsoft.NETCore.Targets</LineupPackageId> + <LineupPackageVersion Condition="'$(LineupPackageVersion)' == ''">1.0.1</LineupPackageVersion> + <PlatformPackageId Condition="'$(PlatformPackageId)' == ''">Microsoft.NETCore.Platforms</PlatformPackageId> + <PlatformPackageVersion Condition="'$(PlatformPackageVersion)' == ''">1.0.1</PlatformPackageVersion> + </PropertyGroup> + + + <!-- Determine if we actually need to build for this architecture --> + <!-- Packages can specifically control their architecture by specifying the PackagePlatforms + property as a semi-colon delimited list. + If this is not done then the package will build if the target runtime contains the current + architecture or if we're building for x86. --> + <PropertyGroup> + <PackagePlatform Condition="'$(PackagePlatform)' == ''">$(Platform)</PackagePlatform> + <PackagePlatform Condition="'$(PackagePlatform)' == 'amd64'">x64</PackagePlatform> + + <!-- build if the package specifically requests current architecture via PackagePlatforms --> + <ShouldGenerateNuSpec Condition="$(PackagePlatforms.Contains('$(PackagePlatform);'))">true</ShouldGenerateNuSpec> + <!-- build if PackagePlatforms is not specified and the PackageTargetRuntime contains the current architecture --> + <ShouldGenerateNuSpec Condition="'$(PackagePlatforms)' == '' AND $(PackageTargetRuntime.Contains('-$(PackagePlatform)'))">true</ShouldGenerateNuSpec> + <!-- build if PackagePlatforms is not specified and arch is x86 or AnyCPU --> + <ShouldGenerateNuSpec Condition="'$(PackagePlatforms)' == '' AND ('$(PackagePlatform)' == 'x86' OR '$(PackagePlatform)' == 'AnyCPU')">true</ShouldGenerateNuSpec> + <ShouldCreatePackage Condition="'$(ShouldCreatePackage)' == ''">$(ShouldGenerateNuSpec)</ShouldCreatePackage> + <BuildDependsOn Condition="'$(ShouldGenerateNuSpec)' == 'true'">GenerateNuSpec</BuildDependsOn> + <BuildDependsOn Condition="'$(ShouldCreatePackage)' == 'true'">$(BuildDependsOn);CreatePackage</BuildDependsOn> + <BuildDependsOn Condition="'$(ShouldCreatePackage)' == 'true' OR '$(ShouldGenerateNuSpec)' == 'true'">$(BuildDependsOn);GetPackageReport;ValidatePackage</BuildDependsOn> + </PropertyGroup> + + <!-- Redefine build to just create the NuSpec only, we'll create the package during ArcProjects phase --> + <Target Name="Build" + DependsOnTargets="$(BuildDependsOn)"> + + <Message Condition="'$(ShouldGenerateNuSpec)' == 'true'" + Text="$(MSBuildProjectName) -> $(NuSpecPath)" + Importance="high" /> + + <Message Condition="'$(ShouldGenerateNuSpec)' != 'true'" + Text="Skipping nuspec generation for this platform." + Importance="high" /> + </Target> + + <Target Name="Clean"> + <!-- package version is calculated so read the last version from the marker file. --> + <ReadLinesFromFile File="$(NuSpecPath).pkgpath" + Condition="Exists('$(NuSpecPath).pkgpath')"> + <Output TaskParameter="Lines" ItemName="_ToBeDeleted"/> + </ReadLinesFromFile> + + <ItemGroup> + <_ToBeDeleted Include="$(NuSpecPath)" /> + <_ToBeDeleted Include="$(NuSpecPath).pkgpath" /> + <_ToBeDeleted Include="$(RuntimeFilePath)" /> + <_ToBeDeleted Include="$(PackedPackageRuntimeFilePath)" /> + </ItemGroup> + <Delete Files="@(_ToBeDeleted)" /> + </Target> + + <Target Name="Rebuild" + DependsOnTargets="Clean;Build" /> + + <!-- BEGIN project refs--> + <!-- Don't actually walk the closure all the time, conditioned on GetClosure metadata on ProjectReference. + Walking the closure is very expensive for many of our packages and is unecessary since we are very + strict about assets that are included in the package. --> + <Target Name="_GetProjectClosure" + DependsOnTargets="ConvertCommonMetadataToAdditionalProperties" + Returns="@(_ProjectReferenceClosure)"> + + <!-- Get closure of indirect references if they opt-in --> + <MSBuild Projects="@(ProjectReference)" + Targets="_GetProjectClosure" + Properties="$(ProjectProperties)" + ContinueOnError="WarnAndContinue" + BuildInParallel="$(BuildInParallel)" + Condition="'%(ProjectReference.GetClosure)' == 'true'"> + <Output TaskParameter="TargetOutputs" + ItemName="_ProjectReferenceClosureWithDuplicates" /> + </MSBuild> + + <!-- Remove duplicates from closure --> + <RemoveDuplicates Inputs="@(_ProjectReferenceClosureWithDuplicates)"> + <Output TaskParameter="Filtered" + ItemName="_ProjectReferenceClosureWithoutMetadata"/> + </RemoveDuplicates> + + <ItemGroup> + <!-- Remove references that are also direct references --> + <_ProjectReferenceClosureWithoutMetadata Remove="%(ProjectReference.FullPath)" /> + <!-- We can now mark all the closure references as indirect --> + <_ProjectReferenceClosure Include="@(_ProjectReferenceClosureWithoutMetadata)"> + <DependencyKind>Indirect</DependencyKind> + <PackageDirectory>%(ProjectReference.PackageDirectory)</PackageDirectory> + </_ProjectReferenceClosure> + <!-- Now add the direct references, preserving metadata --> + <_ProjectReferenceClosure Include="@(ProjectReference->'%(FullPath)')"> + <DependencyKind>Direct</DependencyKind> + </_ProjectReferenceClosure> + </ItemGroup> + + </Target> + + <Target Name="SplitProjectReferences" + DependsOnTargets="_GetProjectClosure"> + <ItemGroup> + <!-- Split direct and indirect project dependencies --> + <_PkgProjProjectReferenceClosure Include="@(_ProjectReferenceClosure)" + Condition="'%(_ProjectReferenceClosure.Extension)' == '.pkgproj'" /> + <_NonPkgProjProjectReferenceClosure Include="@(_ProjectReferenceClosure)" + Condition="'%(_ProjectReferenceClosure.Extension)' != '.pkgproj'" /> + + <!-- Split direct project dependencies --> + <_PkgProjProjectReference Include="@(_PkgProjProjectReferenceClosure)" + Condition="'%(DependencyKind)' == 'Direct'" /> + <_NonPkgProjProjectReference Include="@(_NonPkgProjProjectReferenceClosure)" + Condition="'%(DependencyKind)' == 'Direct'" /> + + </ItemGroup> + </Target> + + <Target Name="GetPkgProjPackageDependencies" + Returns="@(PkgProjDependency)" + Inputs="%(_PkgProjProjectReferenceClosure.DependencyKind)" + Outputs="fake" + DependsOnTargets="SplitProjectReferences"> + <MSBuild Targets="GetPackageIdentity" + BuildInParallel="$(BuildInParallel)" + Projects="@(_PkgProjProjectReferenceClosure)" + Properties="%(_PkgProjProjectReferenceClosure.SetConfiguration); %(_PkgProjProjectReferenceClosure.SetPlatform)"> + <Output TaskParameter="TargetOutputs" + ItemName="_PkgProjDependency" /> + </MSBuild> + <ItemGroup> + <PkgProjDependency Include="@(_PkgProjDependency)"> + <DependencyKind>%(_PkgProjProjectReferenceClosure.DependencyKind)</DependencyKind> + </PkgProjDependency> + </ItemGroup> + </Target> + + + <PropertyGroup> + <!-- exclude reference assets for runtime packages + these assets are only packaged in the reference packages. Even + if they have a runtime asset we package it in the reference package + for better compression. --> + <ExcludeReferenceAssets Condition="'$(ExcludeReferenceAssets)' == '' AND '$(PackageTargetRuntime)' != ''">true</ExcludeReferenceAssets> + </PropertyGroup> + + <!-- We define a custom target: GetFilesToPackage which does a minimal build of the project + and passes all information in a single item group. + This helps minimize the number of project evaluations and targets that build in order + to determine the contents of the package--> + <Target Name="ExpandProjectReferences" + DependsOnTargets="SplitProjectReferences"> + + <!-- Only rebuild project references when specified --> + <MSBuild Targets="Build" + BuildInParallel="$(BuildInParallel)" + Condition="'$(BuildPackageLibraryReferences)' == 'true' AND '$(DesignTimeBuild)' != 'true'" + Projects="@(_NonPkgProjProjectReference)" + Properties="$(ProjectProperties)" + ContinueOnError="WarnAndContinue"/> + + <MSBuild Targets="GetFilesToPackage" + BuildInParallel="$(BuildInParallel)" + Projects="@(_NonPkgProjProjectReference)" + Properties="$(ProjectProperties)"> + <Output TaskParameter="TargetOutputs" + ItemName="_FilesToPackage" /> + </MSBuild> + + <ItemGroup> + <_FilesToPackage Remove="@(_FilesToPackage)" Condition="'$(ExcludeReferenceAssets)' == 'true' AND '%(_FilesToPackage.IsReferenceAsset)' == 'true'" /> + <File Include="@(_FilesToPackage)"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + <!-- Some packages support legacy portable profiles where dependencies are provided by targeting pack --> + <HarvestDependencies Condition="!$([System.String]::Copy('%(_FilesToPackage.TargetFramework)').StartsWith('portable-'))">true</HarvestDependencies> + </File> + </ItemGroup> + + <Error Condition="'$(SkipPackageFileCheck)' != 'true' AND + '$(IsFrameworkPackage)' != 'true' AND + '%(File.SkipPackageFileCheck)' != 'true' AND + '%(File.FileName)' != '_' AND + '%(File.FileName)%(File.Extension)' != 'runtime.json' AND + '%(File.Extension)' != '.cs' AND + '%(File.Extension)' != '.vb' AND + !$(ID.Contains('%(File.FileName)'))" + Text="Package $(ID) contains file with name %(File.FileName). If this is expected you can disable this filename checking for this item or package by setting SkipPackageFileCheck = true" /> + </Target> + <!-- END project refs--> + + <!-- BEGIN files--> + <!-- If the "PreventImplementationReference" property is true, then don't permit references to the + package implementation from lib. This is used in the platform specific packages which should + not be directly referenced by projects for implemtation dependencies. --> + <Target Name="PreventImplementationReference"> + <ItemGroup Condition="'$(PreventImplementationReference)' == 'true'"> + <File Include="$(PlaceholderFile)"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + <TargetPath Condition="'$(UseNetPlatform)' != 'true'">ref/netstandard</TargetPath> + <TargetPath Condition="'$(UseNetPlatform)' == 'true'">ref/dotnet</TargetPath> + </File> + </ItemGroup> + </Target> + + <!-- + InboxOnTargetFramework: contract implementation and reference are inbox, use placeholders for both + NotSupportedOnTargetFramework: contract should not be supported, use place holder for lib + ExternalOnTargetFramework: contract implementation is provided by another package, use placeholders for both + --> + <Target Name="AddPlaceholders" + DependsOnTargets="ExpandProjectReferences;PreventImplementationReference" + Inputs="%(InboxOnTargetFramework.Identity);%(NotSupportedOnTargetFramework.Identity);%(ExternalOnTargetFramework.Identity)" + Outputs="fake"> + <ItemGroup> + <_targetItem Include="@(InboxOnTargetFramework)"/> + <_targetItem Include="@(NotSupportedOnTargetFramework)"/> + <_targetItem Include="@(ExternalOnTargetFramework)"/> + </ItemGroup> + <PropertyGroup> + <_target>%(_targetItem.Identity)</_target> + <_targetRuntime>$(PackageTargetRuntime)</_targetRuntime> + <_targetRuntime Condition="'%(_targetItem.PackageTargetRuntime)' != ''">%(_targetItem.PackageTargetRuntime)</_targetRuntime> + <!-- don't use 'any' in paths due to https://github.com/NuGet/Home/issues/1676 --> + <_targetRuntime Condition="'$(_targetRuntime)' == 'any'"></_targetRuntime> + <!-- include a ref placeholder for everything but NotSupportedOnTargetFramework, never put placeholders in runtime packages --> + <_targetRef Condition="'%(NotSupportedOnTargetFramework.Identity)' == '' AND '$(PackageTargetRuntime)' == ''">true</_targetRef> + </PropertyGroup> + <ItemGroup> + <File Include="$(PlaceholderFile)"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + <TargetPath Condition="'$(_targetRuntime)' != ''">runtimes/$(_targetRuntime)/lib/$(_target)</TargetPath> + <TargetPath Condition="'$(_targetRuntime)' == ''">lib/$(_target)</TargetPath> + </File> + <File Include="$(PlaceholderFile)" Condition="'$(_targetRef)' == 'true'"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + <TargetPath>ref/$(_target)</TargetPath> + </File> + <FrameworkReference Condition="'%(InboxOnTargetFramework.AsFrameworkReference)' == 'true'" Include="$(Id)"> + <TargetFramework>$(_target)</TargetFramework> + </FrameworkReference> + <FrameworkReference Condition="'%(InboxOnTargetFramework.FrameworkReference)' != ''" Include="%(InboxOnTargetFramework.FrameworkReference)"> + <TargetFramework>$(_target)</TargetFramework> + </FrameworkReference> + <Dependency Include="_._"> + <TargetFramework>$(_target)</TargetFramework> + </Dependency> + </ItemGroup> + </Target> + + <Target Name="ConvertItems" + DependsOnTargets="ExpandProjectReferences;AddPlaceholders"> + <CreateItem Include="@(ProjectReferenceOutput)"> + <Output TaskParameter="Include" + ItemName="File"/> + </CreateItem> + <ItemGroup> + <_LinkedContentFiles Include="@(Content)" + Condition="'%(Content.Link)' != ''" /> + <_UnlinkedContentFiles Include="@(Content)" + Condition="'%(Content.Link)' == ''" /> + </ItemGroup> + <CreateItem Include="@(_LinkedContentFiles)" + AdditionalMetadata="TargetPath=%(Link)"> + <Output TaskParameter="Include" + ItemName="File"/> + </CreateItem> + <CreateItem Include="@(_UnlinkedContentFiles)" + AdditionalMetadata="TargetPath=%(RelativeDir)"> + <Output TaskParameter="Include" + ItemName="File"/> + </CreateItem> + + <!-- We need to special case library files in later phases. In order to make this + easier, we add custom metadata 'IsLibrary' that indicates whether the file is + targeting the lib folder or not. --> + + <ItemGroup> + <_FileWithIsLibrary Include="@(File)" + Condition="'%(File.TargetPath)' == 'lib' OR + $([System.String]::Copy('%(File.TargetPath)').ToLower().StartsWith('lib\')) OR + $([System.String]::Copy('%(File.TargetPath)').ToLower().StartsWith('lib/'))"> + <PackageDirectory>Lib</PackageDirectory> + </_FileWithIsLibrary> + <_FileWithIsLibrary Include="@(File)" + Condition="'%(File.TargetPath)' != 'lib' AND + !$([System.String]::Copy('%(File.TargetPath)').ToLower().StartsWith('lib\')) AND + !$([System.String]::Copy('%(File.TargetPath)').ToLower().StartsWith('lib/'))"> + <PackageDirectory></PackageDirectory> + </_FileWithIsLibrary> + <File Remove="@(File)" /> + <File Include="@(_FileWithIsLibrary)" /> + </ItemGroup> + </Target> + + <Target Name="HarvestStablePackage" + Condition="'$(HarvestStablePackage)' != 'false'" + DependsOnTargets="ConvertItems;GetPkgProjPackageDependencies"> + <ItemGroup> + <_latestPackage Include="$(Id)"> + <Version>$(PackageVersion)</Version> + </_latestPackage> + <_latestRuntimePackages Include="@(PkgProjDependency)" Condition="'%(PkgProjDependency.TargetRuntime)' != ''" KeepDuplicates="false" /> + </ItemGroup> + + <!-- Calculate the package version to harvest --> + <GetLastStablePackage Condition="'$(HarvestVersion)' == ''" + LatestPackages="@(_latestPackage)" + StablePackages="@(StablePackage)" + PackageIndexes="@(PackageIndex)"> + <Output TaskParameter="LastStablePackages" ItemName="_lastStablePackage"/> + </GetLastStablePackage> + + <PropertyGroup Condition="'$(HarvestVersion)' == ''"> + <HarvestVersion>%(_lastStablePackage.Version)</HarvestVersion> + </PropertyGroup> + + <!-- Calculate the runtime package versions to use for applicability evaluation --> + <GetLastStablePackage Condition="'@(HarvestRuntimePackages)' == ''" + LatestPackages="@(_latestRuntimePackages)" + StablePackages="@(StablePackage)" + PackageIndexes="@(PackageIndex)"> + <Output TaskParameter="LastStablePackages" ItemName="HarvestRuntimePackages"/> + </GetLastStablePackage> + + <GetLastStablePackage Condition="'@(HarvestAdditionalPackageIds)' != ''" + LatestPackages="@(HarvestAdditionalPackageIds)" + StablePackages="@(StablePackage)" + PackageIndexes="@(PackageIndex)"> + <Output TaskParameter="LastStablePackages" ItemName="HarvestAdditionalPackages"/> + </GetLastStablePackage> + + <PropertyGroup> + <HarvestFiles Condition="'$(HarvestFiles)' == ''">true</HarvestFiles> + </PropertyGroup> + + <Error Condition="'$(HarvestVersion)' == '' AND '@(HarvestIncludePaths)' != ''" + Text="HarvestIncludePaths was specified but no previous stable version of this package was found." /> + + <!-- Harvest files from old package and determine support using both runtime and additional packages --> + <HarvestPackage PackageId="$(Id)" + PackageVersion="$(HarvestVersion)" + PackagesFolder="$(PackagesDir)" + Files="@(File)" + RuntimeFile="$(RuntimeIdGraphDefinitionFile)" + RuntimePackages="@(HarvestRuntimePackages);@(HarvestAdditionalPackages)" + IncludeAllPaths="$(HarvestIncludeAllPaths)" + HarvestAssets="$(HarvestFiles)" + PathsToExclude="@(HarvestExcludePaths)" + PathsToInclude="@(HarvestIncludePaths)" + PathsToSuppress="@(HarvestSuppressPaths)" + Frameworks="@(DefaultValidateFramework)" + Condition="'$(HarvestVersion)' != ''"> + <Output TaskParameter="SupportedFrameworks" ItemName="_HarvestedSupportedFramework"/> + <Output TaskParameter="HarvestedFiles" ItemName="_harvestedFiles"/> + <Output TaskParameter="UpdatedFiles" ItemName="_updatedFiles" /> + </HarvestPackage> + + <ItemGroup Condition="'@(_harvestedFiles)' != ''"> + <File Remove="@(File)"/> + <File Include="@(_updatedFiles);@(_harvestedFiles)"/> + </ItemGroup> + + <!-- Harvest files from HarvestAdditionalPackages, but don't calculate support--> + <HarvestPackage PackageId="%(HarvestAdditionalPackages.Identity)" + PackageVersion="%(HarvestAdditionalPackages.Version)" + PackagesFolder="$(PackagesDir)" + Files="@(File)" + RuntimeFile="$(RuntimeIdGraphDefinitionFile)" + HarvestAssets="$(HarvestFiles)" + IncludeAllPaths="$(HarvestIncludeAllPaths)" + PathsToExclude="@(HarvestExcludePaths);%(HarvestAdditionalPackages.ExcludePaths)" + PathsToInclude="@(HarvestIncludePaths);%(HarvestAdditionalPackages.IncludePaths)" + PathsToSuppress="@(HarvestSuppressPaths);%(HarvestAdditionalPackages.SuppressPaths)" + Condition="'@(HarvestAdditionalPackages)' != ''" > + <Output TaskParameter="HarvestedFiles" ItemName="File"/> + </HarvestPackage> + + <ItemGroup> + <SupportedFramework Include="@(_HarvestedSupportedFramework)" Exclude="@(NotSupportedOnTargetFramework)" /> + </ItemGroup> + </Target> + + <Target Name="GetFiles" + Returns="@(File)" + DependsOnTargets="ConvertItems;HarvestStablePackage" /> + + <!-- Don't do any filtering of files. + We explicitly determine package content so we do not need to + filter out files that come from dependent packages. --> + <Target Name="GetPackageFiles" + Returns="@(PackageFile)" + DependsOnTargets="GetFiles"> + <ItemGroup> + <!-- Include all files except source files. Sources need to be deduplicated. --> + <PackageFile Include="@(File)" Condition="'%(File.IsSourceCodeFile)'!='true'" /> + <PackageFile Condition="'%(PackageFile.PackageId)' == ''"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + </PackageFile> + + <!-- Nuget will treat TargetPath as a directory if the extensions dont match, + however we need to package files without an extension (Unix exectuables). + As such nuget will always consider TargetPath to be a file path for these + files. Ensure that the TargetPath is the file path for these files. --> + <PackageFile Condition="'%(Extension)' == ''"> + <TargetPath>%(PackageFile.TargetPath)/%(FileName)</TargetPath> + </PackageFile> + </ItemGroup> + </Target> + <!-- END files--> + + <!-- BEGIN dependencies--> + <Target Name="AssignPkgProjPackageDependenciesTargetFramework" + DependsOnTargets="GetPkgProjPackageDependencies;GetFiles"> + + <SplitDependenciesBySupport Condition="'$(SplitDependenciesBySupport)' == 'true'" + OriginalDependencies="@(PkgProjDependency)"> + <Output TaskParameter="SplitDependencies" ItemName="_SplitPkgProjDependency" /> + </SplitDependenciesBySupport> + + <ItemGroup Condition="'@(_SplitPkgProjDependency)' != ''"> + <PkgProjDependency Remove="@(PkgProjDependency)" /> + <PkgProjDependency Include="@(_SplitPkgProjDependency)" /> + </ItemGroup> + + <ItemGroup> + <!-- ensure that unconstrained dependencies are also expanded in constrained TFM groups --> + <_PkgProjDependencyWithoutTFM Include="@(PkgProjDependency)" Condition="'%(PkgProjDependency.TargetFramework)' == '' AND '%(PkgProjDependency.TargetRuntime)' == '' AND '%(PkgProjDependency.DoNotExpand)' != 'true'" /> + <_AllPkgProjTFMs Include="%(PkgProjDependency.TargetFramework)" Condition="'%(PkgProjDependency.DependencyKind)' == 'Direct'" /> + <!-- Include file TFMs --> + <_AllPkgProjTFMs Include="%(File.TargetFramework)" Condition="'%(File.TargetFramework)' != ''" /> + + <!-- Remove dependencies without a TFM so they can be replaced --> + <PkgProjDependency Remove="@(_PkgProjDependencyWithoutTFM)" /> + <!-- operate on pkgproj dependencies and file dependencies --> + <PkgProjDependency Include="@(_PkgProjDependencyWithoutTFM)"> + <TargetFramework>%(_AllPkgProjTFMs.Identity)</TargetFramework> + </PkgProjDependency> + + <Dependency Include="@(PkgProjDependency)" + Condition="'%(PkgProjDependency.DependencyKind)' == 'Direct'" /> + </ItemGroup> + </Target> + + <Target Name="DetermineRuntimeDependencies" + DependsOnTargets="AssignPkgProjPackageDependenciesTargetFramework" + Returns="@(RuntimeDependency)"> + + <!-- see if we have any runtime dependencies to write to runtime.json --> + <ItemGroup> + <RuntimeDependency Condition="'%(Dependency.TargetRuntime)' != ''" Include="@(Dependency)"/> + <RuntimeDependency> + <TargetPackage Condition="'%(RuntimeDependency.TargetPackage)' == ''">$(Id)</TargetPackage> + </RuntimeDependency> + <!-- don't include runtime depdendencies in the dependency list, they'll be written to the runtime.json --> + <Dependency Remove="@(RuntimeDependency)"/> + </ItemGroup> + + <Error Text="Packages that are constrained by runtime should not have runtime dependencies. They will be ignored by nuget" + Condition="'$(PackageTargetRuntime)' != '' AND '@(RuntimeDependency)' != ''" /> + + <!-- determine if there is a file to be updated, and setup the output file --> + <PropertyGroup> + <RuntimeFileSource Condition="'%(File.FileName)%(File.Extension)' == 'runtime.json'">%(File.Identity)</RuntimeFileSource> + <_runtimeJsonIncluded Condition="'$(IsLineupPackage)' == 'true' OR '$(IncludeRuntimeJson)' == 'true'">true</_runtimeJsonIncluded> + </PropertyGroup> + + <!-- only include runtime.json in lineup packages --> + <ItemGroup Condition="'$(_runtimeJsonIncluded)' == 'true'"> + <!-- if we are updating, remove it from the file group, we'll replace it with the generated version --> + <PackageFile Condition="'$(RuntimeFileSource)' != ''" Remove="$(RuntimeFileSource)"/> + <PackageFile Include="$(RuntimeFilePath)"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + <IsLibrary>false</IsLibrary> + </PackageFile> + </ItemGroup> + </Target> + + <!-- Harvest dependencies from assembly references. + Assume version of package dependency == assembly version of dependency (3-part). + For prerelease (not stable) packages apply a pre-release suffix to the dependency --> + <Target Name="GetFilePackageReferences" + DependsOnTargets="GetFiles" + Condition="'$(OmitDependencies)' != 'true'" + Inputs="%(File.Identity);%(File.TargetFramework)" + Outputs="fake"> + + <PropertyGroup> + <_TargetFramework>%(File.TargetFramework)</_TargetFramework> + </PropertyGroup> + + <ItemGroup> + <_harvestFile Include="@(File)" Condition="'%(File.HarvestDependencies)' == 'true' and '%(File.Extension)' == '.dll'" /> + <_missingHarvestFile Include="@(_harvestFile)" Condition="!Exists('%(FullPath)')" /> + <_harvestFile Remove="@(_missingHarvestFile)" Condition="'$(AllowPartialPackages)' == 'true'" /> + + <!-- add a fake dependency to represent the dependencies of any missing file + this will prevent the package from installing on that platform. --> + <FilePackageDependency Include="Unavailable" Condition="'$(AllowPartialPackages)' == 'true' AND '@(_missingHarvestFile)' != '' AND '$(_TargetFramework)' != ''"> + <TargetFramework>$(_TargetFramework)</TargetFramework> + <Version>0.0.0</Version> + </FilePackageDependency> + </ItemGroup> + + <!-- Generate package references based on assembly dependencies --> + <GetAssemblyReferences Assemblies="@(_harvestFile)"> + <Output TaskParameter="ReferencedAssemblies" + ItemName="_FileReferencedAssemblies"/> + <Output TaskParameter="ReferencedNativeLibraries" + ItemName="_FileReferencedNativeLibraries"/> + </GetAssemblyReferences> + + <SplitReferences References="@(_FileReferencedAssemblies)" + TargetFramework="$(_TargetFramework)" + PackageIndexes="@(PackageIndex)"> + <Output TaskParameter="FrameworkReferences" ItemName="_FileFrameworkReference"/> + <Output TaskParameter="PackageReferences" ItemName="_FilePackageReferenceUnfiltered"/> + </SplitReferences> + + <FilterUnknownPackages Condition="'@(_FilePackageReferenceUnfiltered)' != ''" + OriginalDependencies="@(_FilePackageReferenceUnfiltered)" + BaseLinePackages="@(BaseLinePackage)" + PackageIndexes="@(PackageIndex)"> + <Output TaskParameter="FilteredDependencies" ItemName="_FilePackageReference" /> + </FilterUnknownPackages> + + + <ItemGroup Condition="'@(_FilePackageReference)' != ''"> + <_FilePackageReference Remove="corefx;mscorlib;System;System.Core;System.Xml;Windows" /> + + <!-- Projects may specify additional references by assembly name & identity that we'll process + applying pre-release logic --> + <_FilePackageReference Include="@(AdditionalAssemblyReference)"/> + + <_FilePackageReference Condition="'%(Identity)' == '@(FileRuntimeDependency)'"> + <TargetRuntime>@(FileRuntimeDependency->'%(TargetRuntime)')</TargetRuntime> + </_FilePackageReference> + </ItemGroup> + + <GetPackageFromModule Condition="'@(_FileReferencedNativeLibraries)' != ''" + ModulesReferenced="@(_FileReferencedNativeLibraries)" + ModulePackages="@(NativeLibrary)" + PackageIndexes="@(PackageIndex)"> + <Output TaskParameter="PackagesReferenced" ItemName="_FilePackageReference" /> + </GetPackageFromModule> + + <ItemGroup> + <FilePackageDependency Include="@(_FilePackageReference)" /> + <!-- Only add framework references for desktop frameworks --> + <FrameworkReference Condition="$(_TargetFramework.StartsWith('net4'))" Include="@(_FileFrameworkReference)" KeepDuplicates="false" /> + </ItemGroup> + </Target> + + <Target Name="GetNuGetPackageDependencies" + DependsOnTargets="CreateVersionFileDuringBuild;GetFilePackageReferences;DetermineRuntimeDependencies"> + <PropertyGroup> + <!-- determine if we have any reference assets in the package (files in the ref folder) --> + <_containsReferenceAsset Condition="'%(File.IsReferenceAsset)' == 'true'">true</_containsReferenceAsset> + </PropertyGroup> + + <ItemGroup Condition="'$(_containsReferenceAsset)' == 'true'"> + <!-- If the package contains a reference asset, then make all non-reference dependencies + exclude compile assets, so as not to leak implementation dependencies into the compile + graph.--> + <FilePackageDependency> + <Exclude Condition="'%(FilePackageDependency.IsReferenceAsset)' != 'true'">Compile</Exclude> + </FilePackageDependency> + </ItemGroup> + + <!-- Add a dependency on the lineup & platform package if this package has runtime dependencies and no runtime.json --> + <ItemGroup Condition="'@(RuntimeDependency)' != '' AND '$(_runtimeJsonIncluded)' != 'true' AND '$(ExcludeLineupReference)' != 'true'"> + <!-- Add to any TargetFramework that isn't a placeholder--> + <_runtimeDependenciesTargetFramework Include="%(File.TargetFramework)" + Condition="'%(File.Identity)' != '$(PlaceholderFile)'" + KeepDuplicates="false" /> + <!-- remove any frameworks that have an impl in this package --> + <_runtimeDependenciesTargetFramework Remove="%(File.TargetFramework)" + Condition="$([System.String]::Copy('%(File.TargetPath)').StartsWith('lib/', StringComparison.OrdinalIgnoreCase))" /> + <FilePackageDependency Include="$(LineupPackageId)"> + <Version>$(LineupPackageVersion)</Version> + <TargetFramework>%(_runtimeDependenciesTargetFramework.Identity)</TargetFramework> + </FilePackageDependency> + <FilePackageDependency Include="$(PlatformPackageId)"> + <Version>$(PlatformPackageVersion)</Version> + <TargetFramework>%(_runtimeDependenciesTargetFramework.Identity)</TargetFramework> + </FilePackageDependency> + </ItemGroup> + + <!-- Add a dependency on the runtime graph package for every TFM that has RID-specific assets and is not already a runtime package --> + <ItemGroup Condition="'$(PackageTargetRuntime)' == '' AND '$(ExcludeRuntimeReference)' != 'true'"> + <_ridSpecificTargetFrameworks Include="@(File->'%(TargetFramework)')" + Condition="$([System.String]::Copy('%(File.TargetPath)').StartsWith('runtimes/', StringComparison.OrdinalIgnoreCase)) + AND '%(File.Identity)' != '$(PlaceholderFile)'" /> + <!-- remove any frameworks that have a RID-less impl in this package--> + <_ridSpecificTargetFrameworks Remove="%(File.TargetFramework)" + Condition="$([System.String]::Copy('%(File.TargetPath)').StartsWith('lib/', StringComparison.OrdinalIgnoreCase))" /> + + <FilePackageDependency Include="$(PlatformPackageId)" Condition="'@(_ridSpecificTargetFrameworks)' != ''"> + <Version>$(PlatformPackageVersion)</Version> + <TargetFramework>%(_ridSpecificTargetFrameworks.Identity)</TargetFramework> + </FilePackageDependency> + </ItemGroup> + + <!-- We can reduce the number of dependencies listed for any framework that has + inbox implementations since that framework doesn't need the packages for + compile/runtime. This reduces the noise when consuming our packages in + packages.config based projects. --> + <CreateTrimDependencyGroups Dependencies="@(FilePackageDependency);@(Dependency)" + PackageIndexes="@(PackageIndex)" + Files="@(File)" + Condition="'@(FilePackageDependency)' != '' AND '$(PackageTargetRuntime)' == ''"> + <Output TaskParameter="TrimmedDependencies" ItemName="FilePackageDependency" /> + </CreateTrimDependencyGroups> + + <!-- Promote dependencies from ref to lib and vice-versa --> + <PromoteDependencies Dependencies="@(FilePackageDependency)" + PackageIndexes="@(PackageIndex)" + Condition="'@(FilePackageDependency)' != ''"> + <Output TaskParameter="PromotedDependencies" ItemName="FilePackageDependency" /> + </PromoteDependencies> + + <ApplyMetaPackages PackageId="$(Id)" + OriginalDependencies="@(FilePackageDependency)" + PackageIndexes="@(PackageIndex)" + SuppressMetaPackages="@(SuppressMetaPackage)" + Apply="$(ApplyMetaPackages)"> + <Output TaskParameter="UpdatedDependencies" ItemName="_ConsolidatedDependencies" /> + </ApplyMetaPackages> + + <Error Condition="'@(PackageIndex)' == '' AND '@(BaseLinePackage)' == '' AND '@(_ConsolidatedDependencies)' != '' AND '$(BaseLinePackageDependencies)' != 'false'" + Text="Neither PackageIndex nor BaseLinePackage items are defined: ensure you have imported Microsoft.Private.PackageBaseLine.props from the Microsoft.Private.PackageBaseLine package" /> + <ApplyBaseLine OriginalDependencies="@(_ConsolidatedDependencies)" + BaseLinePackages="@(BaseLinePackage)" + PackageIndexes="@(PackageIndex)" + Apply="$(BaseLinePackageDependencies)"> + <Output TaskParameter="BaseLinedDependencies" ItemName="_BaseLinedDependencies" /> + </ApplyBaseLine> + + + <Error Condition="'@(_BaseLinedDependencies)' != '' AND '@(PackageIndex)' == '' AND '@(StablePackage)' == ''" + Text="Neither PackageIndex nor StablePackage items are defined: ensure you have imported Microsoft.Private.PackageBaseLine.props from the Microsoft.Private.PackageBaseLine package" /> + <ApplyPreReleaseSuffix Condition="'@(_BaseLinedDependencies)' != ''" + OriginalPackages="@(_BaseLinedDependencies)" + StablePackages="@(StablePackage)" + PackageIndexes="@(PackageIndex)" + PreReleaseSuffix="$(VersionSuffix)"> + <Output TaskParameter="UpdatedPackages" ItemName="Dependency"/> + </ApplyPreReleaseSuffix> + </Target> + + <Target Name="GetPackageDependencies" + DependsOnTargets="AssignPkgProjPackageDependenciesTargetFramework;GetNuGetPackageDependencies" + Returns="@(Dependency)"> + </Target> + <!-- END dependencies--> + + <!-- Generates a runtime.json file containing all dependencies with TargetRuntime --> + <Target Name="GenerateRuntimeDependencies" + DependsOnTargets="DetermineRuntimeDependencies"> + <ItemGroup> + <LineupProjectReference Include="@(ProjectReference)" /> + </ItemGroup> + + <!-- Lineups need to have all runtime dependencies to ensure that they are part of the compile graph --> + <MSBuild Projects="@(LineupProjectReference)" + Targets="DetermineRuntimeDependencies" + Condition="'$(IsLineupPackage)' == 'true'" + BuildInParallel="$(BuildInParallel)" + Properties="$(ProjectProperties)"> + <Output TaskParameter="TargetOutputs" ItemName="_indirectRuntimeDependencies" /> + </MSBuild> + + <!-- pass both RuntimeDependencies and regular dependencies. + Only RuntimeDependencies will be generated, but Dependencies are required + since they may be the target of a RuntimeDependency --> + <GenerateRuntimeDependencies Condition="'@(RuntimeDependency)' != '' OR '@(_indirectRuntimeDependencies)' != ''" + Dependencies="@(RuntimeDependency);@(Dependency);@(_indirectRuntimeDependencies)" + PackageId="$(Id)" + RuntimeJsonTemplate="$(RuntimeFileSource)" + RuntimeJson="$(RuntimeFilePath)" + /> + + <ItemGroup Condition="'$(CreatePackedPackage)' == 'true'"> + <PackedPackageRuntimeDependency Include="@(RuntimeDependency->'$(PackedPackageNamePrefix).%(Identity)')"> + <TargetPackage>$(PackedPackageNamePrefix).%(TargetPackage)</TargetPackage> + </PackedPackageRuntimeDependency> + <PackedPackageDependency Include="@(Dependency->'$(PackedPackageNamePrefix).%(Identity)')" /> + </ItemGroup> + + <GenerateRuntimeDependencies Condition="('@(PackedPackageRuntimeDependency)' != '' OR '@(_indirectRuntimeDependencies)' != '') AND '$(CreatePackedPackage)' == 'true'" + Dependencies="@(PackedPackageRuntimeDependency);@(PackedPackageDependency);@(_indirectRuntimeDependencies)" + PackageId="$(PackedPackageId)" + RuntimeJsonTemplate="$(RuntimeFileSource)" + RuntimeJson="$(PackedPackageRuntimeFilePath)"/> + </Target> + + <Target Name="EnsureEmptyPackage" + DependsOnTargets="DetermineRuntimeDependencies;GetPackageFiles"> + <!-- Nuget will include all files when nuspec is empty, ensure we have at least one file to avoid that --> + <ItemGroup Condition="'@(PackageFile)' == ''"> + <PackageFile Include="$(PlaceholderFile)"> + <PackageId>$(Id)</PackageId> + <PackageVersion>$(PackageVersion)</PackageVersion> + <IsLibrary>false</IsLibrary> + </PackageFile> + </ItemGroup> + </Target> + + + <!-- BEGIN Metadata--> + + <!-- Walks every project gathering its AssemblyVersion, choosing the highest --> + <!-- Skipped if the package explicitly defines a version --> + <Target Name="GetAssemblyVersionFromProjects" + Condition="$(PackageVersion) == ''" + DependsOnTargets="GetFiles"> + + <GetPackageVersion Files="@(File)"> + <Output TaskParameter="Version" PropertyName="_AssemblyVersion" /> + </GetPackageVersion> + + <Error Condition="'$(_AssemblyVersion)' == ''" + Text="No assembly version could be determined." /> + </Target> + + <!-- Calculates the package version including any prerelease suffix --> + <Target Name="CalculatePackageVersion" + DependsOnTargets="CreateVersionFileDuringBuild;GetAssemblyVersionFromProjects"> + + <Error Text="No version could be detected. Either specify the Version property or provide at least one managed assembly." + Condition="'$(PackageVersion)' == '' AND '$(_AssemblyVersion)' == ''" /> + + <ItemGroup> + <_thisPackage Include="$(Id)"> + <Version Condition="'$(PackageVersion)' != ''">$(PackageVersion)</Version> + <Version Condition="'$(PackageVersion)' == ''">$(_AssemblyVersion)</Version> + </_thisPackage> + </ItemGroup> + + <ApplyPreReleaseSuffix Condition="'$(StableVersion)' == ''" + OriginalPackages="@(_thisPackage)" + StablePackages="@(StablePackage)" + PackageIndexes="@(PackageIndex)" + PreReleaseSuffix="$(VersionSuffix)" > + <Output TaskParameter="UpdatedPackages" ItemName="_thisPackageFinal"/> + </ApplyPreReleaseSuffix> + + <PropertyGroup Condition="'$(StableVersion)' == ''"> + <PackageVersion>%(_thisPackageFinal.Version)</PackageVersion> + </PropertyGroup> + </Target> + + <!-- Permit setting TargetFramework and add our own metadata (TargetRuntime) --> + <Target Name="GetPackageIdentity" + Returns="@(_PackageIdentity)" + DependsOnTargets="GetFiles;CalculatePackageVersion"> + + <ItemGroup> + <_referenceFrameworks Include="%(File.TargetFramework)" Condition="'%(File.IsReferenceAsset)' == 'true'" /> + </ItemGroup> + + <GetMinimumNETStandard Condition="'$(MinimumNETStandard)' == ''" + Frameworks="@(_referenceFrameworks)"> + <Output TaskParameter="MinimumNETStandard" PropertyName="MinimumNETStandard"/> + </GetMinimumNETStandard> + + <ItemGroup> + <_PackageIdentity Include="$(Id)"> + <Version>$(PackageVersion)</Version> + <TargetFramework Condition="'$(PackageTargetFramework)' != ''">$(PackageTargetFramework)</TargetFramework> + <TargetRuntime Condition="'$(PackageTargetRuntime)' != ''">$(PackageTargetRuntime)</TargetRuntime> + <MinimumNETStandard Condition="'$(MinimumNETStandard)' != ''">$(MinimumNETStandard)</MinimumNETStandard> + </_PackageIdentity> + </ItemGroup> + </Target> + + <Target Name="GetSyncInfo" + Condition="Exists('$(SyncInfoFile)')"> + <ReadLinesFromFile + File="$(SyncInfoFile)"> + <Output + TaskParameter="Lines" + ItemName="SyncInfoLines" /> + </ReadLinesFromFile> + </Target> + + <Target Name="GetPackageDescription" + DependsOnTargets="GetSyncInfo"> + <PropertyGroup> + <UseRuntimePackageDescription Condition="'$(UseRuntimePackageDescription)' == '' AND $(BaseId.StartsWith('runtime.native'))">true</UseRuntimePackageDescription> + </PropertyGroup> + + <GetPackageDescription DescriptionFile="$(PackageDescriptionFile)" + Condition="'$(UseRuntimePackageDescription)' != 'true'" + PackageId="$(BaseId)"> + <Output TaskParameter="Description" + PropertyName="Description" /> + </GetPackageDescription> + + <GetPackageDescription DescriptionFile="$(PackageDescriptionFile)" + Condition="'$(PackageTargetRuntime)' != '' OR '$(UseRuntimePackageDescription)' == 'true'" + PackageId="RuntimePackage"> + <Output TaskParameter="Description" + PropertyName="RuntimeDisclaimer" /> + </GetPackageDescription> + + <!-- Looks up a message similar to "When using NuGet 3.x this package requires at least version {0}." --> + <GetPackageDescription DescriptionFile="$(PackageDescriptionFile)" + Condition="'$(MinClientVersion3)' != ''" + PackageId="NuGet3MinVersion"> + <Output TaskParameter="Description" + PropertyName="NuGet3MinVersionMessage" /> + </GetPackageDescription> + + <PropertyGroup> + <Description Condition="'$(UseRuntimePackageDescription)' == 'true' AND '$(RuntimeDisclaimer)' != ''">$(RuntimeDisclaimer)</Description> + <Description Condition="'$(UseRuntimePackageDescription)' != 'true' AND '$(RuntimeDisclaimer)' != ''">$(RuntimeDisclaimer) %0A$(Description)</Description> + <Description Condition="'@(SyncInfoLines)' != ''">$(Description) %0A%(SyncInfoLines.Identity)</Description> + <Description Condition="'$(MinClientVersion3)' != ''">$(Description) %0A$([System.String]::Format('$(NuGet3MinVersionMessage)', '$(MinClientVersion3)'))</Description> + </PropertyGroup> + </Target> + + <Target Name="GetPackageMetadata" + DependsOnTargets="GetPackageDescription;GetPackageIdentity" /> + <!-- END Metadata --> + <PropertyGroup> + <UAPvNextTFM Condition="'$(UAPvNextTFM)' == ''">uap10.1</UAPvNextTFM> + </PropertyGroup> + + <!-- BEGIN validation and output --> + <ItemGroup> + <NETCoreApp10RIDs Condition="'@(NETCoreApp10RIDs)' == ''" Include="win7-x86;win7-x64;osx.10.11-x64;centos.7-x64;debian.8-x64;linuxmint.17-x64;rhel.7.2-x64;ubuntu.14.04-x64;ubuntu.16.04-x64" /> + <!-- Default validation frameworks : frameworks which we test for support / not support in all packages --> + <DefaultValidateFramework Include="netcoreapp1.0"> + <RuntimeIDs>@(NETCoreApp10RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NETCoreApp11RIDs Condition="'@(NETCoreApp11RIDs)' == ''" Include="@(NETCoreApp10RIDs);osx.10.12-x64;fedora.24-x64;opensuse.42.1-x64;rhel.7-x64" /> + <DefaultValidateFramework Include="netcoreapp1.1"> + <RuntimeIDs>@(NETCoreApp11RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NETCoreApp20RIDs Condition="'@(NETCoreApp20RIDs)' == ''" Include="@(NETCoreApp11RIDs)" /> + <DefaultValidateFramework Include="netcoreapp2.0"> + <RuntimeIDs>@(NETCoreApp20RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NETCoreApp21RIDs Condition="'@(NETCoreApp21RIDs)' == ''" Include="@(NETCoreApp20RIDs)" /> + <DefaultValidateFramework Include="netcoreapp2.1"> + <RuntimeIDs>@(NETCoreApp21RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NETCoreApp22RIDs Condition="'@(NETCoreApp22RIDs)' == ''" Include="@(NETCoreApp21RIDs)" /> + <DefaultValidateFramework Include="netcoreapp2.2"> + <RuntimeIDs>@(NETCoreApp22RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NETCoreApp30RIDs Condition="'@(NETCoreApp30RIDs)' == ''" Include="@(NETCoreApp22RIDs)" /> + <DefaultValidateFramework Include="netcoreapp3.0"> + <RuntimeIDs>@(NETCoreApp30RIDs)</RuntimeIDs> + </DefaultValidateFramework> + + <NETCore50RIDs Condition="'@(NETCore50RIDs)' == ''" Include="win10-x86;win10-x86-aot;win10-x64;win10-x64-aot;win10-arm;win10-arm-aot" /> + <DefaultValidateFramework Include="netcore50"> + <RuntimeIDs>@(NETCore50RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="netcore45"> + <!-- Intentionally empty, no RIDs defined for Win8 as it must work with packages.config--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="netcore451"> + <!-- Intentionally empty, no RIDs defined for Win81 as it must work with packages.config--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + + <NET45RIDs Condition="'@(NET45RIDs)' == ''" Include=";win-x86;win-x64" /> + <DefaultValidateFramework Include="net45" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET45RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NET451RIDs Condition="'@(NET451RIDs)' == ''" Include="@(NET45RIDs)" /> + <DefaultValidateFramework Include="net451" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET451RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <!-- additional win7 RIDs to validate up-level authoring --> + <NET46RIDs Condition="'@(NET46RIDs)' == ''" Include="@(NET451RIDs);win7-x86;win7-x64" /> + <DefaultValidateFramework Include="net46" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET46RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NET461RIDs Condition="'@(NET461RIDs)' == ''" Include="@(NET46RIDs)" /> + <DefaultValidateFramework Include="net461" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET461RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NET462RIDs Condition="'@(NET462RIDs)' == ''" Include="@(NET461RIDs)" /> + <DefaultValidateFramework Include="net462" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET462RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NET47RIDs Condition="'@(NET47RIDs)' == ''" Include="@(NET462RIDs)" /> + <DefaultValidateFramework Include="net47" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET47RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NET471RIDs Condition="'@(NET471RIDs)' == ''" Include="@(NET47RIDs)" /> + <DefaultValidateFramework Include="net471" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET471RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <NET472RIDs Condition="'@(NET472RIDs)' == ''" Include="@(NET471RIDs)" /> + <DefaultValidateFramework Include="net472" Condition="'$(ExcludeFromDesktopSupportValidation)' != 'true'"> + <RuntimeIDs>;@(NET472RIDs)</RuntimeIDs> + </DefaultValidateFramework> + + <DefaultValidateFramework Include="wpa81"> + <!-- Intentionally empty, no RIDs defined for phone--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="wp8"> + <!-- Intentionally empty, no RIDs defined for phone--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + + <UAP10RIDs Condition="'@(UAP10RIDs)' == ''" Include="@(NETCore50RIDs)" /> + <DefaultValidateFramework Include="uap10.0"> + <RuntimeIDs>@(UAP10RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <UAP10016299RIDs Condition="'@(UAP10016299RIDs)' == ''" Include="@(UAP10RIDs)" /> + <DefaultValidateFramework Include="uap10.0.16299"> + <RuntimeIDs>@(UAP10016299RIDs)</RuntimeIDs> + </DefaultValidateFramework> + <UAPvNextRIDs Condition="'@(UAPvNextRIDs)' == ''" Include="@(UAP10016299RIDs)" /> + <DefaultValidateFramework Include="$(UAPvNextTFM)"> + <RuntimeIDs>@(UAPvNextRIDs)</RuntimeIDs> + </DefaultValidateFramework> + </ItemGroup> + + <ItemGroup Condition="'$(ExcludeXamarinValidationFrameworks)' != 'true'"> + <DefaultValidateFramework Include="MonoAndroid10"> + <!-- Intentionally empty, no RIDs defined for MonoAndroid10--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="MonoTouch10"> + <!-- Intentionally empty, no RIDs defined for MonoTouch10--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="xamarinios10"> + <!-- Intentionally empty, no RIDs defined for xamarinios10--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="xamarinmac20"> + <!-- Intentionally empty, no RIDs defined for xamarinmac20--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="xamarintvos10"> + <!-- Intentionally empty, no RIDs defined for xamarintvos10--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + <DefaultValidateFramework Include="xamarinwatchos10"> + <!-- Intentionally empty, no RIDs defined for xamarinwatchos10--> + <RuntimeIDs></RuntimeIDs> + </DefaultValidateFramework> + </ItemGroup> + + <PropertyGroup> + <AllXamarinFrameworks Condition="'$(AllXamarinFrameworks)' == ''">MonoAndroid10;MonoTouch10;xamarinios10;xamarinmac20;xamarintvos10;xamarinwatchos10</AllXamarinFrameworks> + </PropertyGroup> + + <PropertyGroup Condition="'$(IsFrameworkPackage)' != 'true'"> + <!-- Skip validation of runtime packages, they will be validated in the context of their reference package --> + <SkipValidatePackage Condition="'$(SkipValidateTargetFrameworks)' == '' AND '$(PackageTargetRuntime)' != ''">true</SkipValidatePackage> + <SkipSupportCheck Condition="'$(SkipSupportCheck)' == '' AND ($(Id.StartsWith('System.Private.')) OR $(Id.StartsWith('Microsoft.NETCore.')))">true</SkipSupportCheck> + </PropertyGroup> + + <Target Name="GetPackageAssets" + DependsOnTargets="GetPackageFiles;DetermineRuntimeDependencies" + Returns="@(PackageAsset)"> + <ItemGroup> + <RuntimeDependencyProject Include="%(RuntimeDependency.OriginalItemSpec)" KeepDuplicates="false" /> + <!-- map back to the project references --> + <RuntimeDependencyProjectFullPath Include="@(RuntimeDependencyProject->'%(FullPath)')"/> + <ProjectReferenceFullPath Include="@(ProjectReference->'%(FullPath)')"/> + <RuntimeProjectReference Include="@(ProjectReferenceFullPath)" Condition="'@(ProjectReferenceFullPath->Distinct())' == '@(RuntimeDependencyProjectFullPath)' AND '%(Identity)' != ''"/> + </ItemGroup> + + + <!-- Get all the files from runtime implementation packages to include in reference path--> + <MSBuild Projects="@(RuntimeProjectReference)" + Targets="GetPackageFiles" + BuildInParallel="$(BuildInParallel)" + Properties="$(ProjectProperties)"> + <Output TaskParameter="TargetOutputs" ItemName="RuntimeFile" /> + </MSBuild> + + <ItemGroup> + <PackageAsset Include="@(RuntimeFile)" + Condition="'%(RuntimeFile.IsSourceCodeFile)'!='true'" /> + <PackageAsset Include="@(PackageFile)" + Condition="'%(PackageFile.IsSourceCodeFile)'!='true'" /> + </ItemGroup> + </Target> + + <Target Name="GetPackageReport" + DependsOnTargets="GetPackageAssets" + Returns="$(PackageReportPath)"> + <GeneratePackageReport + PackageId="$(Id)" + PackageVersion="$(PackageVersion)" + Files="@(PackageAsset)" + Frameworks="@(DefaultValidateFramework)" + RuntimeFile="$(RuntimeIdGraphDefinitionFile)" + PackageIndexes="@(PackageIndex)" + ReportFile="$(PackageReportPath)" /> + </Target> + + <Target Name="ValidateLibraryPackage" + DependsOnTargets="GetPackageReport" + Condition="'$(IsFrameworkPackage)' != 'true'"> + + <ItemGroup> + <!-- Validation framework metadata can be sepecified in multiple ways. + By default we have a set of frameworks that we validate for. If a package includes SupportedFramework items it will + be tested for support of those frameworks, and not support of any thing in the default set and not the supported set. + The default set may be completely replaced by setting IncludeDefaultValidateFramework=false and populating + the ValidateFramework item yourself (eg: at the repo level), or by excluding individual frameworks by setting + ExcludeDefaultValidateFramework. Excluding a framework just means we won't explicitly validate it. --> + <ValidateFramework Condition="'$(IncludeDefaultValidateFramework)' != 'false'" Include="@(DefaultValidateFramework)" Exclude="@(ExcludeDefaultValidateFramework)" /> + </ItemGroup> + + <ItemGroup> + <!-- Allow for SupportedFramework to be defined as metadata on project references --> + <SupportedFramework Include="%(File.SupportedFramework)" Condition="'%(File.SupportedFramework)' != '' AND '%(File.AssemblyVersion)' != ''"> + <Version>%(File.AssemblyVersion)</Version> + </SupportedFramework> + </ItemGroup> + + <ItemGroup> + <!-- default to the current version for any unspecified SupportedFrameworks with unspecified version --> + <SupportedFramework Condition="'%(SupportedFramework.Version)' == ''"> + <Version>$(_AssemblyVersion)</Version> + </SupportedFramework> + + <!-- + Harvesting supported versions can sometimes lead to unknown versions when harvesting a package + which has placeholders for older frameworks like net45. We should just exclude those from validation + since we cannot easily determine what they are without looking at each specific platform itself. + --> + <SupportedFramework Remove="@(SupportedFramework)" Condition="'%(SupportedFramework.Version)' == 'unknown'" /> + </ItemGroup> + + <ValidatePackage ContractName="$(BaseId)" + Frameworks="@(ValidateFramework)" + PackageId="$(Id)" + PackageIndexes="@(PackageIndex)" + PackageVersion="$(PackageVersion)" + RuntimeFile="$(RuntimeIdGraphDefinitionFile)" + SkipGenerationCheck="$(SkipGenerationCheck)" + SkipIndexCheck="$(SkipIndexCheck)" + SkipSupportCheck="$(SkipSupportCheck)" + SupportedFrameworks="@(SupportedFramework)" + Suppressions="@(ValidatePackageSuppression)" + UseNetPlatform="$(UseNetPlatform)" + ReportFile="$(PackageReportPath)" /> + + </Target> + + <Target Name="ValidateFrameworkPackage" + DependsOnTargets="GetPackageReport" + Condition="'$(IsFrameworkPackage)' == 'true'"> + <ValidateFrameworkPackage Framework="$(TargetFramework)" + Runtime="$(PackageTargetRuntime)" + PackageIndexes="@(PackageIndex)" + ReportFile="$(PackageReportPath)" + Suppressions="@(ValidatePackageSuppression)" /> + </Target> + + <Target Name="ValidatePackage" + DependsOnTargets="ValidateLibraryPackage;ValidateFrameworkPackage" + Condition="'$(SkipValidatePackage)' != 'true'" /> + + <!-- Required by Common.Targets when evaluating projectReferences --> + <Target Name="GetNativeManifest" /> + <Target Name="GetCopyToOutputDirectoryItems" /> + + <!-- When building in VS, ResolveProjectReferences only calls GetTargetPath + and expects that to return the same set of items as Targets defined by + ProjectReference.Targets metadata. --> + <Target Name="GetTargetPath" + DependsOnTargets="GetPackageAssets" + Returns="@(PackageAsset)" /> + + <!-- App packaging support --> + <!-- + Following two targets are needed to be present in every project being built + because the app packaging targets recursively scan all projects referenced + from projects that generate app packages for them. + --> + <Target Name="CleanAppxPackage" /> + <Target Name="GetPackagingOutputs" /> + + <Target Name="GenerateNuSpec" + DependsOnTargets="GetPackageDependencies;GetPackageFiles;GetPackageMetadata;GenerateRuntimeDependencies;EnsureEmptyPackage"> + + <ItemGroup> + <_packageFile Include="@(PackageFile)" /> + <_missingPackageFile Include="@(PackageFile)" Condition="!Exists('%(FullPath)')" /> + <_packageFile Remove="@(_missingPackageFile)" Condition="'$(AllowPartialPackages)' == 'true'" /> + + <!-- replace any missing files with placeholders --> + <_packageFile Include="@(_missingPackageFile->'$(PlaceHolderFile)')" Condition="'$(AllowPartialPackages)' == 'true'" /> + </ItemGroup> + + <PropertyGroup Condition="'$(AllowPartialPackages)' == 'true' AND '@(_missingPackageFile)' != ''"> + <Description>WARNING: This package is missing files @(_missingPackageFile->'%(TargetPath)/%(Filename)%(Extension)') %0A$(Description)</Description> + </PropertyGroup> + + <!-- Please Note: + In order to avoid incremental build issues this target will always run. + However, the task will make sure that it doesn't touch the file if the + contents it would generate are identical to a previously generated + nuspec. --> + <GenerateNuSpec InputFileName="$(NuSpecTemplate)" + OutputFileName="$(NuSpecPath)" + MinClientVersion="$(MinClientVersion)" + Id="$(Id)" + Version="$(PackageVersion)" + Title="$(Title)" + Authors="$(Authors)" + Owners="$(Owners)" + Description="$(Description)" + ReleaseNotes="$(ReleaseNotes)" + Summary="$(Summary)" + Language="$(Language)" + ProjectUrl="$(ProjectUrl)" + IconUrl="$(IconUrl)" + LicenseUrl="$(LicenseUrl)" + Copyright="$(Copyright)" + RequireLicenseAcceptance="$(RequireLicenseAcceptance)" + Tags="$(Tags)" + DevelopmentDependency="$(DevelopmentDependency)" + Dependencies="@(Dependency)" + References="@(Reference)" + FrameworkReferences="@(FrameworkReference)" + Files="@(_packageFile)" + Serviceable="$(Serviceable)" + PackageTypes="$(PackageType)"/> + </Target> + + <Target Name="CreatePackage" + Inputs="$(NuSpecPath)" + Outputs="$(PackageOutputPath)$(Id).$(PackageVersion).nupkg"> + + <ItemGroup> + <_missingFiles Include="@(PackageFile)" Condition="!Exists(%(FullPath))"/> + </ItemGroup> + + <PropertyGroup> + <_SkipCreatePackage Condition="'$(SkipCreatePackageOnMissingFiles)' == 'true' AND '@(_missingFiles)' != ''">true</_SkipCreatePackage> + </PropertyGroup> + + <Message Condition="'$(_SkipCreatePackage)' == 'true'" Text="Skipping package creation for $(NuSpecPath) because the following files do not exist: @(_missingFiles)" /> + + <NugetPack Nuspecs="$(NuSpecPath)" + OutputDirectory="$(PackageOutputPath)" + ExcludeEmptyDirectories="true" + CreateSymbolPackage="true" + CreatePackedPackage="$(CreatePackedPackage)" + IncludeSymbolsInPackage="$(IncludeSymbolsInPackage)" + SymbolPackageOutputDirectory="$(SymbolPackageOutputPath)" + AdditionalLibPackageExcludes="@(AdditionalLibPackageExcludes)" + AdditionalSymbolPackageExcludes="@(AdditionalSymbolPackageExcludes)" + PackedPackageNamePrefix="$(PackedPackageNamePrefix)" + Condition="'$(_SkipCreatePackage)' != 'true'"/> + + <!-- Create a marker that records the path to the generated package --> + <WriteLinesToFile Lines="$(PackageOutputPath)$(Id).$(PackageVersion).nupkg;$(SymbolPackageOutputPath)$(Id).$(PackageVersion).nupkg" + File="$(NuSpecPath).pkgpath" + Overwrite="true" + Condition="'$(_SkipCreatePackage)' != 'true'"/> + + <WriteSigningRequired Condition="'$(ShouldWritePkgSigningRequired)'=='true'" + AuthenticodeSig="$(NuPkgAuthenticodeSig)" + MarkerFile="$(PackageOutputPath)$(Id).$(PackageVersion).nupkg.requires_nupkg_signing" /> + <WriteSigningRequired Condition="'$(ShouldWritePkgSigningRequired)'=='true'" + AuthenticodeSig="$(NuPkgAuthenticodeSig)" + MarkerFile="$(SymbolPackageOutputPath)$(Id).$(PackageVersion).nupkg.requires_nupkg_signing" /> + <ItemGroup Condition="'$(ShouldWritePkgSigningRequired)'=='true'"> + <FileWrites Include="$(SymbolPackageOutputPath)$(Id).$(PackageVersion).nupkg.requires_nupkg_signing"/> + <FileWrites Include="$(PackageOutputPath)$(Id).$(PackageVersion).nupkg.requires_nupkg_signing"/> + </ItemGroup> + + </Target> + + <!-- Updates the packageIndex with information from the built package for this project --> + <!-- Intentionally not sequenced, invoked directly through /t:UpdatePackageIndex --> + <Target Name="UpdatePackageIndex" + DependsOnTargets="CalculatePackageVersion"> + + <Error Condition="'$(PackageIndexFile)' == ''" + Text="The PackageIndexFile property is not set. Please set this property to point to the path of the packageIndex.json file for your repo." /> + + <UpdatePackageIndex PackageIndexFile="$(PackageIndexFile)" + Packages="$(PackageOutputPath)$(Id).$(PackageVersion).nupkg" /> + </Target> + + <!-- Updates the packageIndex with information from the multiple sources for the entire repo --> + <!-- Intentionally not sequenced, invoked directly through /t:UpdateRepoPackageIndex --> + <Target Name="UpdateRepoPackageIndex"> + <Error Condition="'$(PackageIndexFile)' == ''" + Text="The PackageIndexFile property is not set. Please set this property to point to the path of the packageIndex.json file for your repo." /> + + <!-- Set PackageFolders to point to the directories to index, this directories may contain nupkgs or expanded nupkgs --> + <!-- Set PackageIds to the list of package Ids to consider from PackageFolders --> + <!-- Set BaseLinePackage to packageId identity with 'Version' metadata to define the set of packages which should set their baseline to a particular version --> + <!-- Set StablePackage to packageId identity with 'Version' metadata to define the set of packages which should be set as stable --> + <!-- Set ModuleToPackage to module name identity with 'Package' metadata to define mappings from native modules to package IDs which contain those --> + <!-- Set FrameworkListsFolder to the path to a set of directories containing framework lists, where the subdirectory name is the TFM. These lists will determine what is inbox on that framework. --> + <!-- Set FrameowrkLayout to folder identity with 'TargetFramework' metadata to consider files within that folder inbox on that framework.--> + + <UpdatePackageIndex PackageIndexFile="$(PackageIndexFile)" + PackageIds="@(PackageIds)" + PackageFolders="@(PackageFolders)" + BaselinePackages="@(BaselinePackage)" + StablePackages="@(StablePackage)" + ModuleToPackages="@(ModuleToPackage)" + InboxFrameworkListFolder="$(FrameworkListsFolder)" + InboxFrameworkLayoutFolders="@(FrameworkLayout)" /> + </Target> +</Project> diff --git a/Tools/PerfTesting.targets b/Tools/PerfTesting.targets new file mode 100755 index 0000000000..7f301dde2a --- /dev/null +++ b/Tools/PerfTesting.targets @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- Perf Analysis NuGet package paths --> + <PropertyGroup> + <PerformanceType Condition="'$(PerformanceType)'==''">Profile</PerformanceType> + <TraceEventPackage>Microsoft.Diagnostics.Tracing.TraceEvent\$(TraceEventPackageVersion)</TraceEventPackage> + <TargetOS Condition="'$(TargetOS)' == ''">$(DefaultOSGroup)</TargetOS> + </PropertyGroup> + + <ItemGroup> + <TraceEventNativePath Include="$(PackagesDir)\$(TraceEventPackage)\lib\native\**\*.*" /> + </ItemGroup> + + <Target Name="ValidatePerformanceRunType" Condition="'$(IsPerformanceTestProject)' == 'true'" BeforeTargets="GenerateTestExecutionScripts"> + <Error Condition="'$(PerformanceType)'!='Diagnostic' AND '$(PerformanceType)'!='Profile'" Text="Invalid Performance Type value specified: $(PerformanceType)" /> + </Target> + + <Target Name ="PublishPerfRunner" Condition="'$(IsPerformanceTestProject)' == 'true'" BeforeTargets="RunTestsForProject"> + <Copy SourceFiles="@(TraceEventNativePath)" DestinationFiles="@(TraceEventNativePath->'$(StartWorkingDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" /> + </Target> + + <!-- Set platform specific values. --> + <PropertyGroup Condition="'$(TargetOS)'=='Linux'"> + <PerfTestCommandDotnetExecutable>$RUNTIME_PATH/dotnet</PerfTestCommandDotnetExecutable> + <BenchviewDir>$(ToolsDir)Microsoft.BenchView.JSONFormat/tools</BenchviewDir> + <PythonCommand>python3.5</PythonCommand> + <CliExitErrorCommand>exit 1</CliExitErrorCommand> + </PropertyGroup> + + <PropertyGroup Condition="'$(TargetOS)'=='Windows_NT'"> + <PerfTestCommandDotnetExecutable>%RUNTIME_PATH%\dotnet.exe</PerfTestCommandDotnetExecutable> + <BenchviewDir>$(ToolsDir)Microsoft.BenchView.JSONFormat\tools</BenchviewDir> + <PythonCommand>py.exe</PythonCommand> + <CliExitErrorCommand>EXIT /B 1</CliExitErrorCommand> + </PropertyGroup> + + <ItemGroup Condition="'$(IsPerformanceTestProject)' == 'true' AND '$(BuildingNETFxVertical)' == 'true'"> + <SupplementalTestData Include="$(RuntimePath)Microsoft.DotNet.XUnitExtensions.dll" /> + <SupplementalTestData Include="$(RuntimePath)CommandLine.dll" /> + <SupplementalTestData Include="$(RuntimePath)MarkdownLog.dll" /> + <SupplementalTestData Include="$(RuntimePath)Microsoft.Diagnostics.Tracing.TraceEvent.dll" /> + <SupplementalTestData Include="$(RuntimePath)xunit.performance.api.dll" /> + <SupplementalTestData Include="$(RuntimePath)xunit.performance.core.dll" /> + <SupplementalTestData Include="$(RuntimePath)xunit.performance.execution.dll" /> + <SupplementalTestData Include="$(RuntimePath)xunit.performance.metrics.dll" /> + <!-- Copy additional runtime references into the test execution folder. --> + <SupplementalTestData Include="@(ReferenceFromRuntime -> '$(RuntimePath)%(Identity).dll')" /> + </ItemGroup> + + <!-- Sets the flags for the performance counters to be collected in this run. --> + <PropertyGroup Condition="'$(PerformanceType)'=='Profile'"> + <!-- Collect, per benchmark, execution time (stopwatch). --> + <CollectFlags>stopwatch</CollectFlags> + <RunId>Perf-Profile</RunId> + </PropertyGroup> + + <PropertyGroup Condition="'$(PerformanceType)'=='Diagnostic'"> + <!-- Collect, per benchmark, the following metrics: + 1. Allocated bytes in execution thread, + 2. Any user defined Clr events (through the xUnit Performance Api attributes), + 3. CPU Usage (Utilization by Process, Stack), + 4. CPU Performance Counters (Pmc Rollovers) + --> + <CollectFlags>default+BranchMispredictions+CacheMisses+InstructionRetired+gcapi</CollectFlags> + <RunId>Perf-Diagnostic</RunId> + </PropertyGroup> + + <PropertyGroup> + <PerfRunnerExecutableName>PerfRunner</PerfRunnerExecutableName> + <PerfRunnerExecutable>$(PerfRunnerExecutableName).exe</PerfRunnerExecutable> + <PerfRunnerArgs>$(PerfRunnerExecutable) --perf:runid $(RunId) --perf:collect $(CollectFlags) || $(CliExitErrorCommand)</PerfRunnerArgs> + <PerfRunnerCommand Condition="'$(BuildingNETFxVertical)' != 'true'">$(PerfTestCommandDotnetExecutable) $(PerfRunnerArgs)</PerfRunnerCommand> + <PerfRunnerCommand Condition="'$(BuildingNETFxVertical)' == 'true'">$(PerfRunnerArgs)</PerfRunnerCommand> + <MeasurementPyCommand>$(PythonCommand) "$(BenchviewDir)/measurement.py" xunit "$(RunId)-$(AssemblyName).xml" --better desc --drop-first-value --append -o "$(ProjectDir)measurement.json" || $(CliExitErrorCommand)</MeasurementPyCommand> + </PropertyGroup> + + <PropertyGroup Condition="'$(IsBenchmarkDotNetProject)' == 'true'"> + <PerfRunnerExecutableName>BenchmarksRunner</PerfRunnerExecutableName> + <PerfRunnerExecutable>$(PerfRunnerExecutableName).exe</PerfRunnerExecutable> + <!-- by default we run all benchmarks from given folder --> + <PerfRunnerFilter>*</PerfRunnerFilter> + <!-- Unix OSes are replacing an asterisk with file name of every file in the directory, so we need to wrap it with '*' to make it work --> + <PerfRunnerFilter Condition="'$(TargetOS)'=='Linux'">'*'</PerfRunnerFilter> + <CollectFlags>BranchMispredictions+CacheMisses+InstructionRetired</CollectFlags> + <!-- currently BenchmarkDotNet uses ETW for Profiling on Windows, when we add new profiler for Unix we are going to add it here --> + <ProfilerName Condition="'$(TargetOS)'=='Windows_NT'">ETW</ProfilerName> + <!-- by default there are no args, this can be used by the users to pass BenchmarkDotNet arguments here --> + <PerfRunnerArgs></PerfRunnerArgs> + <!-- when we run a Diagnostic benchmark run we specify the profiler and the hardware counters we want to get --> + <PerfRunnerArgs Condition="'$(PerformanceType)'=='Diagnostic'">--profiler $(ProfilerName) --counters $(CollectFlags)</PerfRunnerArgs> + <PerfRunnerAllArgs>--filter $(PerfRunnerFilter) $(PerfRunnerArgs) || $(CliExitErrorCommand)</PerfRunnerAllArgs> + <PerfRunnerCommand Condition="'$(BuildingNETFxVertical)' != 'true'">$(PerfTestCommandDotnetExecutable) $(PerfRunnerExecutable) $(PerfRunnerAllArgs)</PerfRunnerCommand> + <PerfRunnerCommand Condition="'$(BuildingNETFxVertical)' == 'true'">$(PerfRunnerExecutable) $(PerfRunnerAllArgs)</PerfRunnerCommand> + </PropertyGroup> + + <!-- Build the commands to be appended to the generated RunTest.[cmd|sh] script. --> + <ItemGroup> + <PerfTestCommandLines Include="$(PerfRunnerCommand)" /> + </ItemGroup> + + <ItemGroup Condition="'$(TargetOS)'=='Windows_NT' and '$(LogToBenchview)' == 'true'"> + <PerfTestCommandLines Include="if exist "$(RunId)-$(AssemblyName).xml" (" /> + <PerfTestCommandLines Include="$(MeasurementPyCommand)" /> + <PerfTestCommandLines Include=")" /> + </ItemGroup> + + <ItemGroup Condition="'$(TargetOS)'=='Linux' and '$(LogToBenchview)' == 'true'"> + <PerfTestCommandLines Include="if [ -f "$(RunId)-$(AssemblyName).xml" ]; then" /> + <PerfTestCommandLines Include="$(MeasurementPyCommand)" /> + <PerfTestCommandLines Include="fi" /> + </ItemGroup> + + <!-- Optimizations to configure Xunit for performance --> + <ItemGroup Condition="'$(IsPerformanceTestProject)' == 'true'"> + <!-- TODO: when we no longer need to support legacy .csprojs, this can be converted to + <AssemblyAttribute Include="Microsoft.Xunit.Performance.OptimizeForBenchmarks" /> + --> + <AssemblyInfoLines Include="[assembly:Microsoft.Xunit.Performance.OptimizeForBenchmarks]" /> + </ItemGroup> + + <Target Name="UploadToBenchview" Condition="'$(LogToBenchview)' == 'true'" AfterTargets="TestAllProjects"> + <PropertyGroup> + <SubmissionPyCommand>$(PythonCommand) "$(BenchviewDir)/submission.py" "$(ProjectDir)measurement.json" --build "$(ProjectDir)build.json" --machine-data "$(ProjectDir)machinedata.json" --metadata "$(ProjectDir)submission-metadata.json" --group "CoreFx" --type "$(BenchviewRuntype)" --config-name "$(ConfigurationGroup)" --config Configuration "$(ConfigurationGroup)" --config OS "$(TargetOS)" --config "RunType" "$(PerformanceType)" -arch "$(Platform)" --machinepool "PerfSnake" -o "$(ProjectDir)submission.json" || $(CliExitErrorCommand)</SubmissionPyCommand> + <UploadPyCommand>$(PythonCommand) "$(BenchviewDir)/upload.py" "$(ProjectDir)submission.json" --container corefx || $(CliExitErrorCommand)</UploadPyCommand> + </PropertyGroup> + + <ItemGroup> + <BenchviewCalls Include="echo $(SubmissionPyCommand)"/> + <BenchviewCalls Include="$(SubmissionPyCommand)"/> + + <BenchviewCalls Include="echo $(UploadPyCommand)"/> + <BenchviewCalls Include="$(UploadPyCommand)"/> + </ItemGroup> + + <Exec Command="%(BenchviewCalls.Identity)"/> + </Target> + + <Target Name="WarnForDebugPerfConfiguration" + BeforeTargets="RunTestsForProject" + Condition="'$(IsPerformanceTestProject)' == 'true' AND !$(ConfigurationGroup.ToLower().Contains('release'))"> + <Warning Text="You are running performance tests in a configuration other than Release. Your results may be unreliable." /> + </Target> +</Project> diff --git a/Tools/PinvokeAnalyzer_Win32Apis.txt b/Tools/PinvokeAnalyzer_Win32Apis.txt new file mode 100755 index 0000000000..ffb9b4ed86 --- /dev/null +++ b/Tools/PinvokeAnalyzer_Win32Apis.txt @@ -0,0 +1,7229 @@ +ntdll.dll!RtlActivateActivationContextUnsafeFast +ntdll.dll!RtlDeactivateActivationContextUnsafeFast +ntdll.dll!RtlInterlockedPushListSList +ntdll.dll!RtlUlongByteSwap +ntdll.dll!RtlUlonglongByteSwap +ntdll.dll!RtlUshortByteSwap +ntdll.dll!AlpcAdjustCompletionListConcurrencyCount +ntdll.dll!AlpcFreeCompletionListMessage +ntdll.dll!AlpcGetCompletionListLastMessageInformation +ntdll.dll!AlpcGetCompletionListMessageAttributes +ntdll.dll!AlpcGetHeaderSize +ntdll.dll!AlpcGetMessageAttribute +ntdll.dll!AlpcGetMessageFromCompletionList +ntdll.dll!AlpcGetOutstandingCompletionListMessageCount +ntdll.dll!AlpcInitializeMessageAttribute +ntdll.dll!AlpcMaxAllowedMessageLength +ntdll.dll!AlpcRegisterCompletionList +ntdll.dll!AlpcRegisterCompletionListWorkerThread +ntdll.dll!AlpcRundownCompletionList +ntdll.dll!AlpcUnregisterCompletionList +ntdll.dll!AlpcUnregisterCompletionListWorkerThread +ntdll.dll!CsrAllocateCaptureBuffer +ntdll.dll!CsrAllocateMessagePointer +ntdll.dll!CsrCaptureMessageBuffer +ntdll.dll!CsrCaptureMessageMultiUnicodeStringsInPlace +ntdll.dll!CsrCaptureMessageString +ntdll.dll!CsrCaptureTimeout +ntdll.dll!CsrClientCallServer +ntdll.dll!CsrClientConnectToServer +ntdll.dll!CsrFreeCaptureBuffer +ntdll.dll!CsrGetProcessId +ntdll.dll!CsrIdentifyAlertableThread +ntdll.dll!CsrSetPriorityClass +ntdll.dll!CsrVerifyRegion +ntdll.dll!DbgBreakPoint +ntdll.dll!DbgPrint +ntdll.dll!DbgPrintEx +ntdll.dll!DbgPrintReturnControlC +ntdll.dll!DbgPrompt +ntdll.dll!DbgQueryDebugFilterState +ntdll.dll!DbgSetDebugFilterState +ntdll.dll!DbgUiConnectToDbg +ntdll.dll!DbgUiContinue +ntdll.dll!DbgUiConvertStateChangeStructure +ntdll.dll!DbgUiConvertStateChangeStructureEx +ntdll.dll!DbgUiDebugActiveProcess +ntdll.dll!DbgUiGetThreadDebugObject +ntdll.dll!DbgUiIssueRemoteBreakin +ntdll.dll!DbgUiRemoteBreakin +ntdll.dll!DbgUiSetThreadDebugObject +ntdll.dll!DbgUiStopDebugging +ntdll.dll!DbgUiWaitStateChange +ntdll.dll!DbgUserBreakPoint +ntdll.dll!EtwCreateTraceInstanceId +ntdll.dll!EtwDeliverDataBlock +ntdll.dll!EtwEnumerateProcessRegGuids +ntdll.dll!EtwEventActivityIdControl +ntdll.dll!EtwEventEnabled +ntdll.dll!EtwEventProviderEnabled +ntdll.dll!EtwEventRegister +ntdll.dll!EtwEventSetInformation +ntdll.dll!EtwEventUnregister +ntdll.dll!EtwEventWrite +ntdll.dll!EtwEventWriteEndScenario +ntdll.dll!EtwEventWriteEx +ntdll.dll!EtwEventWriteFull +ntdll.dll!EtwEventWriteNoRegistration +ntdll.dll!EtwEventWriteStartScenario +ntdll.dll!EtwEventWriteString +ntdll.dll!EtwEventWriteTransfer +ntdll.dll!EtwGetTraceEnableFlags +ntdll.dll!EtwGetTraceEnableLevel +ntdll.dll!EtwGetTraceLoggerHandle +ntdll.dll!EtwLogTraceEvent +ntdll.dll!EtwNotificationRegister +ntdll.dll!EtwNotificationUnregister +ntdll.dll!EtwProcessPrivateLoggerRequest +ntdll.dll!EtwRegisterSecurityProvider +ntdll.dll!EtwRegisterTraceGuidsA +ntdll.dll!EtwRegisterTraceGuidsW +ntdll.dll!EtwReplyNotification +ntdll.dll!EtwSendNotification +ntdll.dll!EtwTraceEventInstance +ntdll.dll!EtwTraceMessage +ntdll.dll!EtwTraceMessageVa +ntdll.dll!EtwUnregisterTraceGuids +ntdll.dll!EtwWriteUMSecurityEvent +ntdll.dll!EtwpCreateEtwThread +ntdll.dll!EtwpGetCpuSpeed +ntdll.dll!EvtIntReportAuthzEventAndSourceAsync +ntdll.dll!EvtIntReportEventAndSourceAsync +ntdll.dll!LdrAccessResource +ntdll.dll!LdrAddDllDirectory +ntdll.dll!LdrAddLoadAsDataTable +ntdll.dll!LdrAddRefDll +ntdll.dll!LdrAppxHandleIntegrityFailure +ntdll.dll!LdrDisableThreadCalloutsForDll +ntdll.dll!LdrEnumResources +ntdll.dll!LdrEnumerateLoadedModules +ntdll.dll!LdrFastFailInLoaderCallout +ntdll.dll!LdrFindEntryForAddress +ntdll.dll!LdrFindResourceDirectory_U +ntdll.dll!LdrFindResourceEx_U +ntdll.dll!LdrFindResource_U +ntdll.dll!LdrFlushAlternateResourceModules +ntdll.dll!LdrGetDllDirectory +ntdll.dll!LdrGetDllFullName +ntdll.dll!LdrGetDllHandle +ntdll.dll!LdrGetDllHandleByMapping +ntdll.dll!LdrGetDllHandleByName +ntdll.dll!LdrGetDllHandleEx +ntdll.dll!LdrGetDllPath +ntdll.dll!LdrGetFileNameFromLoadAsDataTable +ntdll.dll!LdrGetProcedureAddress +ntdll.dll!LdrGetProcedureAddressEx +ntdll.dll!LdrGetProcedureAddressForCaller +ntdll.dll!LdrInitShimEngineDynamic +ntdll.dll!LdrLoadAlternateResourceModule +ntdll.dll!LdrLoadAlternateResourceModuleEx +ntdll.dll!LdrLoadDll +ntdll.dll!LdrLockLoaderLock +ntdll.dll!LdrOpenImageFileOptionsKey +ntdll.dll!LdrProcessRelocationBlock +ntdll.dll!LdrProcessRelocationBlockEx +ntdll.dll!LdrQueryImageFileExecutionOptions +ntdll.dll!LdrQueryImageFileExecutionOptionsEx +ntdll.dll!LdrQueryImageFileKeyOption +ntdll.dll!LdrQueryModuleServiceTags +ntdll.dll!LdrQueryOptionalDelayLoadedAPI +ntdll.dll!LdrQueryProcessModuleInformation +ntdll.dll!LdrRemoveDllDirectory +ntdll.dll!LdrRemoveLoadAsDataTable +ntdll.dll!LdrResFindResource +ntdll.dll!LdrResFindResourceDirectory +ntdll.dll!LdrResRelease +ntdll.dll!LdrResSearchResource +ntdll.dll!LdrResolveDelayLoadedAPI +ntdll.dll!LdrResolveDelayLoadsFromDll +ntdll.dll!LdrSetAppCompatDllRedirectionCallback +ntdll.dll!LdrSetDefaultDllDirectories +ntdll.dll!LdrSetDllDirectory +ntdll.dll!LdrSetDllManifestProber +ntdll.dll!LdrSetMUICacheType +ntdll.dll!LdrShutdownProcess +ntdll.dll!LdrShutdownThread +ntdll.dll!LdrSystemDllInitBlock +ntdll.dll!LdrUnloadAlternateResourceModule +ntdll.dll!LdrUnloadAlternateResourceModuleEx +ntdll.dll!LdrUnloadDll +ntdll.dll!LdrUnlockLoaderLock +ntdll.dll!LdrVerifyImageMatchesChecksum +ntdll.dll!LdrVerifyImageMatchesChecksumEx +ntdll.dll!LdrpResGetMappingSize +ntdll.dll!LdrpResGetResourceDirectory +ntdll.dll!NlsAnsiCodePage +ntdll.dll!NlsMbCodePageTag +ntdll.dll!NlsMbOemCodePageTag +ntdll.dll!NtAcceptConnectPort +ntdll.dll!NtAccessCheck +ntdll.dll!NtAccessCheckAndAuditAlarm +ntdll.dll!NtAccessCheckByType +ntdll.dll!NtAccessCheckByTypeAndAuditAlarm +ntdll.dll!NtAccessCheckByTypeResultList +ntdll.dll!NtAccessCheckByTypeResultListAndAuditAlarm +ntdll.dll!NtAccessCheckByTypeResultListAndAuditAlarmByHandle +ntdll.dll!NtAddAtom +ntdll.dll!NtAddAtomEx +ntdll.dll!NtAddBootEntry +ntdll.dll!NtAddDriverEntry +ntdll.dll!NtAdjustGroupsToken +ntdll.dll!NtAdjustPrivilegesToken +ntdll.dll!NtAdjustTokenClaimsAndDeviceGroups +ntdll.dll!NtAlertResumeThread +ntdll.dll!NtAlertThread +ntdll.dll!NtAlertThreadByThreadId +ntdll.dll!NtAllocateLocallyUniqueId +ntdll.dll!NtAllocateReserveObject +ntdll.dll!NtAllocateUserPhysicalPages +ntdll.dll!NtAllocateUuids +ntdll.dll!NtAllocateVirtualMemory +ntdll.dll!NtAlpcAcceptConnectPort +ntdll.dll!NtAlpcCancelMessage +ntdll.dll!NtAlpcConnectPort +ntdll.dll!NtAlpcConnectPortEx +ntdll.dll!NtAlpcCreatePort +ntdll.dll!NtAlpcCreatePortSection +ntdll.dll!NtAlpcCreateResourceReserve +ntdll.dll!NtAlpcCreateSectionView +ntdll.dll!NtAlpcCreateSecurityContext +ntdll.dll!NtAlpcDeletePortSection +ntdll.dll!NtAlpcDeleteResourceReserve +ntdll.dll!NtAlpcDeleteSectionView +ntdll.dll!NtAlpcDeleteSecurityContext +ntdll.dll!NtAlpcDisconnectPort +ntdll.dll!NtAlpcImpersonateClientContainerOfPort +ntdll.dll!NtAlpcImpersonateClientOfPort +ntdll.dll!NtAlpcOpenSenderProcess +ntdll.dll!NtAlpcOpenSenderThread +ntdll.dll!NtAlpcQueryInformation +ntdll.dll!NtAlpcQueryInformationMessage +ntdll.dll!NtAlpcRevokeSecurityContext +ntdll.dll!NtAlpcSendWaitReceivePort +ntdll.dll!NtAlpcSetInformation +ntdll.dll!NtApphelpCacheControl +ntdll.dll!NtAreMappedFilesTheSame +ntdll.dll!NtAssignProcessToJobObject +ntdll.dll!NtAssociateWaitCompletionPacket +ntdll.dll!NtCallbackReturn +ntdll.dll!NtCancelIoFile +ntdll.dll!NtCancelIoFileEx +ntdll.dll!NtCancelSynchronousIoFile +ntdll.dll!NtCancelTimer2 +ntdll.dll!NtCancelTimer +ntdll.dll!NtCancelWaitCompletionPacket +ntdll.dll!NtClearEvent +ntdll.dll!NtClose +ntdll.dll!NtCloseObjectAuditAlarm +ntdll.dll!NtCommitComplete +ntdll.dll!NtCommitEnlistment +ntdll.dll!NtCommitTransaction +ntdll.dll!NtCompactKeys +ntdll.dll!NtCompareObjects +ntdll.dll!NtCompareTokens +ntdll.dll!NtCompleteConnectPort +ntdll.dll!NtCompressKey +ntdll.dll!NtConnectPort +ntdll.dll!NtContinue +ntdll.dll!NtCreateDebugObject +ntdll.dll!NtCreateDirectoryObject +ntdll.dll!NtCreateDirectoryObjectEx +ntdll.dll!NtCreateEnlistment +ntdll.dll!NtCreateEvent +ntdll.dll!NtCreateEventPair +ntdll.dll!NtCreateFile +ntdll.dll!NtCreateIRTimer +ntdll.dll!NtCreateIoCompletion +ntdll.dll!NtCreateJobObject +ntdll.dll!NtCreateJobSet +ntdll.dll!NtCreateKey +ntdll.dll!NtCreateKeyTransacted +ntdll.dll!NtCreateKeyedEvent +ntdll.dll!NtCreateLowBoxToken +ntdll.dll!NtCreateMailslotFile +ntdll.dll!NtCreateMutant +ntdll.dll!NtCreateNamedPipeFile +ntdll.dll!NtCreatePagingFile +ntdll.dll!NtCreatePartition +ntdll.dll!NtCreatePort +ntdll.dll!NtCreatePrivateNamespace +ntdll.dll!NtCreateProcess +ntdll.dll!NtCreateProcessEx +ntdll.dll!NtCreateProfile +ntdll.dll!NtCreateProfileEx +ntdll.dll!NtCreateResourceManager +ntdll.dll!NtCreateSection +ntdll.dll!NtCreateSemaphore +ntdll.dll!NtCreateSymbolicLinkObject +ntdll.dll!NtCreateThread +ntdll.dll!NtCreateThreadEx +ntdll.dll!NtCreateTimer2 +ntdll.dll!NtCreateTimer +ntdll.dll!NtCreateToken +ntdll.dll!NtCreateTokenEx +ntdll.dll!NtCreateTransaction +ntdll.dll!NtCreateTransactionManager +ntdll.dll!NtCreateUserProcess +ntdll.dll!NtCreateWaitCompletionPacket +ntdll.dll!NtCreateWaitablePort +ntdll.dll!NtCreateWnfStateName +ntdll.dll!NtCreateWorkerFactory +ntdll.dll!NtCurrentTeb +ntdll.dll!NtDebugActiveProcess +ntdll.dll!NtDebugContinue +ntdll.dll!NtDelayExecution +ntdll.dll!NtDeleteAtom +ntdll.dll!NtDeleteBootEntry +ntdll.dll!NtDeleteDriverEntry +ntdll.dll!NtDeleteFile +ntdll.dll!NtDeleteKey +ntdll.dll!NtDeleteObjectAuditAlarm +ntdll.dll!NtDeletePrivateNamespace +ntdll.dll!NtDeleteValueKey +ntdll.dll!NtDeleteWnfStateData +ntdll.dll!NtDeleteWnfStateName +ntdll.dll!NtDeviceIoControlFile +ntdll.dll!NtDisableLastKnownGood +ntdll.dll!NtDisplayString +ntdll.dll!NtDrawText +ntdll.dll!NtDuplicateObject +ntdll.dll!NtDuplicateToken +ntdll.dll!NtEnableLastKnownGood +ntdll.dll!NtEnumerateBootEntries +ntdll.dll!NtEnumerateDriverEntries +ntdll.dll!NtEnumerateKey +ntdll.dll!NtEnumerateSystemEnvironmentValuesEx +ntdll.dll!NtEnumerateTransactionObject +ntdll.dll!NtEnumerateValueKey +ntdll.dll!NtExtendSection +ntdll.dll!NtFilterBootOption +ntdll.dll!NtFilterToken +ntdll.dll!NtFilterTokenEx +ntdll.dll!NtFindAtom +ntdll.dll!NtFlushBuffersFile +ntdll.dll!NtFlushBuffersFileEx +ntdll.dll!NtFlushInstallUILanguage +ntdll.dll!NtFlushInstructionCache +ntdll.dll!NtFlushKey +ntdll.dll!NtFlushProcessWriteBuffers +ntdll.dll!NtFlushVirtualMemory +ntdll.dll!NtFlushWriteBuffer +ntdll.dll!NtFreeUserPhysicalPages +ntdll.dll!NtFreeVirtualMemory +ntdll.dll!NtFreezeRegistry +ntdll.dll!NtFreezeTransactions +ntdll.dll!NtFsControlFile +ntdll.dll!NtGetCachedSigningLevel +ntdll.dll!NtGetCompleteWnfStateSubscription +ntdll.dll!NtGetContextThread +ntdll.dll!NtGetCurrentProcessorNumber +ntdll.dll!NtGetCurrentProcessorNumberEx +ntdll.dll!NtGetDevicePowerState +ntdll.dll!NtGetMUIRegistryInfo +ntdll.dll!NtGetNextProcess +ntdll.dll!NtGetNextThread +ntdll.dll!NtGetNlsSectionPtr +ntdll.dll!NtGetNotificationResourceManager +ntdll.dll!NtGetTickCount +ntdll.dll!NtGetWriteWatch +ntdll.dll!NtImpersonateAnonymousToken +ntdll.dll!NtImpersonateClientOfPort +ntdll.dll!NtImpersonateThread +ntdll.dll!NtInitializeNlsFiles +ntdll.dll!NtInitializeRegistry +ntdll.dll!NtInitiatePowerAction +ntdll.dll!NtIsProcessInJob +ntdll.dll!NtIsSystemResumeAutomatic +ntdll.dll!NtIsUILanguageComitted +ntdll.dll!NtListenPort +ntdll.dll!NtLoadDriver +ntdll.dll!NtLoadKey2 +ntdll.dll!NtLoadKey +ntdll.dll!NtLoadKeyEx +ntdll.dll!NtLockFile +ntdll.dll!NtLockProductActivationKeys +ntdll.dll!NtLockRegistryKey +ntdll.dll!NtLockVirtualMemory +ntdll.dll!NtMakePermanentObject +ntdll.dll!NtMakeTemporaryObject +ntdll.dll!NtManagePartition +ntdll.dll!NtMapCMFModule +ntdll.dll!NtMapUserPhysicalPages +ntdll.dll!NtMapUserPhysicalPagesScatter +ntdll.dll!NtMapViewOfSection +ntdll.dll!NtModifyBootEntry +ntdll.dll!NtModifyDriverEntry +ntdll.dll!NtNotifyChangeDirectoryFile +ntdll.dll!NtNotifyChangeKey +ntdll.dll!NtNotifyChangeMultipleKeys +ntdll.dll!NtNotifyChangeSession +ntdll.dll!NtOpenDirectoryObject +ntdll.dll!NtOpenEnlistment +ntdll.dll!NtOpenEvent +ntdll.dll!NtOpenEventPair +ntdll.dll!NtOpenFile +ntdll.dll!NtOpenIoCompletion +ntdll.dll!NtOpenJobObject +ntdll.dll!NtOpenKey +ntdll.dll!NtOpenKeyEx +ntdll.dll!NtOpenKeyTransacted +ntdll.dll!NtOpenKeyTransactedEx +ntdll.dll!NtOpenKeyedEvent +ntdll.dll!NtOpenMutant +ntdll.dll!NtOpenObjectAuditAlarm +ntdll.dll!NtOpenPartition +ntdll.dll!NtOpenPrivateNamespace +ntdll.dll!NtOpenProcess +ntdll.dll!NtOpenProcessToken +ntdll.dll!NtOpenProcessTokenEx +ntdll.dll!NtOpenResourceManager +ntdll.dll!NtOpenSection +ntdll.dll!NtOpenSemaphore +ntdll.dll!NtOpenSession +ntdll.dll!NtOpenSymbolicLinkObject +ntdll.dll!NtOpenThread +ntdll.dll!NtOpenThreadToken +ntdll.dll!NtOpenThreadTokenEx +ntdll.dll!NtOpenTimer +ntdll.dll!NtOpenTransaction +ntdll.dll!NtOpenTransactionManager +ntdll.dll!NtPlugPlayControl +ntdll.dll!NtPowerInformation +ntdll.dll!NtPrePrepareComplete +ntdll.dll!NtPrePrepareEnlistment +ntdll.dll!NtPrepareComplete +ntdll.dll!NtPrepareEnlistment +ntdll.dll!NtPrivilegeCheck +ntdll.dll!NtPrivilegeObjectAuditAlarm +ntdll.dll!NtPrivilegedServiceAuditAlarm +ntdll.dll!NtPropagationComplete +ntdll.dll!NtPropagationFailed +ntdll.dll!NtProtectVirtualMemory +ntdll.dll!NtPulseEvent +ntdll.dll!NtQueryAttributesFile +ntdll.dll!NtQueryBootEntryOrder +ntdll.dll!NtQueryBootOptions +ntdll.dll!NtQueryDebugFilterState +ntdll.dll!NtQueryDefaultLocale +ntdll.dll!NtQueryDefaultUILanguage +ntdll.dll!NtQueryDirectoryFile +ntdll.dll!NtQueryDirectoryObject +ntdll.dll!NtQueryDriverEntryOrder +ntdll.dll!NtQueryEaFile +ntdll.dll!NtQueryEvent +ntdll.dll!NtQueryFullAttributesFile +ntdll.dll!NtQueryInformationAtom +ntdll.dll!NtQueryInformationEnlistment +ntdll.dll!NtQueryInformationFile +ntdll.dll!NtQueryInformationJobObject +ntdll.dll!NtQueryInformationPort +ntdll.dll!NtQueryInformationProcess +ntdll.dll!NtQueryInformationResourceManager +ntdll.dll!NtQueryInformationThread +ntdll.dll!NtQueryInformationToken +ntdll.dll!NtQueryInformationTransaction +ntdll.dll!NtQueryInformationTransactionManager +ntdll.dll!NtQueryInformationWorkerFactory +ntdll.dll!NtQueryInstallUILanguage +ntdll.dll!NtQueryIntervalProfile +ntdll.dll!NtQueryIoCompletion +ntdll.dll!NtQueryKey +ntdll.dll!NtQueryLicenseValue +ntdll.dll!NtQueryMultipleValueKey +ntdll.dll!NtQueryMutant +ntdll.dll!NtQueryObject +ntdll.dll!NtQueryOpenSubKeys +ntdll.dll!NtQueryOpenSubKeysEx +ntdll.dll!NtQueryPerformanceCounter +ntdll.dll!NtQueryPortInformationProcess +ntdll.dll!NtQueryQuotaInformationFile +ntdll.dll!NtQuerySection +ntdll.dll!NtQuerySecurityAttributesToken +ntdll.dll!NtQuerySecurityObject +ntdll.dll!NtQuerySemaphore +ntdll.dll!NtQuerySymbolicLinkObject +ntdll.dll!NtQuerySystemEnvironmentValue +ntdll.dll!NtQuerySystemEnvironmentValueEx +ntdll.dll!NtQuerySystemInformation +ntdll.dll!NtQuerySystemInformationEx +ntdll.dll!NtQuerySystemTime +ntdll.dll!NtQueryTimer +ntdll.dll!NtQueryTimerResolution +ntdll.dll!NtQueryValueKey +ntdll.dll!NtQueryVirtualMemory +ntdll.dll!NtQueryVolumeInformationFile +ntdll.dll!NtQueryWnfStateData +ntdll.dll!NtQueryWnfStateNameInformation +ntdll.dll!NtQueueApcThread +ntdll.dll!NtQueueApcThreadEx +ntdll.dll!NtRaiseException +ntdll.dll!NtRaiseHardError +ntdll.dll!NtReadFile +ntdll.dll!NtReadFileScatter +ntdll.dll!NtReadOnlyEnlistment +ntdll.dll!NtReadRequestData +ntdll.dll!NtReadVirtualMemory +ntdll.dll!NtRecoverEnlistment +ntdll.dll!NtRecoverResourceManager +ntdll.dll!NtRecoverTransactionManager +ntdll.dll!NtRegisterProtocolAddressInformation +ntdll.dll!NtRegisterThreadTerminatePort +ntdll.dll!NtReleaseKeyedEvent +ntdll.dll!NtReleaseMutant +ntdll.dll!NtReleaseSemaphore +ntdll.dll!NtReleaseWorkerFactoryWorker +ntdll.dll!NtRemoveIoCompletion +ntdll.dll!NtRemoveIoCompletionEx +ntdll.dll!NtRemoveProcessDebug +ntdll.dll!NtRenameKey +ntdll.dll!NtRenameTransactionManager +ntdll.dll!NtReplaceKey +ntdll.dll!NtReplacePartitionUnit +ntdll.dll!NtReplyPort +ntdll.dll!NtReplyWaitReceivePort +ntdll.dll!NtReplyWaitReceivePortEx +ntdll.dll!NtReplyWaitReplyPort +ntdll.dll!NtRequestPort +ntdll.dll!NtRequestWaitReplyPort +ntdll.dll!NtResetEvent +ntdll.dll!NtResetWriteWatch +ntdll.dll!NtRestoreKey +ntdll.dll!NtResumeProcess +ntdll.dll!NtResumeThread +ntdll.dll!NtRevertContainerImpersonation +ntdll.dll!NtRollbackComplete +ntdll.dll!NtRollbackEnlistment +ntdll.dll!NtRollbackTransaction +ntdll.dll!NtRollforwardTransactionManager +ntdll.dll!NtSaveKey +ntdll.dll!NtSaveKeyEx +ntdll.dll!NtSaveMergedKeys +ntdll.dll!NtSecureConnectPort +ntdll.dll!NtSerializeBoot +ntdll.dll!NtSetBootEntryOrder +ntdll.dll!NtSetBootOptions +ntdll.dll!NtSetCachedSigningLevel +ntdll.dll!NtSetContextThread +ntdll.dll!NtSetDebugFilterState +ntdll.dll!NtSetDefaultHardErrorPort +ntdll.dll!NtSetDefaultLocale +ntdll.dll!NtSetDefaultUILanguage +ntdll.dll!NtSetDriverEntryOrder +ntdll.dll!NtSetEaFile +ntdll.dll!NtSetEvent +ntdll.dll!NtSetEventBoostPriority +ntdll.dll!NtSetHighEventPair +ntdll.dll!NtSetHighWaitLowEventPair +ntdll.dll!NtSetIRTimer +ntdll.dll!NtSetInformationDebugObject +ntdll.dll!NtSetInformationEnlistment +ntdll.dll!NtSetInformationFile +ntdll.dll!NtSetInformationJobObject +ntdll.dll!NtSetInformationKey +ntdll.dll!NtSetInformationObject +ntdll.dll!NtSetInformationProcess +ntdll.dll!NtSetInformationResourceManager +ntdll.dll!NtSetInformationSymbolicLink +ntdll.dll!NtSetInformationThread +ntdll.dll!NtSetInformationToken +ntdll.dll!NtSetInformationTransaction +ntdll.dll!NtSetInformationTransactionManager +ntdll.dll!NtSetInformationVirtualMemory +ntdll.dll!NtSetInformationWorkerFactory +ntdll.dll!NtSetIntervalProfile +ntdll.dll!NtSetIoCompletion +ntdll.dll!NtSetIoCompletionEx +ntdll.dll!NtSetLdtEntries +ntdll.dll!NtSetLowEventPair +ntdll.dll!NtSetLowWaitHighEventPair +ntdll.dll!NtSetQuotaInformationFile +ntdll.dll!NtSetSecurityObject +ntdll.dll!NtSetSystemEnvironmentValue +ntdll.dll!NtSetSystemEnvironmentValueEx +ntdll.dll!NtSetSystemInformation +ntdll.dll!NtSetSystemPowerState +ntdll.dll!NtSetSystemTime +ntdll.dll!NtSetThreadExecutionState +ntdll.dll!NtSetTimer2 +ntdll.dll!NtSetTimer +ntdll.dll!NtSetTimerEx +ntdll.dll!NtSetTimerResolution +ntdll.dll!NtSetUuidSeed +ntdll.dll!NtSetValueKey +ntdll.dll!NtSetVolumeInformationFile +ntdll.dll!NtSetWnfProcessNotificationEvent +ntdll.dll!NtShutdownSystem +ntdll.dll!NtShutdownWorkerFactory +ntdll.dll!NtSignalAndWaitForSingleObject +ntdll.dll!NtSinglePhaseReject +ntdll.dll!NtStartProfile +ntdll.dll!NtStopProfile +ntdll.dll!NtSubscribeWnfStateChange +ntdll.dll!NtSuspendProcess +ntdll.dll!NtSuspendThread +ntdll.dll!NtSystemDebugControl +ntdll.dll!NtTerminateJobObject +ntdll.dll!NtTerminateProcess +ntdll.dll!NtTerminateThread +ntdll.dll!NtTestAlert +ntdll.dll!NtThawRegistry +ntdll.dll!NtThawTransactions +ntdll.dll!NtTraceControl +ntdll.dll!NtTraceEvent +ntdll.dll!NtTranslateFilePath +ntdll.dll!NtUmsThreadYield +ntdll.dll!NtUnloadDriver +ntdll.dll!NtUnloadKey2 +ntdll.dll!NtUnloadKey +ntdll.dll!NtUnloadKeyEx +ntdll.dll!NtUnlockFile +ntdll.dll!NtUnlockVirtualMemory +ntdll.dll!NtUnmapViewOfSection +ntdll.dll!NtUnmapViewOfSectionEx +ntdll.dll!NtUnsubscribeWnfStateChange +ntdll.dll!NtUpdateWnfStateData +ntdll.dll!NtVdmControl +ntdll.dll!NtWaitForAlertByThreadId +ntdll.dll!NtWaitForDebugEvent +ntdll.dll!NtWaitForKeyedEvent +ntdll.dll!NtWaitForMultipleObjects32 +ntdll.dll!NtWaitForMultipleObjects +ntdll.dll!NtWaitForSingleObject +ntdll.dll!NtWaitForWorkViaWorkerFactory +ntdll.dll!NtWaitHighEventPair +ntdll.dll!NtWaitLowEventPair +ntdll.dll!NtWorkerFactoryWorkerReady +ntdll.dll!NtWriteFile +ntdll.dll!NtWriteFileGather +ntdll.dll!NtWriteRequestData +ntdll.dll!NtWriteVirtualMemory +ntdll.dll!NtYieldExecution +ntdll.dll!PfxFindPrefix +ntdll.dll!PfxInitialize +ntdll.dll!PfxInsertPrefix +ntdll.dll!PfxRemovePrefix +ntdll.dll!PssNtCaptureSnapshot +ntdll.dll!PssNtDuplicateSnapshot +ntdll.dll!PssNtFreeRemoteSnapshot +ntdll.dll!PssNtFreeSnapshot +ntdll.dll!PssNtFreeWalkMarker +ntdll.dll!PssNtQuerySnapshot +ntdll.dll!PssNtValidateDescriptor +ntdll.dll!PssNtWalkSnapshot +ntdll.dll!RtlAbortRXact +ntdll.dll!RtlAbsoluteToSelfRelativeSD +ntdll.dll!RtlAcquirePebLock +ntdll.dll!RtlAcquirePrivilege +ntdll.dll!RtlAcquireReleaseSRWLockExclusive +ntdll.dll!RtlAcquireResourceExclusive +ntdll.dll!RtlAcquireResourceShared +ntdll.dll!RtlAcquireSRWLockExclusive +ntdll.dll!RtlAcquireSRWLockShared +ntdll.dll!RtlActivateActivationContext +ntdll.dll!RtlActivateActivationContextEx +ntdll.dll!RtlAddAccessAllowedAce +ntdll.dll!RtlAddAccessAllowedAceEx +ntdll.dll!RtlAddAccessAllowedObjectAce +ntdll.dll!RtlAddAccessDeniedAce +ntdll.dll!RtlAddAccessDeniedAceEx +ntdll.dll!RtlAddAccessDeniedObjectAce +ntdll.dll!RtlAddAce +ntdll.dll!RtlAddActionToRXact +ntdll.dll!RtlAddAtomToAtomTable +ntdll.dll!RtlAddAttributeActionToRXact +ntdll.dll!RtlAddAuditAccessAce +ntdll.dll!RtlAddAuditAccessAceEx +ntdll.dll!RtlAddAuditAccessObjectAce +ntdll.dll!RtlAddIntegrityLabelToBoundaryDescriptor +ntdll.dll!RtlAddMandatoryAce +ntdll.dll!RtlAddProcessTrustLabelAce +ntdll.dll!RtlAddRefActivationContext +ntdll.dll!RtlAddResourceAttributeAce +ntdll.dll!RtlAddSIDToBoundaryDescriptor +ntdll.dll!RtlAddScopedPolicyIDAce +ntdll.dll!RtlAddVectoredContinueHandler +ntdll.dll!RtlAddVectoredExceptionHandler +ntdll.dll!RtlAddressInSectionTable +ntdll.dll!RtlAdjustPrivilege +ntdll.dll!RtlAllocateActivationContextStack +ntdll.dll!RtlAllocateAndInitializeSid +ntdll.dll!RtlAllocateAndInitializeSidEx +ntdll.dll!RtlAllocateHandle +ntdll.dll!RtlAllocateHeap +ntdll.dll!RtlAllocateMemoryBlockLookaside +ntdll.dll!RtlAllocateMemoryZone +ntdll.dll!RtlAllocateWnfSerializationGroup +ntdll.dll!RtlAnsiCharToUnicodeChar +ntdll.dll!RtlAnsiStringToUnicodeSize +ntdll.dll!RtlAnsiStringToUnicodeString +ntdll.dll!RtlAppendAsciizToString +ntdll.dll!RtlAppendPathElement +ntdll.dll!RtlAppendStringToString +ntdll.dll!RtlAppendUnicodeStringToString +ntdll.dll!RtlAppendUnicodeToString +ntdll.dll!RtlApplicationVerifierStop +ntdll.dll!RtlApplyRXact +ntdll.dll!RtlApplyRXactNoFlush +ntdll.dll!RtlAreAllAccessesGranted +ntdll.dll!RtlAreAnyAccessesGranted +ntdll.dll!RtlAreBitsClear +ntdll.dll!RtlAreBitsSet +ntdll.dll!RtlAssert +ntdll.dll!RtlAvlInsertNodeEx +ntdll.dll!RtlAvlRemoveNode +ntdll.dll!RtlCancelTimer +ntdll.dll!RtlCanonicalizeDomainName +ntdll.dll!RtlCapabilityCheck +ntdll.dll!RtlCaptureStackContext +ntdll.dll!RtlCharToInteger +ntdll.dll!RtlCheckForOrphanedCriticalSections +ntdll.dll!RtlCheckPortableOperatingSystem +ntdll.dll!RtlCheckRegistryKey +ntdll.dll!RtlCheckSandboxedToken +ntdll.dll!RtlCheckTokenCapability +ntdll.dll!RtlCheckTokenMembership +ntdll.dll!RtlCheckTokenMembershipEx +ntdll.dll!RtlCleanUpTEBLangLists +ntdll.dll!RtlClearAllBits +ntdll.dll!RtlClearBit +ntdll.dll!RtlClearBits +ntdll.dll!RtlCloneUserProcess +ntdll.dll!RtlCmDecodeMemIoResource +ntdll.dll!RtlCmEncodeMemIoResource +ntdll.dll!RtlCommitDebugInfo +ntdll.dll!RtlCompactHeap +ntdll.dll!RtlCompareAltitudes +ntdll.dll!RtlCompareMemoryUlong +ntdll.dll!RtlCompareString +ntdll.dll!RtlCompareUnicodeString +ntdll.dll!RtlCompareUnicodeStrings +ntdll.dll!RtlCompressBuffer +ntdll.dll!RtlComputeCrc32 +ntdll.dll!RtlComputeImportTableHash +ntdll.dll!RtlComputePrivatizedDllName_U +ntdll.dll!RtlConnectToSm +ntdll.dll!RtlConsoleMultiByteToUnicodeN +ntdll.dll!RtlContractHashTable +ntdll.dll!RtlConvertDeviceFamilyInfoToString +ntdll.dll!RtlConvertExclusiveToShared +ntdll.dll!RtlConvertLCIDToString +ntdll.dll!RtlConvertLongToLargeInteger +ntdll.dll!RtlConvertSRWLockExclusiveToShared +ntdll.dll!RtlConvertSharedToExclusive +ntdll.dll!RtlConvertSidToUnicodeString +ntdll.dll!RtlConvertToAutoInheritSecurityObject +ntdll.dll!RtlConvertUlongToLargeInteger +ntdll.dll!RtlCopyBitMap +ntdll.dll!RtlCopyLuid +ntdll.dll!RtlCopyLuidAndAttributesArray +ntdll.dll!RtlCopyMappedMemory +ntdll.dll!RtlCopySecurityDescriptor +ntdll.dll!RtlCopySid +ntdll.dll!RtlCopySidAndAttributesArray +ntdll.dll!RtlCopyString +ntdll.dll!RtlCopyUnicodeString +ntdll.dll!RtlCrc32 +ntdll.dll!RtlCrc64 +ntdll.dll!RtlCreateAcl +ntdll.dll!RtlCreateActivationContext +ntdll.dll!RtlCreateAndSetSD +ntdll.dll!RtlCreateAtomTable +ntdll.dll!RtlCreateBootStatusDataFile +ntdll.dll!RtlCreateBoundaryDescriptor +ntdll.dll!RtlCreateEnvironment +ntdll.dll!RtlCreateEnvironmentEx +ntdll.dll!RtlCreateHashTable +ntdll.dll!RtlCreateHashTableEx +ntdll.dll!RtlCreateHeap +ntdll.dll!RtlCreateMemoryBlockLookaside +ntdll.dll!RtlCreateMemoryZone +ntdll.dll!RtlCreateProcessParameters +ntdll.dll!RtlCreateProcessParametersEx +ntdll.dll!RtlCreateProcessReflection +ntdll.dll!RtlCreateQueryDebugBuffer +ntdll.dll!RtlCreateRegistryKey +ntdll.dll!RtlCreateSecurityDescriptor +ntdll.dll!RtlCreateServiceSid +ntdll.dll!RtlCreateSystemVolumeInformationFolder +ntdll.dll!RtlCreateTagHeap +ntdll.dll!RtlCreateTimer +ntdll.dll!RtlCreateTimerQueue +ntdll.dll!RtlCreateUnicodeString +ntdll.dll!RtlCreateUnicodeStringFromAsciiz +ntdll.dll!RtlCreateUserProcess +ntdll.dll!RtlCreateUserSecurityObject +ntdll.dll!RtlCreateUserStack +ntdll.dll!RtlCreateUserThread +ntdll.dll!RtlCreateVirtualAccountSid +ntdll.dll!RtlCultureNameToLCID +ntdll.dll!RtlCustomCPToUnicodeN +ntdll.dll!RtlCutoverTimeToSystemTime +ntdll.dll!RtlDeCommitDebugInfo +ntdll.dll!RtlDeNormalizeProcessParams +ntdll.dll!RtlDeactivateActivationContext +ntdll.dll!RtlDebugPrintTimes +ntdll.dll!RtlDecodePointer +ntdll.dll!RtlDecodeRemotePointer +ntdll.dll!RtlDecodeSystemPointer +ntdll.dll!RtlDecompressBuffer +ntdll.dll!RtlDecompressBufferEx +ntdll.dll!RtlDecompressFragment +ntdll.dll!RtlDefaultNpAcl +ntdll.dll!RtlDelete +ntdll.dll!RtlDeleteAce +ntdll.dll!RtlDeleteAtomFromAtomTable +ntdll.dll!RtlDeleteBoundaryDescriptor +ntdll.dll!RtlDeleteCriticalSection +ntdll.dll!RtlDeleteElementGenericTable +ntdll.dll!RtlDeleteElementGenericTableAvl +ntdll.dll!RtlDeleteElementGenericTableAvlEx +ntdll.dll!RtlDeleteHashTable +ntdll.dll!RtlDeleteNoSplay +ntdll.dll!RtlDeleteRegistryValue +ntdll.dll!RtlDeleteResource +ntdll.dll!RtlDeleteSecurityObject +ntdll.dll!RtlDeleteTimer +ntdll.dll!RtlDeleteTimerQueue +ntdll.dll!RtlDeleteTimerQueueEx +ntdll.dll!RtlDeregisterSecureMemoryCacheCallback +ntdll.dll!RtlDeregisterWait +ntdll.dll!RtlDeregisterWaitEx +ntdll.dll!RtlDeriveCapabilitySidsFromName +ntdll.dll!RtlDestroyAtomTable +ntdll.dll!RtlDestroyEnvironment +ntdll.dll!RtlDestroyHandleTable +ntdll.dll!RtlDestroyHeap +ntdll.dll!RtlDestroyMemoryBlockLookaside +ntdll.dll!RtlDestroyMemoryZone +ntdll.dll!RtlDestroyProcessParameters +ntdll.dll!RtlDestroyQueryDebugBuffer +ntdll.dll!RtlDetectHeapLeaks +ntdll.dll!RtlDetermineDosPathNameType_U +ntdll.dll!RtlDisableThreadProfiling +ntdll.dll!RtlDllShutdownInProgress +ntdll.dll!RtlDnsHostNameToComputerName +ntdll.dll!RtlDoesFileExists_U +ntdll.dll!RtlDosApplyFileIsolationRedirection_Ustr +ntdll.dll!RtlDosPathNameToNtPathName_U +ntdll.dll!RtlDosPathNameToNtPathName_U_WithStatus +ntdll.dll!RtlDosPathNameToRelativeNtPathName_U +ntdll.dll!RtlDosPathNameToRelativeNtPathName_U_WithStatus +ntdll.dll!RtlDosSearchPath_U +ntdll.dll!RtlDosSearchPath_Ustr +ntdll.dll!RtlDowncaseUnicodeChar +ntdll.dll!RtlDowncaseUnicodeString +ntdll.dll!RtlDumpResource +ntdll.dll!RtlDuplicateUnicodeString +ntdll.dll!RtlEmptyAtomTable +ntdll.dll!RtlEnableEarlyCriticalSectionEventCreation +ntdll.dll!RtlEnableThreadProfiling +ntdll.dll!RtlEncodePointer +ntdll.dll!RtlEncodeRemotePointer +ntdll.dll!RtlEncodeSystemPointer +ntdll.dll!RtlEndEnumerationHashTable +ntdll.dll!RtlEndStrongEnumerationHashTable +ntdll.dll!RtlEndWeakEnumerationHashTable +ntdll.dll!RtlEnlargedIntegerMultiply +ntdll.dll!RtlEnlargedUnsignedMultiply +ntdll.dll!RtlEnterCriticalSection +ntdll.dll!RtlEnumProcessHeaps +ntdll.dll!RtlEnumerateEntryHashTable +ntdll.dll!RtlEnumerateGenericTable +ntdll.dll!RtlEnumerateGenericTableAvl +ntdll.dll!RtlEnumerateGenericTableLikeADirectory +ntdll.dll!RtlEnumerateGenericTableWithoutSplaying +ntdll.dll!RtlEnumerateGenericTableWithoutSplayingAvl +ntdll.dll!RtlEqualComputerName +ntdll.dll!RtlEqualDomainName +ntdll.dll!RtlEqualLuid +ntdll.dll!RtlEqualPrefixSid +ntdll.dll!RtlEqualSid +ntdll.dll!RtlEqualString +ntdll.dll!RtlEqualUnicodeString +ntdll.dll!RtlEqualWnfChangeStamps +ntdll.dll!RtlEraseUnicodeString +ntdll.dll!RtlEthernetAddressToStringA +ntdll.dll!RtlEthernetAddressToStringW +ntdll.dll!RtlEthernetStringToAddressA +ntdll.dll!RtlEthernetStringToAddressW +ntdll.dll!RtlExitUserProcess +ntdll.dll!RtlExitUserThread +ntdll.dll!RtlExpandEnvironmentStrings +ntdll.dll!RtlExpandEnvironmentStrings_U +ntdll.dll!RtlExpandHashTable +ntdll.dll!RtlExtendMemoryBlockLookaside +ntdll.dll!RtlExtendMemoryZone +ntdll.dll!RtlExtendedIntegerMultiply +ntdll.dll!RtlExtendedLargeIntegerDivide +ntdll.dll!RtlExtendedMagicDivide +ntdll.dll!RtlExtractBitMap +ntdll.dll!RtlFillMemory +ntdll.dll!RtlFillMemoryUlong +ntdll.dll!RtlFillMemoryUlonglong +ntdll.dll!RtlFindAceByType +ntdll.dll!RtlFindActivationContextSectionGuid +ntdll.dll!RtlFindActivationContextSectionString +ntdll.dll!RtlFindCharInUnicodeString +ntdll.dll!RtlFindClearBits +ntdll.dll!RtlFindClearBitsAndSet +ntdll.dll!RtlFindClearRuns +ntdll.dll!RtlFindClosestEncodableLength +ntdll.dll!RtlFindLastBackwardRunClear +ntdll.dll!RtlFindLeastSignificantBit +ntdll.dll!RtlFindLongestRunClear +ntdll.dll!RtlFindMessage +ntdll.dll!RtlFindMostSignificantBit +ntdll.dll!RtlFindNextForwardRunClear +ntdll.dll!RtlFindSetBits +ntdll.dll!RtlFindSetBitsAndClear +ntdll.dll!RtlFindUnicodeSubstring +ntdll.dll!RtlFirstEntrySList +ntdll.dll!RtlFirstFreeAce +ntdll.dll!RtlFlsAlloc +ntdll.dll!RtlFlsFree +ntdll.dll!RtlFlushSecureMemoryCache +ntdll.dll!RtlFormatCurrentUserKeyPath +ntdll.dll!RtlFormatMessage +ntdll.dll!RtlFormatMessageEx +ntdll.dll!RtlFreeActivationContextStack +ntdll.dll!RtlFreeAnsiString +ntdll.dll!RtlFreeHandle +ntdll.dll!RtlFreeHeap +ntdll.dll!RtlFreeMemoryBlockLookaside +ntdll.dll!RtlFreeOemString +ntdll.dll!RtlFreeSid +ntdll.dll!RtlFreeThreadActivationContextStack +ntdll.dll!RtlFreeUnicodeString +ntdll.dll!RtlFreeUserStack +ntdll.dll!RtlGUIDFromString +ntdll.dll!RtlGenerate8dot3Name +ntdll.dll!RtlGetAce +ntdll.dll!RtlGetActiveActivationContext +ntdll.dll!RtlGetAppContainerNamedObjectPath +ntdll.dll!RtlGetAppContainerParent +ntdll.dll!RtlGetAppContainerSidType +ntdll.dll!RtlGetCallersAddress +ntdll.dll!RtlGetCompressionWorkSpaceSize +ntdll.dll!RtlGetControlSecurityDescriptor +ntdll.dll!RtlGetCriticalSectionRecursionCount +ntdll.dll!RtlGetCurrentDirectory_U +ntdll.dll!RtlGetCurrentPeb +ntdll.dll!RtlGetCurrentProcessorNumber +ntdll.dll!RtlGetCurrentProcessorNumberEx +ntdll.dll!RtlGetCurrentTransaction +ntdll.dll!RtlGetDaclSecurityDescriptor +ntdll.dll!RtlGetDeviceFamilyInfoEnum +ntdll.dll!RtlGetElementGenericTable +ntdll.dll!RtlGetElementGenericTableAvl +ntdll.dll!RtlGetExePath +ntdll.dll!RtlGetFileMUIPath +ntdll.dll!RtlGetFrame +ntdll.dll!RtlGetFullPathName_U +ntdll.dll!RtlGetFullPathName_UEx +ntdll.dll!RtlGetFullPathName_UstrEx +ntdll.dll!RtlGetGroupSecurityDescriptor +ntdll.dll!RtlGetIntegerAtom +ntdll.dll!RtlGetInterruptTimePrecise +ntdll.dll!RtlGetLastNtStatus +ntdll.dll!RtlGetLastWin32Error +ntdll.dll!RtlGetLengthWithoutLastFullDosOrNtPathElement +ntdll.dll!RtlGetLengthWithoutTrailingPathSeperators +ntdll.dll!RtlGetLocaleFileMappingAddress +ntdll.dll!RtlGetLongestNtPathLength +ntdll.dll!RtlGetNativeSystemInformation +ntdll.dll!RtlGetNextEntryHashTable +ntdll.dll!RtlGetNtGlobalFlags +ntdll.dll!RtlGetNtProductType +ntdll.dll!RtlGetNtVersionNumbers +ntdll.dll!RtlGetOwnerSecurityDescriptor +ntdll.dll!RtlGetProcessHeaps +ntdll.dll!RtlGetProductInfo +ntdll.dll!RtlGetSaclSecurityDescriptor +ntdll.dll!RtlGetSearchPath +ntdll.dll!RtlGetSecurityDescriptorRMControl +ntdll.dll!RtlGetSetBootStatusData +ntdll.dll!RtlGetSystemPreferredUILanguages +ntdll.dll!RtlGetSystemTimePrecise +ntdll.dll!RtlGetThreadErrorMode +ntdll.dll!RtlGetThreadLangIdByIndex +ntdll.dll!RtlGetThreadPreferredUILanguages +ntdll.dll!RtlGetUILanguageInfo +ntdll.dll!RtlGetUnloadEventTrace +ntdll.dll!RtlGetUnloadEventTraceEx +ntdll.dll!RtlGetUserInfoHeap +ntdll.dll!RtlGetUserPreferredUILanguages +ntdll.dll!RtlGetVersion +ntdll.dll!RtlHashUnicodeString +ntdll.dll!RtlHeapTrkInitialize +ntdll.dll!RtlIdentifierAuthoritySid +ntdll.dll!RtlIdnToAscii +ntdll.dll!RtlIdnToNameprepUnicode +ntdll.dll!RtlIdnToUnicode +ntdll.dll!RtlImageDirectoryEntryToData +ntdll.dll!RtlImageNtHeader +ntdll.dll!RtlImageNtHeaderEx +ntdll.dll!RtlImageRvaToSection +ntdll.dll!RtlImageRvaToVa +ntdll.dll!RtlImpersonateSelf +ntdll.dll!RtlImpersonateSelfEx +ntdll.dll!RtlInitAnsiString +ntdll.dll!RtlInitAnsiStringEx +ntdll.dll!RtlInitCodePageTable +ntdll.dll!RtlInitEnumerationHashTable +ntdll.dll!RtlInitNlsTables +ntdll.dll!RtlInitString +ntdll.dll!RtlInitStringEx +ntdll.dll!RtlInitStrongEnumerationHashTable +ntdll.dll!RtlInitUnicodeString +ntdll.dll!RtlInitUnicodeStringEx +ntdll.dll!RtlInitWeakEnumerationHashTable +ntdll.dll!RtlInitializeAtomPackage +ntdll.dll!RtlInitializeBitMap +ntdll.dll!RtlInitializeConditionVariable +ntdll.dll!RtlInitializeCriticalSection +ntdll.dll!RtlInitializeCriticalSectionAndSpinCount +ntdll.dll!RtlInitializeCriticalSectionEx +ntdll.dll!RtlInitializeExceptionChain +ntdll.dll!RtlInitializeGenericTable +ntdll.dll!RtlInitializeGenericTableAvl +ntdll.dll!RtlInitializeHandleTable +ntdll.dll!RtlInitializeRXact +ntdll.dll!RtlInitializeResource +ntdll.dll!RtlInitializeSListHead +ntdll.dll!RtlInitializeSRWLock +ntdll.dll!RtlInitializeSid +ntdll.dll!RtlInitializeSidEx +ntdll.dll!RtlInsertElementGenericTable +ntdll.dll!RtlInsertElementGenericTableAvl +ntdll.dll!RtlInsertElementGenericTableFull +ntdll.dll!RtlInsertElementGenericTableFullAvl +ntdll.dll!RtlInsertEntryHashTable +ntdll.dll!RtlInt64ToUnicodeString +ntdll.dll!RtlIntegerToChar +ntdll.dll!RtlIntegerToUnicodeString +ntdll.dll!RtlInterlockedClearBitRun +ntdll.dll!RtlInterlockedCompareExchange64 +ntdll.dll!RtlInterlockedFlushSList +ntdll.dll!RtlInterlockedPopEntrySList +ntdll.dll!RtlInterlockedPushEntrySList +ntdll.dll!RtlInterlockedPushListSListEx +ntdll.dll!RtlInterlockedSetBitRun +ntdll.dll!RtlIoDecodeMemIoResource +ntdll.dll!RtlIoEncodeMemIoResource +ntdll.dll!RtlIpv4AddressToStringA +ntdll.dll!RtlIpv4AddressToStringExA +ntdll.dll!RtlIpv4AddressToStringExW +ntdll.dll!RtlIpv4AddressToStringW +ntdll.dll!RtlIpv4StringToAddressA +ntdll.dll!RtlIpv4StringToAddressExA +ntdll.dll!RtlIpv4StringToAddressExW +ntdll.dll!RtlIpv4StringToAddressW +ntdll.dll!RtlIpv6AddressToStringA +ntdll.dll!RtlIpv6AddressToStringExA +ntdll.dll!RtlIpv6AddressToStringExW +ntdll.dll!RtlIpv6AddressToStringW +ntdll.dll!RtlIpv6StringToAddressA +ntdll.dll!RtlIpv6StringToAddressExA +ntdll.dll!RtlIpv6StringToAddressExW +ntdll.dll!RtlIpv6StringToAddressW +ntdll.dll!RtlIsActivationContextActive +ntdll.dll!RtlIsCapabilitySid +ntdll.dll!RtlIsCriticalSectionLocked +ntdll.dll!RtlIsCriticalSectionLockedByThread +ntdll.dll!RtlIsDosDeviceName_U +ntdll.dll!RtlIsGenericTableEmpty +ntdll.dll!RtlIsGenericTableEmptyAvl +ntdll.dll!RtlIsMultiSessionSku +ntdll.dll!RtlIsNameInExpression +ntdll.dll!RtlIsNameLegalDOS8Dot3 +ntdll.dll!RtlIsNormalizedString +ntdll.dll!RtlIsPackageSid +ntdll.dll!RtlIsParentOfChildAppContainer +ntdll.dll!RtlIsProcessorFeaturePresent +ntdll.dll!RtlIsTextUnicode +ntdll.dll!RtlIsThreadWithinLoaderCallout +ntdll.dll!RtlIsUntrustedObject +ntdll.dll!RtlIsValidHandle +ntdll.dll!RtlIsValidIndexHandle +ntdll.dll!RtlIsValidLocaleName +ntdll.dll!RtlIsValidProcessTrustLabelSid +ntdll.dll!RtlKnownExceptionFilter +ntdll.dll!RtlLCIDToCultureName +ntdll.dll!RtlLargeIntegerAdd +ntdll.dll!RtlLargeIntegerArithmeticShift +ntdll.dll!RtlLargeIntegerDivide +ntdll.dll!RtlLargeIntegerNegate +ntdll.dll!RtlLargeIntegerShiftLeft +ntdll.dll!RtlLargeIntegerShiftRight +ntdll.dll!RtlLargeIntegerSubtract +ntdll.dll!RtlLargeIntegerToChar +ntdll.dll!RtlLcidToLocaleName +ntdll.dll!RtlLeaveCriticalSection +ntdll.dll!RtlLengthRequiredSid +ntdll.dll!RtlLengthSecurityDescriptor +ntdll.dll!RtlLengthSid +ntdll.dll!RtlLocalTimeToSystemTime +ntdll.dll!RtlLocaleNameToLcid +ntdll.dll!RtlLockBootStatusData +ntdll.dll!RtlLockCurrentThread +ntdll.dll!RtlLockHeap +ntdll.dll!RtlLockMemoryBlockLookaside +ntdll.dll!RtlLockMemoryZone +ntdll.dll!RtlLockModuleSection +ntdll.dll!RtlLogStackBackTrace +ntdll.dll!RtlLookupAtomInAtomTable +ntdll.dll!RtlLookupElementGenericTable +ntdll.dll!RtlLookupElementGenericTableAvl +ntdll.dll!RtlLookupElementGenericTableFull +ntdll.dll!RtlLookupElementGenericTableFullAvl +ntdll.dll!RtlLookupEntryHashTable +ntdll.dll!RtlMakeSelfRelativeSD +ntdll.dll!RtlMapGenericMask +ntdll.dll!RtlMapSecurityErrorToNtStatus +ntdll.dll!RtlMoveMemory +ntdll.dll!RtlMultiAppendUnicodeStringBuffer +ntdll.dll!RtlMultiByteToUnicodeN +ntdll.dll!RtlMultiByteToUnicodeSize +ntdll.dll!RtlMultipleAllocateHeap +ntdll.dll!RtlMultipleFreeHeap +ntdll.dll!RtlNewInstanceSecurityObject +ntdll.dll!RtlNewSecurityGrantedAccess +ntdll.dll!RtlNewSecurityObject +ntdll.dll!RtlNewSecurityObjectEx +ntdll.dll!RtlNewSecurityObjectWithMultipleInheritance +ntdll.dll!RtlNormalizeProcessParams +ntdll.dll!RtlNormalizeString +ntdll.dll!RtlNtPathNameToDosPathName +ntdll.dll!RtlNtStatusToDosError +ntdll.dll!RtlNtStatusToDosErrorNoTeb +ntdll.dll!RtlNumberGenericTableElements +ntdll.dll!RtlNumberGenericTableElementsAvl +ntdll.dll!RtlNumberOfClearBits +ntdll.dll!RtlNumberOfClearBitsInRange +ntdll.dll!RtlNumberOfSetBits +ntdll.dll!RtlNumberOfSetBitsInRange +ntdll.dll!RtlNumberOfSetBitsUlongPtr +ntdll.dll!RtlOemStringToUnicodeSize +ntdll.dll!RtlOemStringToUnicodeString +ntdll.dll!RtlOemToUnicodeN +ntdll.dll!RtlOpenCurrentUser +ntdll.dll!RtlOsDeploymentState +ntdll.dll!RtlOwnerAcesPresent +ntdll.dll!RtlPinAtomInAtomTable +ntdll.dll!RtlPopFrame +ntdll.dll!RtlPrefixString +ntdll.dll!RtlPrefixUnicodeString +ntdll.dll!RtlProcessFlsData +ntdll.dll!RtlPublishWnfStateData +ntdll.dll!RtlPushFrame +ntdll.dll!RtlQueryActivationContextApplicationSettings +ntdll.dll!RtlQueryAtomInAtomTable +ntdll.dll!RtlQueryDepthSList +ntdll.dll!RtlQueryDynamicTimeZoneInformation +ntdll.dll!RtlQueryElevationFlags +ntdll.dll!RtlQueryEnvironmentVariable +ntdll.dll!RtlQueryEnvironmentVariable_U +ntdll.dll!RtlQueryHeapInformation +ntdll.dll!RtlQueryInformationAcl +ntdll.dll!RtlQueryInformationActivationContext +ntdll.dll!RtlQueryInformationActiveActivationContext +ntdll.dll!RtlQueryPackageClaims +ntdll.dll!RtlQueryPackageIdentity +ntdll.dll!RtlQueryPackageIdentityEx +ntdll.dll!RtlQueryPerformanceCounter +ntdll.dll!RtlQueryPerformanceFrequency +ntdll.dll!RtlQueryProcessBackTraceInformation +ntdll.dll!RtlQueryProcessDebugInformation +ntdll.dll!RtlQueryProcessLockInformation +ntdll.dll!RtlQueryProtectedPolicy +ntdll.dll!RtlQueryRegistryValues +ntdll.dll!RtlQueryRegistryValuesEx +ntdll.dll!RtlQuerySecurityObject +ntdll.dll!RtlQueryThreadProfiling +ntdll.dll!RtlQueryTimeZoneInformation +ntdll.dll!RtlQueryUnbiasedInterruptTime +ntdll.dll!RtlQueryValidationRunlevel +ntdll.dll!RtlQueryWnfMetaNotification +ntdll.dll!RtlQueryWnfStateData +ntdll.dll!RtlQueryWnfStateDataWithExplicitScope +ntdll.dll!RtlQueueApcWow64Thread +ntdll.dll!RtlQueueWorkItem +ntdll.dll!RtlRaiseStatus +ntdll.dll!RtlRandom +ntdll.dll!RtlRandomEx +ntdll.dll!RtlRbInsertNodeEx +ntdll.dll!RtlRbRemoveNode +ntdll.dll!RtlReAllocateHeap +ntdll.dll!RtlReadThreadProfilingData +ntdll.dll!RtlRealPredecessor +ntdll.dll!RtlRealSuccessor +ntdll.dll!RtlRegisterForWnfMetaNotification +ntdll.dll!RtlRegisterSecureMemoryCacheCallback +ntdll.dll!RtlRegisterThreadWithCsrss +ntdll.dll!RtlRegisterWait +ntdll.dll!RtlReleaseActivationContext +ntdll.dll!RtlReleasePath +ntdll.dll!RtlReleasePebLock +ntdll.dll!RtlReleasePrivilege +ntdll.dll!RtlReleaseRelativeName +ntdll.dll!RtlReleaseResource +ntdll.dll!RtlReleaseSRWLockExclusive +ntdll.dll!RtlReleaseSRWLockShared +ntdll.dll!RtlRemoteCall +ntdll.dll!RtlRemoveEntryHashTable +ntdll.dll!RtlRemovePrivileges +ntdll.dll!RtlRemoveVectoredContinueHandler +ntdll.dll!RtlRemoveVectoredExceptionHandler +ntdll.dll!RtlReplaceSidInSd +ntdll.dll!RtlReportException +ntdll.dll!RtlReportSilentProcessExit +ntdll.dll!RtlReportSqmEscalation +ntdll.dll!RtlResetMemoryBlockLookaside +ntdll.dll!RtlResetRtlTranslations +ntdll.dll!RtlRestoreLastWin32Error +ntdll.dll!RtlRunDecodeUnicodeString +ntdll.dll!RtlRunEncodeUnicodeString +ntdll.dll!RtlRunOnceBeginInitialize +ntdll.dll!RtlRunOnceComplete +ntdll.dll!RtlRunOnceExecuteOnce +ntdll.dll!RtlRunOnceInitialize +ntdll.dll!RtlSecondsSince1970ToTime +ntdll.dll!RtlSecondsSince1980ToTime +ntdll.dll!RtlSelfRelativeToAbsoluteSD2 +ntdll.dll!RtlSelfRelativeToAbsoluteSD +ntdll.dll!RtlSendMsgToSm +ntdll.dll!RtlSetAllBits +ntdll.dll!RtlSetBit +ntdll.dll!RtlSetBits +ntdll.dll!RtlSetControlSecurityDescriptor +ntdll.dll!RtlSetCriticalSectionSpinCount +ntdll.dll!RtlSetCurrentDirectory_U +ntdll.dll!RtlSetCurrentEnvironment +ntdll.dll!RtlSetCurrentTransaction +ntdll.dll!RtlSetDaclSecurityDescriptor +ntdll.dll!RtlSetDynamicTimeZoneInformation +ntdll.dll!RtlSetEnvironmentStrings +ntdll.dll!RtlSetEnvironmentVar +ntdll.dll!RtlSetEnvironmentVariable +ntdll.dll!RtlSetGroupSecurityDescriptor +ntdll.dll!RtlSetHeapInformation +ntdll.dll!RtlSetInformationAcl +ntdll.dll!RtlSetIoCompletionCallback +ntdll.dll!RtlSetLastWin32Error +ntdll.dll!RtlSetLastWin32ErrorAndNtStatusFromNtStatus +ntdll.dll!RtlSetOwnerSecurityDescriptor +ntdll.dll!RtlSetPortableOperatingSystem +ntdll.dll!RtlSetProcessDebugInformation +ntdll.dll!RtlSetProcessIsCritical +ntdll.dll!RtlSetProtectedPolicy +ntdll.dll!RtlSetSaclSecurityDescriptor +ntdll.dll!RtlSetSearchPathMode +ntdll.dll!RtlSetSecurityDescriptorRMControl +ntdll.dll!RtlSetSecurityObject +ntdll.dll!RtlSetSecurityObjectEx +ntdll.dll!RtlSetThreadErrorMode +ntdll.dll!RtlSetThreadIsCritical +ntdll.dll!RtlSetThreadPoolStartFunc +ntdll.dll!RtlSetThreadPreferredUILanguages +ntdll.dll!RtlSetThreadSubProcessTag +ntdll.dll!RtlSetTimeZoneInformation +ntdll.dll!RtlSetTimer +ntdll.dll!RtlSetUnhandledExceptionFilter +ntdll.dll!RtlSetUserFlagsHeap +ntdll.dll!RtlSetUserValueHeap +ntdll.dll!RtlSidDominates +ntdll.dll!RtlSidDominatesForTrust +ntdll.dll!RtlSidEqualLevel +ntdll.dll!RtlSidHashInitialize +ntdll.dll!RtlSidHashLookup +ntdll.dll!RtlSidIsHigherLevel +ntdll.dll!RtlSizeHeap +ntdll.dll!RtlSleepConditionVariableCS +ntdll.dll!RtlSleepConditionVariableSRW +ntdll.dll!RtlSplay +ntdll.dll!RtlStartRXact +ntdll.dll!RtlStringFromGUID +ntdll.dll!RtlStringFromGUIDEx +ntdll.dll!RtlStronglyEnumerateEntryHashTable +ntdll.dll!RtlSubAuthorityCountSid +ntdll.dll!RtlSubAuthoritySid +ntdll.dll!RtlSubscribeWnfStateChangeNotification +ntdll.dll!RtlSubtreePredecessor +ntdll.dll!RtlSubtreeSuccessor +ntdll.dll!RtlSwitchedVVI +ntdll.dll!RtlSystemTimeToLocalTime +ntdll.dll!RtlTestAndPublishWnfStateData +ntdll.dll!RtlTestBit +ntdll.dll!RtlTestProtectedAccess +ntdll.dll!RtlTimeFieldsToTime +ntdll.dll!RtlTimeToElapsedTimeFields +ntdll.dll!RtlTimeToSecondsSince1970 +ntdll.dll!RtlTimeToSecondsSince1980 +ntdll.dll!RtlTimeToTimeFields +ntdll.dll!RtlTraceDatabaseAdd +ntdll.dll!RtlTraceDatabaseCreate +ntdll.dll!RtlTraceDatabaseDestroy +ntdll.dll!RtlTraceDatabaseEnumerate +ntdll.dll!RtlTraceDatabaseFind +ntdll.dll!RtlTraceDatabaseLock +ntdll.dll!RtlTraceDatabaseUnlock +ntdll.dll!RtlTraceDatabaseValidate +ntdll.dll!RtlTryAcquirePebLock +ntdll.dll!RtlTryAcquireSRWLockExclusive +ntdll.dll!RtlTryAcquireSRWLockShared +ntdll.dll!RtlTryConvertSRWLockSharedToExclusiveOrRelease +ntdll.dll!RtlTryEnterCriticalSection +ntdll.dll!RtlUTF8ToUnicodeN +ntdll.dll!RtlUnhandledExceptionFilter2 +ntdll.dll!RtlUnhandledExceptionFilter +ntdll.dll!RtlUnicodeStringToAnsiSize +ntdll.dll!RtlUnicodeStringToAnsiString +ntdll.dll!RtlUnicodeStringToCountedOemString +ntdll.dll!RtlUnicodeStringToInteger +ntdll.dll!RtlUnicodeStringToOemSize +ntdll.dll!RtlUnicodeStringToOemString +ntdll.dll!RtlUnicodeToCustomCPN +ntdll.dll!RtlUnicodeToMultiByteN +ntdll.dll!RtlUnicodeToMultiByteSize +ntdll.dll!RtlUnicodeToOemN +ntdll.dll!RtlUnicodeToUTF8N +ntdll.dll!RtlUniform +ntdll.dll!RtlUnlockBootStatusData +ntdll.dll!RtlUnlockCurrentThread +ntdll.dll!RtlUnlockHeap +ntdll.dll!RtlUnlockMemoryBlockLookaside +ntdll.dll!RtlUnlockMemoryZone +ntdll.dll!RtlUnlockModuleSection +ntdll.dll!RtlUnsubscribeWnfNotificationWaitForCompletion +ntdll.dll!RtlUnsubscribeWnfNotificationWithCompletionCallback +ntdll.dll!RtlUnsubscribeWnfStateChangeNotification +ntdll.dll!RtlUpcaseUnicodeChar +ntdll.dll!RtlUpcaseUnicodeString +ntdll.dll!RtlUpcaseUnicodeStringToCountedOemString +ntdll.dll!RtlUpcaseUnicodeStringToOemString +ntdll.dll!RtlUpcaseUnicodeToCustomCPN +ntdll.dll!RtlUpcaseUnicodeToMultiByteN +ntdll.dll!RtlUpcaseUnicodeToOemN +ntdll.dll!RtlUpdateClonedCriticalSection +ntdll.dll!RtlUpdateClonedSRWLock +ntdll.dll!RtlUpdateTimer +ntdll.dll!RtlUpperChar +ntdll.dll!RtlUpperString +ntdll.dll!RtlValidAcl +ntdll.dll!RtlValidProcessProtection +ntdll.dll!RtlValidRelativeSecurityDescriptor +ntdll.dll!RtlValidSecurityDescriptor +ntdll.dll!RtlValidSid +ntdll.dll!RtlValidateHeap +ntdll.dll!RtlValidateProcessHeaps +ntdll.dll!RtlValidateUnicodeString +ntdll.dll!RtlVerifyVersionInfo +ntdll.dll!RtlWaitForWnfMetaNotification +ntdll.dll!RtlWaitOnAddress +ntdll.dll!RtlWakeAddressAll +ntdll.dll!RtlWakeAddressAllNoFence +ntdll.dll!RtlWakeAddressSingle +ntdll.dll!RtlWakeAddressSingleNoFence +ntdll.dll!RtlWakeAllConditionVariable +ntdll.dll!RtlWakeConditionVariable +ntdll.dll!RtlWalkFrameChain +ntdll.dll!RtlWalkHeap +ntdll.dll!RtlWeaklyEnumerateEntryHashTable +ntdll.dll!RtlWerpReportException +ntdll.dll!RtlWnfCompareChangeStamp +ntdll.dll!RtlWnfDllUnloadCallback +ntdll.dll!RtlWow64CallFunction64 +ntdll.dll!RtlWow64EnableFsRedirection +ntdll.dll!RtlWow64EnableFsRedirectionEx +ntdll.dll!RtlWriteRegistryValue +ntdll.dll!RtlZeroMemory +ntdll.dll!RtlZombifyActivationContext +ntdll.dll!RtlpApplyLengthFunction +ntdll.dll!RtlpCheckDynamicTimeZoneInformation +ntdll.dll!RtlpCleanupRegistryKeys +ntdll.dll!RtlpConvertAbsoluteToRelativeSecurityAttribute +ntdll.dll!RtlpConvertCultureNamesToLCIDs +ntdll.dll!RtlpConvertLCIDsToCultureNames +ntdll.dll!RtlpConvertRelativeToAbsoluteSecurityAttribute +ntdll.dll!RtlpCreateProcessRegistryInfo +ntdll.dll!RtlpEnsureBufferSize +ntdll.dll!RtlpGetLCIDFromLangInfoNode +ntdll.dll!RtlpGetNameFromLangInfoNode +ntdll.dll!RtlpGetSystemDefaultUILanguage +ntdll.dll!RtlpGetUserOrMachineUILanguage4NLS +ntdll.dll!RtlpInitializeLangRegistryInfo +ntdll.dll!RtlpIsQualifiedLanguage +ntdll.dll!RtlpLoadMachineUIByPolicy +ntdll.dll!RtlpLoadUserUIByPolicy +ntdll.dll!RtlpMergeSecurityAttributeInformation +ntdll.dll!RtlpMuiFreeLangRegistryInfo +ntdll.dll!RtlpMuiRegCreateRegistryInfo +ntdll.dll!RtlpMuiRegFreeRegistryInfo +ntdll.dll!RtlpMuiRegLoadRegistryInfo +ntdll.dll!RtlpNotOwnerCriticalSection +ntdll.dll!RtlpNtCreateKey +ntdll.dll!RtlpNtEnumerateSubKey +ntdll.dll!RtlpNtMakeTemporaryKey +ntdll.dll!RtlpNtOpenKey +ntdll.dll!RtlpNtQueryValueKey +ntdll.dll!RtlpNtSetValueKey +ntdll.dll!RtlpQueryDefaultUILanguage +ntdll.dll!RtlpRefreshCachedUILanguage +ntdll.dll!RtlpSetInstallLanguage +ntdll.dll!RtlpSetPreferredUILanguages +ntdll.dll!RtlpSetUserPreferredUILanguages +ntdll.dll!RtlpUnWaitCriticalSection +ntdll.dll!RtlpVerifyAndCommitUILanguageSettings +ntdll.dll!RtlpWaitForCriticalSection +ntdll.dll!RtlxAnsiStringToUnicodeSize +ntdll.dll!RtlxOemStringToUnicodeSize +ntdll.dll!RtlxUnicodeStringToAnsiSize +ntdll.dll!RtlxUnicodeStringToOemSize +ntdll.dll!ShipAssert +ntdll.dll!ShipAssertGetBufferInfo +ntdll.dll!ShipAssertMsgA +ntdll.dll!ShipAssertMsgW +ntdll.dll!TpAllocAlpcCompletion +ntdll.dll!TpAllocCleanupGroup +ntdll.dll!TpAllocIoCompletion +ntdll.dll!TpAllocJobNotification +ntdll.dll!TpAllocPool +ntdll.dll!TpAllocTimer +ntdll.dll!TpAllocWait +ntdll.dll!TpAllocWork +ntdll.dll!TpCallbackDetectedUnrecoverableError +ntdll.dll!TpCallbackLeaveCriticalSectionOnCompletion +ntdll.dll!TpCallbackMayRunLong +ntdll.dll!TpCallbackReleaseMutexOnCompletion +ntdll.dll!TpCallbackReleaseSemaphoreOnCompletion +ntdll.dll!TpCallbackSetEventOnCompletion +ntdll.dll!TpCallbackUnloadDllOnCompletion +ntdll.dll!TpCancelAsyncIoOperation +ntdll.dll!TpCaptureCaller +ntdll.dll!TpCheckTerminateWorker +ntdll.dll!TpDisassociateCallback +ntdll.dll!TpIsTimerSet +ntdll.dll!TpPostWork +ntdll.dll!TpQueryPoolStackInformation +ntdll.dll!TpReleaseAlpcCompletion +ntdll.dll!TpReleaseCleanupGroup +ntdll.dll!TpReleaseCleanupGroupMembers +ntdll.dll!TpReleaseIoCompletion +ntdll.dll!TpReleaseJobNotification +ntdll.dll!TpReleasePool +ntdll.dll!TpReleaseTimer +ntdll.dll!TpReleaseWait +ntdll.dll!TpReleaseWork +ntdll.dll!TpSetPoolMaxThreads +ntdll.dll!TpSetPoolMaxThreadsSoftLimit +ntdll.dll!TpSetPoolMinThreads +ntdll.dll!TpSetPoolStackInformation +ntdll.dll!TpSetPoolWorkerThreadIdleTimeout +ntdll.dll!TpSetTimer +ntdll.dll!TpSetTimerEx +ntdll.dll!TpSetWait +ntdll.dll!TpSetWaitEx +ntdll.dll!TpSimpleTryPost +ntdll.dll!TpStartAsyncIoOperation +ntdll.dll!TpTrimPools +ntdll.dll!TpWaitForAlpcCompletion +ntdll.dll!TpWaitForIoCompletion +ntdll.dll!TpWaitForJobNotification +ntdll.dll!TpWaitForTimer +ntdll.dll!TpWaitForWait +ntdll.dll!TpWaitForWork +ntdll.dll!WerReportSQMEvent +ntdll.dll!WinSqmAddToAverageDWORD +ntdll.dll!WinSqmAddToStream +ntdll.dll!WinSqmAddToStreamEx +ntdll.dll!WinSqmCheckEscalationAddToStreamEx +ntdll.dll!WinSqmCheckEscalationSetDWORD64 +ntdll.dll!WinSqmCheckEscalationSetDWORD +ntdll.dll!WinSqmCheckEscalationSetString +ntdll.dll!WinSqmCommonDatapointDelete +ntdll.dll!WinSqmCommonDatapointSetDWORD64 +ntdll.dll!WinSqmCommonDatapointSetDWORD +ntdll.dll!WinSqmCommonDatapointSetStreamEx +ntdll.dll!WinSqmCommonDatapointSetString +ntdll.dll!WinSqmEndSession +ntdll.dll!WinSqmEventEnabled +ntdll.dll!WinSqmEventWrite +ntdll.dll!WinSqmGetEscalationRuleStatus +ntdll.dll!WinSqmGetInstrumentationProperty +ntdll.dll!WinSqmIncrementDWORD +ntdll.dll!WinSqmIsOptedIn +ntdll.dll!WinSqmIsOptedInEx +ntdll.dll!WinSqmIsSessionDisabled +ntdll.dll!WinSqmSetDWORD64 +ntdll.dll!WinSqmSetDWORD +ntdll.dll!WinSqmSetEscalationInfo +ntdll.dll!WinSqmSetIfMaxDWORD +ntdll.dll!WinSqmSetIfMinDWORD +ntdll.dll!WinSqmSetString +ntdll.dll!WinSqmStartSession +ntdll.dll!WinSqmStartSessionForPartner +ntdll.dll!ZwAcceptConnectPort +ntdll.dll!ZwAccessCheck +ntdll.dll!ZwAccessCheckAndAuditAlarm +ntdll.dll!ZwAccessCheckByType +ntdll.dll!ZwAccessCheckByTypeAndAuditAlarm +ntdll.dll!ZwAccessCheckByTypeResultList +ntdll.dll!ZwAccessCheckByTypeResultListAndAuditAlarm +ntdll.dll!ZwAccessCheckByTypeResultListAndAuditAlarmByHandle +ntdll.dll!ZwAddAtom +ntdll.dll!ZwAddAtomEx +ntdll.dll!ZwAddBootEntry +ntdll.dll!ZwAddDriverEntry +ntdll.dll!ZwAdjustGroupsToken +ntdll.dll!ZwAdjustPrivilegesToken +ntdll.dll!ZwAdjustTokenClaimsAndDeviceGroups +ntdll.dll!ZwAlertResumeThread +ntdll.dll!ZwAlertThread +ntdll.dll!ZwAlertThreadByThreadId +ntdll.dll!ZwAllocateLocallyUniqueId +ntdll.dll!ZwAllocateReserveObject +ntdll.dll!ZwAllocateUserPhysicalPages +ntdll.dll!ZwAllocateUuids +ntdll.dll!ZwAllocateVirtualMemory +ntdll.dll!ZwAlpcAcceptConnectPort +ntdll.dll!ZwAlpcCancelMessage +ntdll.dll!ZwAlpcConnectPort +ntdll.dll!ZwAlpcConnectPortEx +ntdll.dll!ZwAlpcCreatePort +ntdll.dll!ZwAlpcCreatePortSection +ntdll.dll!ZwAlpcCreateResourceReserve +ntdll.dll!ZwAlpcCreateSectionView +ntdll.dll!ZwAlpcCreateSecurityContext +ntdll.dll!ZwAlpcDeletePortSection +ntdll.dll!ZwAlpcDeleteResourceReserve +ntdll.dll!ZwAlpcDeleteSectionView +ntdll.dll!ZwAlpcDeleteSecurityContext +ntdll.dll!ZwAlpcDisconnectPort +ntdll.dll!ZwAlpcImpersonateClientContainerOfPort +ntdll.dll!ZwAlpcImpersonateClientOfPort +ntdll.dll!ZwAlpcOpenSenderProcess +ntdll.dll!ZwAlpcOpenSenderThread +ntdll.dll!ZwAlpcQueryInformation +ntdll.dll!ZwAlpcQueryInformationMessage +ntdll.dll!ZwAlpcRevokeSecurityContext +ntdll.dll!ZwAlpcSendWaitReceivePort +ntdll.dll!ZwAlpcSetInformation +ntdll.dll!ZwApphelpCacheControl +ntdll.dll!ZwAreMappedFilesTheSame +ntdll.dll!ZwAssignProcessToJobObject +ntdll.dll!ZwAssociateWaitCompletionPacket +ntdll.dll!ZwCallbackReturn +ntdll.dll!ZwCancelIoFile +ntdll.dll!ZwCancelIoFileEx +ntdll.dll!ZwCancelSynchronousIoFile +ntdll.dll!ZwCancelTimer2 +ntdll.dll!ZwCancelTimer +ntdll.dll!ZwCancelWaitCompletionPacket +ntdll.dll!ZwClearEvent +ntdll.dll!ZwClose +ntdll.dll!ZwCloseObjectAuditAlarm +ntdll.dll!ZwCommitComplete +ntdll.dll!ZwCommitEnlistment +ntdll.dll!ZwCommitTransaction +ntdll.dll!ZwCompactKeys +ntdll.dll!ZwCompareObjects +ntdll.dll!ZwCompareTokens +ntdll.dll!ZwCompleteConnectPort +ntdll.dll!ZwCompressKey +ntdll.dll!ZwConnectPort +ntdll.dll!ZwContinue +ntdll.dll!ZwCreateDebugObject +ntdll.dll!ZwCreateDirectoryObject +ntdll.dll!ZwCreateDirectoryObjectEx +ntdll.dll!ZwCreateEnlistment +ntdll.dll!ZwCreateEvent +ntdll.dll!ZwCreateEventPair +ntdll.dll!ZwCreateFile +ntdll.dll!ZwCreateIRTimer +ntdll.dll!ZwCreateIoCompletion +ntdll.dll!ZwCreateJobObject +ntdll.dll!ZwCreateJobSet +ntdll.dll!ZwCreateKey +ntdll.dll!ZwCreateKeyTransacted +ntdll.dll!ZwCreateKeyedEvent +ntdll.dll!ZwCreateLowBoxToken +ntdll.dll!ZwCreateMailslotFile +ntdll.dll!ZwCreateMutant +ntdll.dll!ZwCreateNamedPipeFile +ntdll.dll!ZwCreatePagingFile +ntdll.dll!ZwCreatePartition +ntdll.dll!ZwCreatePort +ntdll.dll!ZwCreatePrivateNamespace +ntdll.dll!ZwCreateProcess +ntdll.dll!ZwCreateProcessEx +ntdll.dll!ZwCreateProfile +ntdll.dll!ZwCreateProfileEx +ntdll.dll!ZwCreateResourceManager +ntdll.dll!ZwCreateSection +ntdll.dll!ZwCreateSemaphore +ntdll.dll!ZwCreateSymbolicLinkObject +ntdll.dll!ZwCreateThread +ntdll.dll!ZwCreateThreadEx +ntdll.dll!ZwCreateTimer2 +ntdll.dll!ZwCreateTimer +ntdll.dll!ZwCreateToken +ntdll.dll!ZwCreateTokenEx +ntdll.dll!ZwCreateTransaction +ntdll.dll!ZwCreateTransactionManager +ntdll.dll!ZwCreateUserProcess +ntdll.dll!ZwCreateWaitCompletionPacket +ntdll.dll!ZwCreateWaitablePort +ntdll.dll!ZwCreateWnfStateName +ntdll.dll!ZwCreateWorkerFactory +ntdll.dll!ZwDebugActiveProcess +ntdll.dll!ZwDebugContinue +ntdll.dll!ZwDelayExecution +ntdll.dll!ZwDeleteAtom +ntdll.dll!ZwDeleteBootEntry +ntdll.dll!ZwDeleteDriverEntry +ntdll.dll!ZwDeleteFile +ntdll.dll!ZwDeleteKey +ntdll.dll!ZwDeleteObjectAuditAlarm +ntdll.dll!ZwDeletePrivateNamespace +ntdll.dll!ZwDeleteValueKey +ntdll.dll!ZwDeleteWnfStateData +ntdll.dll!ZwDeleteWnfStateName +ntdll.dll!ZwDeviceIoControlFile +ntdll.dll!ZwDisableLastKnownGood +ntdll.dll!ZwDisplayString +ntdll.dll!ZwDrawText +ntdll.dll!ZwDuplicateObject +ntdll.dll!ZwDuplicateToken +ntdll.dll!ZwEnableLastKnownGood +ntdll.dll!ZwEnumerateBootEntries +ntdll.dll!ZwEnumerateDriverEntries +ntdll.dll!ZwEnumerateKey +ntdll.dll!ZwEnumerateSystemEnvironmentValuesEx +ntdll.dll!ZwEnumerateTransactionObject +ntdll.dll!ZwEnumerateValueKey +ntdll.dll!ZwExtendSection +ntdll.dll!ZwFilterBootOption +ntdll.dll!ZwFilterToken +ntdll.dll!ZwFilterTokenEx +ntdll.dll!ZwFindAtom +ntdll.dll!ZwFlushBuffersFile +ntdll.dll!ZwFlushBuffersFileEx +ntdll.dll!ZwFlushInstallUILanguage +ntdll.dll!ZwFlushInstructionCache +ntdll.dll!ZwFlushKey +ntdll.dll!ZwFlushProcessWriteBuffers +ntdll.dll!ZwFlushVirtualMemory +ntdll.dll!ZwFlushWriteBuffer +ntdll.dll!ZwFreeUserPhysicalPages +ntdll.dll!ZwFreeVirtualMemory +ntdll.dll!ZwFreezeRegistry +ntdll.dll!ZwFreezeTransactions +ntdll.dll!ZwFsControlFile +ntdll.dll!ZwGetCachedSigningLevel +ntdll.dll!ZwGetCompleteWnfStateSubscription +ntdll.dll!ZwGetContextThread +ntdll.dll!ZwGetCurrentProcessorNumber +ntdll.dll!ZwGetCurrentProcessorNumberEx +ntdll.dll!ZwGetDevicePowerState +ntdll.dll!ZwGetMUIRegistryInfo +ntdll.dll!ZwGetNextProcess +ntdll.dll!ZwGetNextThread +ntdll.dll!ZwGetNlsSectionPtr +ntdll.dll!ZwGetNotificationResourceManager +ntdll.dll!ZwGetWriteWatch +ntdll.dll!ZwImpersonateAnonymousToken +ntdll.dll!ZwImpersonateClientOfPort +ntdll.dll!ZwImpersonateThread +ntdll.dll!ZwInitializeNlsFiles +ntdll.dll!ZwInitializeRegistry +ntdll.dll!ZwInitiatePowerAction +ntdll.dll!ZwIsProcessInJob +ntdll.dll!ZwIsSystemResumeAutomatic +ntdll.dll!ZwIsUILanguageComitted +ntdll.dll!ZwListenPort +ntdll.dll!ZwLoadDriver +ntdll.dll!ZwLoadKey2 +ntdll.dll!ZwLoadKey +ntdll.dll!ZwLoadKeyEx +ntdll.dll!ZwLockFile +ntdll.dll!ZwLockProductActivationKeys +ntdll.dll!ZwLockRegistryKey +ntdll.dll!ZwLockVirtualMemory +ntdll.dll!ZwMakePermanentObject +ntdll.dll!ZwMakeTemporaryObject +ntdll.dll!ZwManagePartition +ntdll.dll!ZwMapCMFModule +ntdll.dll!ZwMapUserPhysicalPages +ntdll.dll!ZwMapUserPhysicalPagesScatter +ntdll.dll!ZwMapViewOfSection +ntdll.dll!ZwModifyBootEntry +ntdll.dll!ZwModifyDriverEntry +ntdll.dll!ZwNotifyChangeDirectoryFile +ntdll.dll!ZwNotifyChangeKey +ntdll.dll!ZwNotifyChangeMultipleKeys +ntdll.dll!ZwNotifyChangeSession +ntdll.dll!ZwOpenDirectoryObject +ntdll.dll!ZwOpenEnlistment +ntdll.dll!ZwOpenEvent +ntdll.dll!ZwOpenEventPair +ntdll.dll!ZwOpenFile +ntdll.dll!ZwOpenIoCompletion +ntdll.dll!ZwOpenJobObject +ntdll.dll!ZwOpenKey +ntdll.dll!ZwOpenKeyEx +ntdll.dll!ZwOpenKeyTransacted +ntdll.dll!ZwOpenKeyTransactedEx +ntdll.dll!ZwOpenKeyedEvent +ntdll.dll!ZwOpenMutant +ntdll.dll!ZwOpenObjectAuditAlarm +ntdll.dll!ZwOpenPartition +ntdll.dll!ZwOpenPrivateNamespace +ntdll.dll!ZwOpenProcess +ntdll.dll!ZwOpenProcessToken +ntdll.dll!ZwOpenProcessTokenEx +ntdll.dll!ZwOpenResourceManager +ntdll.dll!ZwOpenSection +ntdll.dll!ZwOpenSemaphore +ntdll.dll!ZwOpenSession +ntdll.dll!ZwOpenSymbolicLinkObject +ntdll.dll!ZwOpenThread +ntdll.dll!ZwOpenThreadToken +ntdll.dll!ZwOpenThreadTokenEx +ntdll.dll!ZwOpenTimer +ntdll.dll!ZwOpenTransaction +ntdll.dll!ZwOpenTransactionManager +ntdll.dll!ZwPlugPlayControl +ntdll.dll!ZwPowerInformation +ntdll.dll!ZwPrePrepareComplete +ntdll.dll!ZwPrePrepareEnlistment +ntdll.dll!ZwPrepareComplete +ntdll.dll!ZwPrepareEnlistment +ntdll.dll!ZwPrivilegeCheck +ntdll.dll!ZwPrivilegeObjectAuditAlarm +ntdll.dll!ZwPrivilegedServiceAuditAlarm +ntdll.dll!ZwPropagationComplete +ntdll.dll!ZwPropagationFailed +ntdll.dll!ZwProtectVirtualMemory +ntdll.dll!ZwPulseEvent +ntdll.dll!ZwQueryAttributesFile +ntdll.dll!ZwQueryBootEntryOrder +ntdll.dll!ZwQueryBootOptions +ntdll.dll!ZwQueryDebugFilterState +ntdll.dll!ZwQueryDefaultLocale +ntdll.dll!ZwQueryDefaultUILanguage +ntdll.dll!ZwQueryDirectoryFile +ntdll.dll!ZwQueryDirectoryObject +ntdll.dll!ZwQueryDriverEntryOrder +ntdll.dll!ZwQueryEaFile +ntdll.dll!ZwQueryEvent +ntdll.dll!ZwQueryFullAttributesFile +ntdll.dll!ZwQueryInformationAtom +ntdll.dll!ZwQueryInformationEnlistment +ntdll.dll!ZwQueryInformationFile +ntdll.dll!ZwQueryInformationJobObject +ntdll.dll!ZwQueryInformationPort +ntdll.dll!ZwQueryInformationProcess +ntdll.dll!ZwQueryInformationResourceManager +ntdll.dll!ZwQueryInformationThread +ntdll.dll!ZwQueryInformationToken +ntdll.dll!ZwQueryInformationTransaction +ntdll.dll!ZwQueryInformationTransactionManager +ntdll.dll!ZwQueryInformationWorkerFactory +ntdll.dll!ZwQueryInstallUILanguage +ntdll.dll!ZwQueryIntervalProfile +ntdll.dll!ZwQueryIoCompletion +ntdll.dll!ZwQueryKey +ntdll.dll!ZwQueryLicenseValue +ntdll.dll!ZwQueryMultipleValueKey +ntdll.dll!ZwQueryMutant +ntdll.dll!ZwQueryObject +ntdll.dll!ZwQueryOpenSubKeys +ntdll.dll!ZwQueryOpenSubKeysEx +ntdll.dll!ZwQueryPerformanceCounter +ntdll.dll!ZwQueryPortInformationProcess +ntdll.dll!ZwQueryQuotaInformationFile +ntdll.dll!ZwQuerySection +ntdll.dll!ZwQuerySecurityAttributesToken +ntdll.dll!ZwQuerySecurityObject +ntdll.dll!ZwQuerySemaphore +ntdll.dll!ZwQuerySymbolicLinkObject +ntdll.dll!ZwQuerySystemEnvironmentValue +ntdll.dll!ZwQuerySystemEnvironmentValueEx +ntdll.dll!ZwQuerySystemInformation +ntdll.dll!ZwQuerySystemInformationEx +ntdll.dll!ZwQuerySystemTime +ntdll.dll!ZwQueryTimer +ntdll.dll!ZwQueryTimerResolution +ntdll.dll!ZwQueryValueKey +ntdll.dll!ZwQueryVirtualMemory +ntdll.dll!ZwQueryVolumeInformationFile +ntdll.dll!ZwQueryWnfStateData +ntdll.dll!ZwQueryWnfStateNameInformation +ntdll.dll!ZwQueueApcThread +ntdll.dll!ZwQueueApcThreadEx +ntdll.dll!ZwRaiseException +ntdll.dll!ZwRaiseHardError +ntdll.dll!ZwReadFile +ntdll.dll!ZwReadFileScatter +ntdll.dll!ZwReadOnlyEnlistment +ntdll.dll!ZwReadRequestData +ntdll.dll!ZwReadVirtualMemory +ntdll.dll!ZwRecoverEnlistment +ntdll.dll!ZwRecoverResourceManager +ntdll.dll!ZwRecoverTransactionManager +ntdll.dll!ZwRegisterProtocolAddressInformation +ntdll.dll!ZwRegisterThreadTerminatePort +ntdll.dll!ZwReleaseKeyedEvent +ntdll.dll!ZwReleaseMutant +ntdll.dll!ZwReleaseSemaphore +ntdll.dll!ZwReleaseWorkerFactoryWorker +ntdll.dll!ZwRemoveIoCompletion +ntdll.dll!ZwRemoveIoCompletionEx +ntdll.dll!ZwRemoveProcessDebug +ntdll.dll!ZwRenameKey +ntdll.dll!ZwRenameTransactionManager +ntdll.dll!ZwReplaceKey +ntdll.dll!ZwReplacePartitionUnit +ntdll.dll!ZwReplyPort +ntdll.dll!ZwReplyWaitReceivePort +ntdll.dll!ZwReplyWaitReceivePortEx +ntdll.dll!ZwReplyWaitReplyPort +ntdll.dll!ZwRequestPort +ntdll.dll!ZwRequestWaitReplyPort +ntdll.dll!ZwResetEvent +ntdll.dll!ZwResetWriteWatch +ntdll.dll!ZwRestoreKey +ntdll.dll!ZwResumeProcess +ntdll.dll!ZwResumeThread +ntdll.dll!ZwRevertContainerImpersonation +ntdll.dll!ZwRollbackComplete +ntdll.dll!ZwRollbackEnlistment +ntdll.dll!ZwRollbackTransaction +ntdll.dll!ZwRollforwardTransactionManager +ntdll.dll!ZwSaveKey +ntdll.dll!ZwSaveKeyEx +ntdll.dll!ZwSaveMergedKeys +ntdll.dll!ZwSecureConnectPort +ntdll.dll!ZwSerializeBoot +ntdll.dll!ZwSetBootEntryOrder +ntdll.dll!ZwSetBootOptions +ntdll.dll!ZwSetCachedSigningLevel +ntdll.dll!ZwSetContextThread +ntdll.dll!ZwSetDebugFilterState +ntdll.dll!ZwSetDefaultHardErrorPort +ntdll.dll!ZwSetDefaultLocale +ntdll.dll!ZwSetDefaultUILanguage +ntdll.dll!ZwSetDriverEntryOrder +ntdll.dll!ZwSetEaFile +ntdll.dll!ZwSetEvent +ntdll.dll!ZwSetEventBoostPriority +ntdll.dll!ZwSetHighEventPair +ntdll.dll!ZwSetHighWaitLowEventPair +ntdll.dll!ZwSetIRTimer +ntdll.dll!ZwSetInformationDebugObject +ntdll.dll!ZwSetInformationEnlistment +ntdll.dll!ZwSetInformationFile +ntdll.dll!ZwSetInformationJobObject +ntdll.dll!ZwSetInformationKey +ntdll.dll!ZwSetInformationObject +ntdll.dll!ZwSetInformationProcess +ntdll.dll!ZwSetInformationResourceManager +ntdll.dll!ZwSetInformationSymbolicLink +ntdll.dll!ZwSetInformationThread +ntdll.dll!ZwSetInformationToken +ntdll.dll!ZwSetInformationTransaction +ntdll.dll!ZwSetInformationTransactionManager +ntdll.dll!ZwSetInformationVirtualMemory +ntdll.dll!ZwSetInformationWorkerFactory +ntdll.dll!ZwSetIntervalProfile +ntdll.dll!ZwSetIoCompletion +ntdll.dll!ZwSetIoCompletionEx +ntdll.dll!ZwSetLdtEntries +ntdll.dll!ZwSetLowEventPair +ntdll.dll!ZwSetLowWaitHighEventPair +ntdll.dll!ZwSetQuotaInformationFile +ntdll.dll!ZwSetSecurityObject +ntdll.dll!ZwSetSystemEnvironmentValue +ntdll.dll!ZwSetSystemEnvironmentValueEx +ntdll.dll!ZwSetSystemInformation +ntdll.dll!ZwSetSystemPowerState +ntdll.dll!ZwSetSystemTime +ntdll.dll!ZwSetThreadExecutionState +ntdll.dll!ZwSetTimer2 +ntdll.dll!ZwSetTimer +ntdll.dll!ZwSetTimerEx +ntdll.dll!ZwSetTimerResolution +ntdll.dll!ZwSetUuidSeed +ntdll.dll!ZwSetValueKey +ntdll.dll!ZwSetVolumeInformationFile +ntdll.dll!ZwSetWnfProcessNotificationEvent +ntdll.dll!ZwShutdownSystem +ntdll.dll!ZwShutdownWorkerFactory +ntdll.dll!ZwSignalAndWaitForSingleObject +ntdll.dll!ZwSinglePhaseReject +ntdll.dll!ZwStartProfile +ntdll.dll!ZwStopProfile +ntdll.dll!ZwSubscribeWnfStateChange +ntdll.dll!ZwSuspendProcess +ntdll.dll!ZwSuspendThread +ntdll.dll!ZwSystemDebugControl +ntdll.dll!ZwTerminateJobObject +ntdll.dll!ZwTerminateProcess +ntdll.dll!ZwTerminateThread +ntdll.dll!ZwTestAlert +ntdll.dll!ZwThawRegistry +ntdll.dll!ZwThawTransactions +ntdll.dll!ZwTraceControl +ntdll.dll!ZwTraceEvent +ntdll.dll!ZwTranslateFilePath +ntdll.dll!ZwUmsThreadYield +ntdll.dll!ZwUnloadDriver +ntdll.dll!ZwUnloadKey2 +ntdll.dll!ZwUnloadKey +ntdll.dll!ZwUnloadKeyEx +ntdll.dll!ZwUnlockFile +ntdll.dll!ZwUnlockVirtualMemory +ntdll.dll!ZwUnmapViewOfSection +ntdll.dll!ZwUnmapViewOfSectionEx +ntdll.dll!ZwUnsubscribeWnfStateChange +ntdll.dll!ZwUpdateWnfStateData +ntdll.dll!ZwVdmControl +ntdll.dll!ZwWaitForAlertByThreadId +ntdll.dll!ZwWaitForDebugEvent +ntdll.dll!ZwWaitForKeyedEvent +ntdll.dll!ZwWaitForMultipleObjects32 +ntdll.dll!ZwWaitForMultipleObjects +ntdll.dll!ZwWaitForSingleObject +ntdll.dll!ZwWaitForWorkViaWorkerFactory +ntdll.dll!ZwWaitHighEventPair +ntdll.dll!ZwWaitLowEventPair +ntdll.dll!ZwWorkerFactoryWorkerReady +ntdll.dll!ZwWriteFile +ntdll.dll!ZwWriteFileGather +ntdll.dll!ZwWriteRequestData +ntdll.dll!ZwWriteVirtualMemory +ntdll.dll!ZwYieldExecution +ntdll.dll!vDbgPrintEx +ntdll.dll!vDbgPrintExWithPrefix +AUTHZ.dll!AuthzAccessCheck +AUTHZ.dll!AuthzAddSidsToContext +AUTHZ.dll!AuthzCachedAccessCheck +AUTHZ.dll!AuthzEnumerateSecurityEventSources +AUTHZ.dll!AuthzEvaluateSacl +AUTHZ.dll!AuthzFreeAuditEvent +AUTHZ.dll!AuthzFreeCentralAccessPolicyCache +AUTHZ.dll!AuthzFreeContext +AUTHZ.dll!AuthzFreeHandle +AUTHZ.dll!AuthzFreeResourceManager +AUTHZ.dll!AuthzGetInformationFromContext +AUTHZ.dll!AuthziLogAuditEvent +AUTHZ.dll!AuthzInitializeCompoundContext +AUTHZ.dll!AuthzInitializeContextFromAuthzContext +AUTHZ.dll!AuthzInitializeContextFromSid +AUTHZ.dll!AuthzInitializeContextFromToken +AUTHZ.dll!AuthzInitializeObjectAccessAuditEvent +AUTHZ.dll!AuthzInitializeObjectAccessAuditEvent2 +AUTHZ.dll!AuthzInitializeRemoteAccessCheck +AUTHZ.dll!AuthzInitializeRemoteResourceManager +AUTHZ.dll!AuthzInitializeResourceManager +AUTHZ.dll!AuthzInitializeResourceManagerEx +AUTHZ.dll!AuthzInstallSecurityEventSource +AUTHZ.dll!AuthzModifyClaims +AUTHZ.dll!AuthzModifySecurityAttributes +AUTHZ.dll!AuthzModifySids +AUTHZ.dll!AuthzOpenObjectAudit +AUTHZ.dll!AuthzRegisterCapChangeNotification +AUTHZ.dll!AuthzRegisterSecurityEventSource +AUTHZ.dll!AuthzReportSecurityEvent +AUTHZ.dll!AuthzReportSecurityEventFromParams +AUTHZ.dll!AuthzSetAppContainerInformation +AUTHZ.dll!AuthzShutdownRemoteAccessCheck +AUTHZ.dll!AuthzUninstallSecurityEventSource +AUTHZ.dll!AuthzUnregisterCapChangeNotification +AUTHZ.dll!AuthzUnregisterSecurityEventSource +bcrypt.dll!BCryptAddContextFunction +bcrypt.dll!BCryptCloseAlgorithmProvider +bcrypt.dll!BCryptConfigureContext +bcrypt.dll!BCryptConfigureContextFunction +bcrypt.dll!BCryptCreateContext +bcrypt.dll!BCryptCreateHash +bcrypt.dll!BCryptCreateMultiHash +bcrypt.dll!BCryptDecrypt +bcrypt.dll!BCryptDeleteContext +bcrypt.dll!BCryptDeriveKey +bcrypt.dll!BCryptDeriveKeyCapi +bcrypt.dll!BCryptDeriveKeyPBKDF2 +bcrypt.dll!BCryptDestroyHash +bcrypt.dll!BCryptDestroyKey +bcrypt.dll!BCryptDestroySecret +bcrypt.dll!BCryptDuplicateHash +bcrypt.dll!BCryptDuplicateKey +bcrypt.dll!BCryptEncrypt +bcrypt.dll!BCryptEnumAlgorithms +bcrypt.dll!BCryptEnumContextFunctionProviders +bcrypt.dll!BCryptEnumContextFunctions +bcrypt.dll!BCryptEnumContexts +bcrypt.dll!BCryptEnumProviders +bcrypt.dll!BCryptEnumRegisteredProviders +bcrypt.dll!BCryptExportKey +bcrypt.dll!BCryptFinalizeKeyPair +bcrypt.dll!BCryptFinishHash +bcrypt.dll!BCryptFreeBuffer +bcrypt.dll!BCryptGenerateKeyPair +bcrypt.dll!BCryptGenerateSymmetricKey +bcrypt.dll!BCryptGenRandom +bcrypt.dll!BCryptGetFipsAlgorithmMode +bcrypt.dll!BCryptGetProperty +bcrypt.dll!BCryptHash +bcrypt.dll!BCryptHashData +bcrypt.dll!BCryptImportKey +bcrypt.dll!BCryptImportKeyPair +bcrypt.dll!BCryptKeyDerivation +bcrypt.dll!BCryptOpenAlgorithmProvider +bcrypt.dll!BCryptProcessMultiOperations +bcrypt.dll!BCryptQueryContextConfiguration +bcrypt.dll!BCryptQueryContextFunctionConfiguration +bcrypt.dll!BCryptQueryContextFunctionProperty +bcrypt.dll!BCryptQueryProviderRegistration +bcrypt.dll!BCryptRegisterConfigChangeNotify +bcrypt.dll!BCryptRemoveContextFunction +bcrypt.dll!BCryptResolveProviders +bcrypt.dll!BCryptSecretAgreement +bcrypt.dll!BCryptSetAuditingInterface +bcrypt.dll!BCryptSetContextFunctionProperty +bcrypt.dll!BCryptSetProperty +bcrypt.dll!BCryptSignHash +bcrypt.dll!BCryptUnregisterConfigChangeNotify +bcrypt.dll!BCryptVerifySignature +Cabinet.dll!CloseCompressor +Cabinet.dll!CloseDecompressor +Cabinet.dll!Compress +Cabinet.dll!CreateCompressor +Cabinet.dll!CreateDecompressor +Cabinet.dll!Decompress +Cabinet.dll!DeleteExtractedFiles +Cabinet.dll!DllGetVersion +Cabinet.dll!Extract +Cabinet.dll!FCIAddFile +Cabinet.dll!FCICreate +Cabinet.dll!FCIDestroy +Cabinet.dll!FCIFlushCabinet +Cabinet.dll!FCIFlushFolder +Cabinet.dll!FDICopy +Cabinet.dll!FDICreate +Cabinet.dll!FDIDestroy +Cabinet.dll!FDIIsCabinet +Cabinet.dll!FDITruncateCabinet +Cabinet.dll!GetDllVersion +Cabinet.dll!QueryCompressorInformation +Cabinet.dll!QueryDecompressorInformation +Cabinet.dll!ResetCompressor +Cabinet.dll!ResetDecompressor +Cabinet.dll!SetCompressorInformation +Cabinet.dll!SetDecompressorInformation +CFGMGR32.dll!CM_Add_Empty_Log_Conf +CFGMGR32.dll!CM_Add_Empty_Log_Conf_Ex +CFGMGR32.dll!CM_Add_ID_ExA +CFGMGR32.dll!CM_Add_ID_ExW +CFGMGR32.dll!CM_Add_IDA +CFGMGR32.dll!CM_Add_IDW +CFGMGR32.dll!CM_Add_Range +CFGMGR32.dll!CM_Add_Res_Des +CFGMGR32.dll!CM_Add_Res_Des_Ex +CFGMGR32.dll!CM_Connect_MachineA +CFGMGR32.dll!CM_Connect_MachineW +CFGMGR32.dll!CM_Create_DevNode_ExA +CFGMGR32.dll!CM_Create_DevNode_ExW +CFGMGR32.dll!CM_Create_DevNodeA +CFGMGR32.dll!CM_Create_DevNodeW +CFGMGR32.dll!CM_Create_Range_List +CFGMGR32.dll!CM_Delete_Class_Key_Ex +CFGMGR32.dll!CM_Delete_Device_Interface_Key_ExA +CFGMGR32.dll!CM_Delete_Device_Interface_Key_ExW +CFGMGR32.dll!CM_Delete_Device_Interface_KeyA +CFGMGR32.dll!CM_Delete_DevNode_Key_Ex +CFGMGR32.dll!CM_Delete_Range +CFGMGR32.dll!CM_Detect_Resource_Conflict +CFGMGR32.dll!CM_Detect_Resource_Conflict_Ex +CFGMGR32.dll!CM_Disable_DevNode_Ex +CFGMGR32.dll!CM_Disconnect_Machine +CFGMGR32.dll!CM_Dup_Range_List +CFGMGR32.dll!CM_Enable_DevNode_Ex +CFGMGR32.dll!CM_Enumerate_Classes +CFGMGR32.dll!CM_Enumerate_Classes_Ex +CFGMGR32.dll!CM_Enumerate_Enumerators_ExA +CFGMGR32.dll!CM_Enumerate_Enumerators_ExW +CFGMGR32.dll!CM_Enumerate_EnumeratorsA +CFGMGR32.dll!CM_Enumerate_EnumeratorsW +CFGMGR32.dll!CM_Find_Range +CFGMGR32.dll!CM_First_Range +CFGMGR32.dll!CM_Free_Log_Conf +CFGMGR32.dll!CM_Free_Log_Conf_Ex +CFGMGR32.dll!CM_Free_Log_Conf_Handle +CFGMGR32.dll!CM_Free_Range_List +CFGMGR32.dll!CM_Free_Res_Des +CFGMGR32.dll!CM_Free_Res_Des_Ex +CFGMGR32.dll!CM_Free_Res_Des_Handle +CFGMGR32.dll!CM_Free_Resource_Conflict_Handle +CFGMGR32.dll!CM_Get_Child_Ex +CFGMGR32.dll!CM_Get_Class_Key_Name_ExA +CFGMGR32.dll!CM_Get_Class_Key_Name_ExW +CFGMGR32.dll!CM_Get_Class_Key_NameA +CFGMGR32.dll!CM_Get_Class_Key_NameW +CFGMGR32.dll!CM_Get_Class_Name_ExA +CFGMGR32.dll!CM_Get_Class_Name_ExW +CFGMGR32.dll!CM_Get_Class_NameA +CFGMGR32.dll!CM_Get_Class_NameW +CFGMGR32.dll!CM_Get_Class_Property_ExW +CFGMGR32.dll!CM_Get_Class_Property_Keys_Ex +CFGMGR32.dll!CM_Get_Class_Registry_PropertyA +CFGMGR32.dll!CM_Get_Depth_Ex +CFGMGR32.dll!CM_Get_Device_ID_ExA +CFGMGR32.dll!CM_Get_Device_ID_ExW +CFGMGR32.dll!CM_Get_Device_ID_List_ExA +CFGMGR32.dll!CM_Get_Device_ID_List_ExW +CFGMGR32.dll!CM_Get_Device_ID_List_Size_ExA +CFGMGR32.dll!CM_Get_Device_ID_List_Size_ExW +CFGMGR32.dll!CM_Get_Device_ID_List_SizeA +CFGMGR32.dll!CM_Get_Device_ID_ListA +CFGMGR32.dll!CM_Get_Device_ID_Size_Ex +CFGMGR32.dll!CM_Get_Device_IDA +CFGMGR32.dll!CM_Get_Device_Interface_Alias_ExA +CFGMGR32.dll!CM_Get_Device_Interface_Alias_ExW +CFGMGR32.dll!CM_Get_Device_Interface_AliasA +CFGMGR32.dll!CM_Get_Device_Interface_AliasW +CFGMGR32.dll!CM_Get_Device_Interface_List_ExA +CFGMGR32.dll!CM_Get_Device_Interface_List_ExW +CFGMGR32.dll!CM_Get_Device_Interface_List_Size_ExA +CFGMGR32.dll!CM_Get_Device_Interface_List_Size_ExW +CFGMGR32.dll!CM_Get_Device_Interface_List_SizeA +CFGMGR32.dll!CM_Get_Device_Interface_ListA +CFGMGR32.dll!CM_Get_Device_Interface_Property_ExW +CFGMGR32.dll!CM_Get_Device_Interface_Property_Keys_ExW +CFGMGR32.dll!CM_Get_DevNode_Custom_Property_ExA +CFGMGR32.dll!CM_Get_DevNode_Custom_Property_ExW +CFGMGR32.dll!CM_Get_DevNode_Custom_PropertyA +CFGMGR32.dll!CM_Get_DevNode_Custom_PropertyW +CFGMGR32.dll!CM_Get_DevNode_Property_ExW +CFGMGR32.dll!CM_Get_DevNode_Property_Keys_Ex +CFGMGR32.dll!CM_Get_DevNode_Registry_Property_ExA +CFGMGR32.dll!CM_Get_DevNode_Registry_Property_ExW +CFGMGR32.dll!CM_Get_DevNode_Registry_PropertyA +CFGMGR32.dll!CM_Get_DevNode_Status_Ex +CFGMGR32.dll!CM_Get_First_Log_Conf +CFGMGR32.dll!CM_Get_First_Log_Conf_Ex +CFGMGR32.dll!CM_Get_Global_State +CFGMGR32.dll!CM_Get_Global_State_Ex +CFGMGR32.dll!CM_Get_Hardware_Profile_Info_ExA +CFGMGR32.dll!CM_Get_Hardware_Profile_Info_ExW +CFGMGR32.dll!CM_Get_Hardware_Profile_InfoA +CFGMGR32.dll!CM_Get_Hardware_Profile_InfoW +CFGMGR32.dll!CM_Get_HW_Prof_Flags_ExA +CFGMGR32.dll!CM_Get_HW_Prof_Flags_ExW +CFGMGR32.dll!CM_Get_HW_Prof_FlagsA +CFGMGR32.dll!CM_Get_HW_Prof_FlagsW +CFGMGR32.dll!CM_Get_Log_Conf_Priority +CFGMGR32.dll!CM_Get_Log_Conf_Priority_Ex +CFGMGR32.dll!CM_Get_Next_Log_Conf +CFGMGR32.dll!CM_Get_Next_Log_Conf_Ex +CFGMGR32.dll!CM_Get_Next_Res_Des +CFGMGR32.dll!CM_Get_Next_Res_Des_Ex +CFGMGR32.dll!CM_Get_Parent_Ex +CFGMGR32.dll!CM_Get_Res_Des_Data +CFGMGR32.dll!CM_Get_Res_Des_Data_Ex +CFGMGR32.dll!CM_Get_Res_Des_Data_Size +CFGMGR32.dll!CM_Get_Res_Des_Data_Size_Ex +CFGMGR32.dll!CM_Get_Resource_Conflict_Count +CFGMGR32.dll!CM_Get_Resource_Conflict_DetailsA +CFGMGR32.dll!CM_Get_Resource_Conflict_DetailsW +CFGMGR32.dll!CM_Get_Sibling_Ex +CFGMGR32.dll!CM_Get_Version +CFGMGR32.dll!CM_Get_Version_Ex +CFGMGR32.dll!CM_Intersect_Range_List +CFGMGR32.dll!CM_Invert_Range_List +CFGMGR32.dll!CM_Is_Dock_Station_Present +CFGMGR32.dll!CM_Is_Dock_Station_Present_Ex +CFGMGR32.dll!CM_Is_Version_Available +CFGMGR32.dll!CM_Is_Version_Available_Ex +CFGMGR32.dll!CM_Locate_DevNode_ExA +CFGMGR32.dll!CM_Locate_DevNode_ExW +CFGMGR32.dll!CM_Locate_DevNodeA +CFGMGR32.dll!CM_Merge_Range_List +CFGMGR32.dll!CM_Modify_Res_Des +CFGMGR32.dll!CM_Modify_Res_Des_Ex +CFGMGR32.dll!CM_Move_DevNode +CFGMGR32.dll!CM_Move_DevNode_Ex +CFGMGR32.dll!CM_Next_Range +CFGMGR32.dll!CM_Open_Class_Key_ExA +CFGMGR32.dll!CM_Open_Class_Key_ExW +CFGMGR32.dll!CM_Open_Class_KeyA +CFGMGR32.dll!CM_Open_Device_Interface_Key_ExA +CFGMGR32.dll!CM_Open_Device_Interface_Key_ExW +CFGMGR32.dll!CM_Open_Device_Interface_KeyA +CFGMGR32.dll!CM_Open_DevNode_Key_Ex +CFGMGR32.dll!CM_Query_And_Remove_SubTree_ExA +CFGMGR32.dll!CM_Query_And_Remove_SubTree_ExW +CFGMGR32.dll!CM_Query_And_Remove_SubTreeA +CFGMGR32.dll!CM_Query_Arbitrator_Free_Data +CFGMGR32.dll!CM_Query_Arbitrator_Free_Data_Ex +CFGMGR32.dll!CM_Query_Arbitrator_Free_Size +CFGMGR32.dll!CM_Query_Arbitrator_Free_Size_Ex +CFGMGR32.dll!CM_Query_Remove_SubTree +CFGMGR32.dll!CM_Query_Remove_SubTree_Ex +CFGMGR32.dll!CM_Query_Resource_Conflict_List +CFGMGR32.dll!CM_Reenumerate_DevNode +CFGMGR32.dll!CM_Reenumerate_DevNode_Ex +CFGMGR32.dll!CM_Register_Device_Driver +CFGMGR32.dll!CM_Register_Device_Driver_Ex +CFGMGR32.dll!CM_Register_Device_Interface_ExA +CFGMGR32.dll!CM_Register_Device_Interface_ExW +CFGMGR32.dll!CM_Register_Device_InterfaceA +CFGMGR32.dll!CM_Register_Device_InterfaceW +CFGMGR32.dll!CM_Remove_SubTree +CFGMGR32.dll!CM_Remove_SubTree_Ex +CFGMGR32.dll!CM_Request_Device_Eject_ExA +CFGMGR32.dll!CM_Request_Device_Eject_ExW +CFGMGR32.dll!CM_Request_Device_EjectA +CFGMGR32.dll!CM_Request_Device_EjectW +CFGMGR32.dll!CM_Request_Eject_PC +CFGMGR32.dll!CM_Request_Eject_PC_Ex +CFGMGR32.dll!CM_Run_Detection +CFGMGR32.dll!CM_Run_Detection_Ex +CFGMGR32.dll!CM_Set_Class_Property_ExW +CFGMGR32.dll!CM_Set_Class_Registry_PropertyA +CFGMGR32.dll!CM_Set_Device_Interface_Property_ExW +CFGMGR32.dll!CM_Set_DevNode_Problem +CFGMGR32.dll!CM_Set_DevNode_Problem_Ex +CFGMGR32.dll!CM_Set_DevNode_Property_ExW +CFGMGR32.dll!CM_Set_DevNode_Registry_Property_ExA +CFGMGR32.dll!CM_Set_DevNode_Registry_Property_ExW +CFGMGR32.dll!CM_Set_DevNode_Registry_PropertyA +CFGMGR32.dll!CM_Set_HW_Prof +CFGMGR32.dll!CM_Set_HW_Prof_Ex +CFGMGR32.dll!CM_Set_HW_Prof_Flags_ExA +CFGMGR32.dll!CM_Set_HW_Prof_Flags_ExW +CFGMGR32.dll!CM_Set_HW_Prof_FlagsA +CFGMGR32.dll!CM_Set_HW_Prof_FlagsW +CFGMGR32.dll!CM_Setup_DevNode_Ex +CFGMGR32.dll!CM_Test_Range_Available +CFGMGR32.dll!CM_Uninstall_DevNode_Ex +CFGMGR32.dll!CM_Unregister_Device_Interface_ExA +CFGMGR32.dll!CM_Unregister_Device_Interface_ExW +CFGMGR32.dll!CM_Unregister_Device_InterfaceA +CFGMGR32.dll!CM_Unregister_Device_InterfaceW +CFGMGR32.dll!CMP_GetServerSideDeviceInstallFlags +CFGMGR32.dll!CMP_WaitNoPendingInstallEvents +CRYPT32.dll!CertAddCertificateContextToStore +CRYPT32.dll!CertAddCertificateLinkToStore +CRYPT32.dll!CertAddCRLContextToStore +CRYPT32.dll!CertAddCRLLinkToStore +CRYPT32.dll!CertAddCTLContextToStore +CRYPT32.dll!CertAddCTLLinkToStore +CRYPT32.dll!CertAddEncodedCertificateToStore +CRYPT32.dll!CertAddEncodedCertificateToSystemStoreA +CRYPT32.dll!CertAddEncodedCertificateToSystemStoreW +CRYPT32.dll!CertAddEncodedCRLToStore +CRYPT32.dll!CertAddEncodedCTLToStore +CRYPT32.dll!CertAddEnhancedKeyUsageIdentifier +CRYPT32.dll!CertAddRefServerOcspResponse +CRYPT32.dll!CertAddRefServerOcspResponseContext +CRYPT32.dll!CertAddSerializedElementToStore +CRYPT32.dll!CertAddStoreToCollection +CRYPT32.dll!CertAlgIdToOID +CRYPT32.dll!CertCloseServerOcspResponse +CRYPT32.dll!CertCloseStore +CRYPT32.dll!CertCompareCertificate +CRYPT32.dll!CertCompareCertificateName +CRYPT32.dll!CertCompareIntegerBlob +CRYPT32.dll!CertComparePublicKeyInfo +CRYPT32.dll!CertControlStore +CRYPT32.dll!CertCreateCertificateChainEngine +CRYPT32.dll!CertCreateCertificateContext +CRYPT32.dll!CertCreateContext +CRYPT32.dll!CertCreateCRLContext +CRYPT32.dll!CertCreateCTLContext +CRYPT32.dll!CertCreateCTLEntryFromCertificateContextProperties +CRYPT32.dll!CertCreateSelfSignCertificate +CRYPT32.dll!CertDeleteCertificateFromStore +CRYPT32.dll!CertDeleteCRLFromStore +CRYPT32.dll!CertDeleteCTLFromStore +CRYPT32.dll!CertDuplicateCertificateChain +CRYPT32.dll!CertDuplicateCertificateContext +CRYPT32.dll!CertDuplicateCRLContext +CRYPT32.dll!CertDuplicateCTLContext +CRYPT32.dll!CertDuplicateStore +CRYPT32.dll!CertEnumCertificateContextProperties +CRYPT32.dll!CertEnumCertificatesInStore +CRYPT32.dll!CertEnumCRLContextProperties +CRYPT32.dll!CertEnumCRLsInStore +CRYPT32.dll!CertEnumCTLContextProperties +CRYPT32.dll!CertEnumCTLsInStore +CRYPT32.dll!CertEnumPhysicalStore +CRYPT32.dll!CertEnumSubjectInSortedCTL +CRYPT32.dll!CertEnumSystemStore +CRYPT32.dll!CertEnumSystemStoreLocation +CRYPT32.dll!CertFindAttribute +CRYPT32.dll!CertFindCertificateInCRL +CRYPT32.dll!CertFindCertificateInStore +CRYPT32.dll!CertFindChainInStore +CRYPT32.dll!CertFindCRLInStore +CRYPT32.dll!CertFindCTLInStore +CRYPT32.dll!CertFindExtension +CRYPT32.dll!CertFindRDNAttr +CRYPT32.dll!CertFindSubjectInCTL +CRYPT32.dll!CertFindSubjectInSortedCTL +CRYPT32.dll!CertFreeCertificateChain +CRYPT32.dll!CertFreeCertificateChainEngine +CRYPT32.dll!CertFreeCertificateChainList +CRYPT32.dll!CertFreeCertificateContext +CRYPT32.dll!CertFreeCRLContext +CRYPT32.dll!CertFreeCTLContext +CRYPT32.dll!CertFreeServerOcspResponseContext +CRYPT32.dll!CertGetCertificateChain +CRYPT32.dll!CertGetCertificateContextProperty +CRYPT32.dll!CertGetCRLContextProperty +CRYPT32.dll!CertGetCRLFromStore +CRYPT32.dll!CertGetCTLContextProperty +CRYPT32.dll!CertGetEnhancedKeyUsage +CRYPT32.dll!CertGetIntendedKeyUsage +CRYPT32.dll!CertGetIssuerCertificateFromStore +CRYPT32.dll!CertGetNameStringA +CRYPT32.dll!CertGetNameStringW +CRYPT32.dll!CertGetPublicKeyLength +CRYPT32.dll!CertGetServerOcspResponseContext +CRYPT32.dll!CertGetStoreProperty +CRYPT32.dll!CertGetSubjectCertificateFromStore +CRYPT32.dll!CertGetValidUsages +CRYPT32.dll!CertIsRDNAttrsInCertificateName +CRYPT32.dll!CertIsStrongHashToSign +CRYPT32.dll!CertIsValidCRLForCertificate +CRYPT32.dll!CertIsWeakHash +CRYPT32.dll!CertNameToStrA +CRYPT32.dll!CertNameToStrW +CRYPT32.dll!CertOIDToAlgId +CRYPT32.dll!CertOpenServerOcspResponse +CRYPT32.dll!CertOpenStore +CRYPT32.dll!CertOpenSystemStoreA +CRYPT32.dll!CertOpenSystemStoreW +CRYPT32.dll!CertRDNValueToStrA +CRYPT32.dll!CertRDNValueToStrW +CRYPT32.dll!CertRegisterPhysicalStore +CRYPT32.dll!CertRegisterSystemStore +CRYPT32.dll!CertRemoveEnhancedKeyUsageIdentifier +CRYPT32.dll!CertRemoveStoreFromCollection +CRYPT32.dll!CertResyncCertificateChainEngine +CRYPT32.dll!CertRetrieveLogoOrBiometricInfo +CRYPT32.dll!CertSaveStore +CRYPT32.dll!CertSelectCertificateChains +CRYPT32.dll!CertSerializeCertificateStoreElement +CRYPT32.dll!CertSerializeCRLStoreElement +CRYPT32.dll!CertSerializeCTLStoreElement +CRYPT32.dll!CertSetCertificateContextPropertiesFromCTLEntry +CRYPT32.dll!CertSetCertificateContextProperty +CRYPT32.dll!CertSetCRLContextProperty +CRYPT32.dll!CertSetCTLContextProperty +CRYPT32.dll!CertSetEnhancedKeyUsage +CRYPT32.dll!CertSetStoreProperty +CRYPT32.dll!CertStrToNameA +CRYPT32.dll!CertStrToNameW +CRYPT32.dll!CertUnregisterPhysicalStore +CRYPT32.dll!CertUnregisterSystemStore +CRYPT32.dll!CertVerifyCertificateChainPolicy +CRYPT32.dll!CertVerifyCRLRevocation +CRYPT32.dll!CertVerifyCRLTimeValidity +CRYPT32.dll!CertVerifyCTLUsage +CRYPT32.dll!CertVerifyRevocation +CRYPT32.dll!CertVerifySubjectCertificateContext +CRYPT32.dll!CertVerifyTimeValidity +CRYPT32.dll!CertVerifyValidityNesting +CRYPT32.dll!CryptAcquireCertificatePrivateKey +CRYPT32.dll!CryptBinaryToStringA +CRYPT32.dll!CryptBinaryToStringW +CRYPT32.dll!CryptCloseAsyncHandle +CRYPT32.dll!CryptCreateAsyncHandle +CRYPT32.dll!CryptCreateKeyIdentifierFromCSP +CRYPT32.dll!CryptDecodeMessage +CRYPT32.dll!CryptDecodeObject +CRYPT32.dll!CryptDecodeObjectEx +CRYPT32.dll!CryptDecryptAndVerifyMessageSignature +CRYPT32.dll!CryptDecryptMessage +CRYPT32.dll!CryptEncodeObject +CRYPT32.dll!CryptEncodeObjectEx +CRYPT32.dll!CryptEncryptMessage +CRYPT32.dll!CryptEnumKeyIdentifierProperties +CRYPT32.dll!CryptEnumOIDFunction +CRYPT32.dll!CryptEnumOIDInfo +CRYPT32.dll!CryptExportPKCS8 +CRYPT32.dll!CryptExportPublicKeyInfo +CRYPT32.dll!CryptExportPublicKeyInfoEx +CRYPT32.dll!CryptExportPublicKeyInfoFromBCryptKeyHandle +CRYPT32.dll!CryptFindCertificateKeyProvInfo +CRYPT32.dll!CryptFindLocalizedName +CRYPT32.dll!CryptFindOIDInfo +CRYPT32.dll!CryptFormatObject +CRYPT32.dll!CryptFreeOIDFunctionAddress +CRYPT32.dll!CryptGetAsyncParam +CRYPT32.dll!CryptGetDefaultOIDDllList +CRYPT32.dll!CryptGetDefaultOIDFunctionAddress +CRYPT32.dll!CryptGetKeyIdentifierProperty +CRYPT32.dll!CryptGetMessageCertificates +CRYPT32.dll!CryptGetMessageSignerCount +CRYPT32.dll!CryptGetOIDFunctionAddress +CRYPT32.dll!CryptGetOIDFunctionValue +CRYPT32.dll!CryptHashCertificate +CRYPT32.dll!CryptHashCertificate2 +CRYPT32.dll!CryptHashMessage +CRYPT32.dll!CryptHashPublicKeyInfo +CRYPT32.dll!CryptHashToBeSigned +CRYPT32.dll!CryptImportPKCS8 +CRYPT32.dll!CryptImportPublicKeyInfo +CRYPT32.dll!CryptImportPublicKeyInfoEx +CRYPT32.dll!CryptImportPublicKeyInfoEx2 +CRYPT32.dll!CryptInitOIDFunctionSet +CRYPT32.dll!CryptInstallDefaultContext +CRYPT32.dll!CryptInstallOIDFunctionAddress +CRYPT32.dll!CryptLoadSip +CRYPT32.dll!CryptMemAlloc +CRYPT32.dll!CryptMemFree +CRYPT32.dll!CryptMemRealloc +CRYPT32.dll!CryptMsgCalculateEncodedLength +CRYPT32.dll!CryptMsgClose +CRYPT32.dll!CryptMsgControl +CRYPT32.dll!CryptMsgCountersign +CRYPT32.dll!CryptMsgCountersignEncoded +CRYPT32.dll!CryptMsgDuplicate +CRYPT32.dll!CryptMsgEncodeAndSignCTL +CRYPT32.dll!CryptMsgGetAndVerifySigner +CRYPT32.dll!CryptMsgGetParam +CRYPT32.dll!CryptMsgOpenToDecode +CRYPT32.dll!CryptMsgOpenToEncode +CRYPT32.dll!CryptMsgSignCTL +CRYPT32.dll!CryptMsgUpdate +CRYPT32.dll!CryptMsgVerifyCountersignatureEncoded +CRYPT32.dll!CryptMsgVerifyCountersignatureEncodedEx +CRYPT32.dll!CryptProtectData +CRYPT32.dll!CryptProtectMemory +CRYPT32.dll!CryptQueryObject +CRYPT32.dll!CryptRegisterDefaultOIDFunction +CRYPT32.dll!CryptRegisterOIDFunction +CRYPT32.dll!CryptRegisterOIDInfo +CRYPT32.dll!CryptRetrieveTimeStamp +CRYPT32.dll!CryptSetAsyncParam +CRYPT32.dll!CryptSetKeyIdentifierProperty +CRYPT32.dll!CryptSetOIDFunctionValue +CRYPT32.dll!CryptSignAndEncodeCertificate +CRYPT32.dll!CryptSignAndEncryptMessage +CRYPT32.dll!CryptSignCertificate +CRYPT32.dll!CryptSignMessage +CRYPT32.dll!CryptSignMessageWithKey +CRYPT32.dll!CryptSIPAddProvider +CRYPT32.dll!CryptSIPCreateIndirectData +CRYPT32.dll!CryptSIPGetCaps +CRYPT32.dll!CryptSIPGetSealedDigest +CRYPT32.dll!CryptSIPGetSignedDataMsg +CRYPT32.dll!CryptSIPLoad +CRYPT32.dll!CryptSIPPutSignedDataMsg +CRYPT32.dll!CryptSIPRemoveProvider +CRYPT32.dll!CryptSIPRemoveSignedDataMsg +CRYPT32.dll!CryptSIPRetrieveSubjectGuid +CRYPT32.dll!CryptSIPRetrieveSubjectGuidForCatalogFile +CRYPT32.dll!CryptSIPVerifyIndirectData +CRYPT32.dll!CryptStringToBinaryA +CRYPT32.dll!CryptStringToBinaryW +CRYPT32.dll!CryptUninstallDefaultContext +CRYPT32.dll!CryptUnprotectData +CRYPT32.dll!CryptUnprotectMemory +CRYPT32.dll!CryptUnregisterDefaultOIDFunction +CRYPT32.dll!CryptUnregisterOIDFunction +CRYPT32.dll!CryptUnregisterOIDInfo +CRYPT32.dll!CryptUpdateProtectedState +CRYPT32.dll!CryptVerifyCertificateSignature +CRYPT32.dll!CryptVerifyCertificateSignatureEx +CRYPT32.dll!CryptVerifyDetachedMessageHash +CRYPT32.dll!CryptVerifyDetachedMessageSignature +CRYPT32.dll!CryptVerifyMessageHash +CRYPT32.dll!CryptVerifyMessageSignature +CRYPT32.dll!CryptVerifyMessageSignatureWithKey +CRYPT32.dll!CryptVerifyTimeStampSignature +CRYPT32.dll!DbgInitOSS +CRYPT32.dll!DbgPrintf +CRYPT32.dll!PFXExportCertStore +CRYPT32.dll!PFXExportCertStore2 +CRYPT32.dll!PFXExportCertStoreEx +CRYPT32.dll!PFXImportCertStore +CRYPT32.dll!PFXIsPFXBlob +CRYPT32.dll!PFXVerifyPassword +CRYPTBASE.dll!SystemFunction001 +CRYPTBASE.dll!SystemFunction002 +CRYPTBASE.dll!SystemFunction003 +CRYPTBASE.dll!SystemFunction004 +CRYPTBASE.dll!SystemFunction005 +CRYPTBASE.dll!SystemFunction028 +CRYPTBASE.dll!SystemFunction029 +CRYPTBASE.dll!SystemFunction034 +cryptdll.dll!aesCTSDecryptMsg +cryptdll.dll!aesCTSEncryptMsg +cryptdll.dll!CDBuildIntegrityVect +cryptdll.dll!CDBuildVect +cryptdll.dll!CDFindCommonCSystem +cryptdll.dll!CDFindCommonCSystemWithKey +cryptdll.dll!CDGenerateRandomBits +cryptdll.dll!CDGetIntegrityVect +cryptdll.dll!CDLocateCheckSum +cryptdll.dll!CDLocateCSystem +cryptdll.dll!CDLocateRng +cryptdll.dll!CDRegisterCheckSum +cryptdll.dll!CDRegisterCSystem +cryptdll.dll!CDRegisterRng +cryptdll.dll!HMACwithSHA +cryptdll.dll!KRBFXCF2 +cryptdll.dll!MD5Final +cryptdll.dll!MD5Init +cryptdll.dll!MD5Update +cryptdll.dll!PBKDF2 +CRYPTNET.dll!CryptGetObjectUrl +CRYPTNET.dll!CryptInstallCancelRetrieval +CRYPTNET.dll!CryptRetrieveObjectByUrlA +CRYPTNET.dll!CryptRetrieveObjectByUrlW +CRYPTNET.dll!CryptUninstallCancelRetrieval +DNSAPI.dll!AdaptiveTimeout_ClearInterfaceSpecificConfiguration +DNSAPI.dll!AdaptiveTimeout_ResetAdaptiveTimeout +DNSAPI.dll!AddRefQueryBlobEx +DNSAPI.dll!BreakRecordsIntoBlob +DNSAPI.dll!Coalesce_UpdateNetVersion +DNSAPI.dll!CombineRecordsInBlob +DNSAPI.dll!DelaySortDAServerlist +DNSAPI.dll!DeRefQueryBlobEx +DNSAPI.dll!Dns_AddRecordsToMessage +DNSAPI.dll!Dns_AllocateMsgBuf +DNSAPI.dll!Dns_BuildPacket +DNSAPI.dll!Dns_CacheServiceCleanup +DNSAPI.dll!Dns_CacheServiceInit +DNSAPI.dll!Dns_CacheServiceStopIssued +DNSAPI.dll!Dns_CleanupWinsock +DNSAPI.dll!Dns_CloseConnection +DNSAPI.dll!Dns_CloseSocket +DNSAPI.dll!Dns_CreateMulticastSocket +DNSAPI.dll!Dns_CreateSocket +DNSAPI.dll!Dns_CreateSocketEx +DNSAPI.dll!Dns_ExtractRecordsFromMessage +DNSAPI.dll!Dns_FindAuthoritativeZoneLib +DNSAPI.dll!Dns_FreeMsgBuf +DNSAPI.dll!Dns_GetRandomXid +DNSAPI.dll!Dns_InitializeMsgBuf +DNSAPI.dll!Dns_InitializeMsgRemoteSockaddr +DNSAPI.dll!Dns_InitializeWinsock +DNSAPI.dll!Dns_OpenTcpConnectionAndSend +DNSAPI.dll!Dns_ParseMessage +DNSAPI.dll!Dns_ParsePacketRecord +DNSAPI.dll!Dns_PingAdapterServers +DNSAPI.dll!Dns_ReadPacketName +DNSAPI.dll!Dns_ReadPacketNameAllocate +DNSAPI.dll!Dns_ReadRecordStructureFromPacket +DNSAPI.dll!Dns_RecvTcp +DNSAPI.dll!Dns_ResetNetworkInfo +DNSAPI.dll!Dns_SendAndRecvUdp +DNSAPI.dll!Dns_SendEx +DNSAPI.dll!Dns_SetRecordDatalength +DNSAPI.dll!Dns_SetRecordsSection +DNSAPI.dll!Dns_SetRecordsTtl +DNSAPI.dll!Dns_SkipPacketName +DNSAPI.dll!Dns_SkipToRecord +DNSAPI.dll!Dns_UpdateLib +DNSAPI.dll!Dns_UpdateLibEx +DNSAPI.dll!Dns_WriteDottedNameToPacket +DNSAPI.dll!Dns_WriteQuestionToMessage +DNSAPI.dll!Dns_WriteRecordStructureToPacketEx +DNSAPI.dll!DnsAcquireContextHandle_A +DNSAPI.dll!DnsAcquireContextHandle_W +DNSAPI.dll!DnsAllocateRecord +DNSAPI.dll!DnsApiAlloc +DNSAPI.dll!DnsApiAllocZero +DNSAPI.dll!DnsApiFree +DNSAPI.dll!DnsApiHeapReset +DNSAPI.dll!DnsApiRealloc +DNSAPI.dll!DnsApiSetDebugGlobals +DNSAPI.dll!DnsAsyncRegisterHostAddrs +DNSAPI.dll!DnsAsyncRegisterInit +DNSAPI.dll!DnsAsyncRegisterTerm +DNSAPI.dll!DnsCancelQuery +DNSAPI.dll!DnsCopyStringEx +DNSAPI.dll!DnsCreateReverseNameStringForIpAddress +DNSAPI.dll!DnsCreateStandardDnsNameCopy +DNSAPI.dll!DnsCreateStringCopy +DNSAPI.dll!DnsDeRegisterLocal +DNSAPI.dll!DnsDhcpRegisterAddrs +DNSAPI.dll!DnsDhcpRegisterHostAddrs +DNSAPI.dll!DnsDhcpRegisterInit +DNSAPI.dll!DnsDhcpRegisterTerm +DNSAPI.dll!DnsDhcpRemoveRegistrations +DNSAPI.dll!DnsDhcpSrvRegisterHostAddr +DNSAPI.dll!DnsDhcpSrvRegisterHostAddrEx +DNSAPI.dll!DnsDhcpSrvRegisterHostName +DNSAPI.dll!DnsDhcpSrvRegisterHostNameEx +DNSAPI.dll!DnsDhcpSrvRegisterInit +DNSAPI.dll!DnsDhcpSrvRegisterInitialize +DNSAPI.dll!DnsDhcpSrvRegisterTerm +DNSAPI.dll!DnsDisableIdnEncoding +DNSAPI.dll!DnsDowncaseDnsNameLabel +DNSAPI.dll!DnsExtractRecordsFromMessage_UTF8 +DNSAPI.dll!DnsExtractRecordsFromMessage_W +DNSAPI.dll!DnsFindAuthoritativeZone +DNSAPI.dll!DnsFlushResolverCache +DNSAPI.dll!DnsFlushResolverCacheEntry_A +DNSAPI.dll!DnsFlushResolverCacheEntry_UTF8 +DNSAPI.dll!DnsFlushResolverCacheEntry_W +DNSAPI.dll!DnsFree +DNSAPI.dll!DnsFreeConfigStructure +DNSAPI.dll!DnsFreePolicyConfig +DNSAPI.dll!DnsFreeProxyName +DNSAPI.dll!DnsGetBufferLengthForStringCopy +DNSAPI.dll!DnsGetCacheDataTable +DNSAPI.dll!DnsGetDnsServerList +DNSAPI.dll!DnsGetDomainName +DNSAPI.dll!DnsGetLastFailedUpdateInfo +DNSAPI.dll!DnsGetPolicyTableInfo +DNSAPI.dll!DnsGetPolicyTableInfoPrivate +DNSAPI.dll!DnsGetPrimaryDomainName_A +DNSAPI.dll!DnsGetProxyInfoPrivate +DNSAPI.dll!DnsGetProxyInformation +DNSAPI.dll!DnsGetQueryRetryTimeouts +DNSAPI.dll!DnsGlobals +DNSAPI.dll!DnsIpv6AddressToString +DNSAPI.dll!DnsIpv6StringToAddress +DNSAPI.dll!DnsIsAMailboxType +DNSAPI.dll!DnsIsNSECType +DNSAPI.dll!DnsIsStatusRcode +DNSAPI.dll!DnsIsStringCountValidForTextType +DNSAPI.dll!DnsLogEvent +DNSAPI.dll!DnsMapRcodeToStatus +DNSAPI.dll!DnsModifyRecordsInSet_A +DNSAPI.dll!DnsModifyRecordsInSet_UTF8 +DNSAPI.dll!DnsModifyRecordsInSet_W +DNSAPI.dll!DnsNameCompare_A +DNSAPI.dll!DnsNameCompare_UTF8 +DNSAPI.dll!DnsNameCompare_W +DNSAPI.dll!DnsNameCompareEx_A +DNSAPI.dll!DnsNameCompareEx_UTF8 +DNSAPI.dll!DnsNameCompareEx_W +DNSAPI.dll!DnsNameCopy +DNSAPI.dll!DnsNameCopyAllocate +DNSAPI.dll!DnsNetworkInfo_CreateFromFAZ +DNSAPI.dll!DnsNetworkInformation_CreateFromFAZ +DNSAPI.dll!DnsNotifyResolver +DNSAPI.dll!DnsNotifyResolverClusterIp +DNSAPI.dll!DnsNotifyResolverEx +DNSAPI.dll!DnsQuery_A +DNSAPI.dll!DnsQuery_UTF8 +DNSAPI.dll!DnsQuery_W +DNSAPI.dll!DnsQueryConfig +DNSAPI.dll!DnsQueryConfigAllocEx +DNSAPI.dll!DnsQueryConfigDword +DNSAPI.dll!DnsQueryEx +DNSAPI.dll!DnsQueryExA +DNSAPI.dll!DnsQueryExUTF8 +DNSAPI.dll!DnsQueryExW +DNSAPI.dll!DnsRecordBuild_UTF8 +DNSAPI.dll!DnsRecordBuild_W +DNSAPI.dll!DnsRecordCompare +DNSAPI.dll!DnsRecordCopyEx +DNSAPI.dll!DnsRecordListFree +DNSAPI.dll!DnsRecordListUnmapV4MappedAAAAInPlace +DNSAPI.dll!DnsRecordSetCompare +DNSAPI.dll!DnsRecordSetCopyEx +DNSAPI.dll!DnsRecordSetDetach +DNSAPI.dll!DnsRecordStringForType +DNSAPI.dll!DnsRecordStringForWritableType +DNSAPI.dll!DnsRecordTypeForName +DNSAPI.dll!DnsRegisterLocal +DNSAPI.dll!DnsReleaseContextHandle +DNSAPI.dll!DnsRemoveRegistrations +DNSAPI.dll!DnsReplaceRecordSetA +DNSAPI.dll!DnsReplaceRecordSetUTF8 +DNSAPI.dll!DnsReplaceRecordSetW +DNSAPI.dll!DnsResetQueryRetryTimeouts +DNSAPI.dll!DnsResolverOp +DNSAPI.dll!DnsScreenLocalAddrsForRegistration +DNSAPI.dll!DnsServiceBrowse +DNSAPI.dll!DnsServiceBrowseCancel +DNSAPI.dll!DnsServiceConstructInstance +DNSAPI.dll!DnsServiceCopyInstance +DNSAPI.dll!DnsServiceDeRegister +DNSAPI.dll!DnsServiceFreeInstance +DNSAPI.dll!DnsServiceRegister +DNSAPI.dll!DnsServiceRegisterCancel +DNSAPI.dll!DnsServiceResolve +DNSAPI.dll!DnsServiceResolveCancel +DNSAPI.dll!DnsSetConfigDword +DNSAPI.dll!DnsSetQueryRetryTimeouts +DNSAPI.dll!DnsStartMulticastQuery +DNSAPI.dll!DnsStatusString +DNSAPI.dll!DnsStopMulticastQuery +DNSAPI.dll!DnsStringCopyAllocateEx +DNSAPI.dll!DnsTraceServerConfig +DNSAPI.dll!DnsUnicodeToUtf8 +DNSAPI.dll!DnsUpdate +DNSAPI.dll!DnsUpdateMachinePresence +DNSAPI.dll!DnsUpdateTest_A +DNSAPI.dll!DnsUpdateTest_UTF8 +DNSAPI.dll!DnsUpdateTest_W +DNSAPI.dll!DnsUtf8ToUnicode +DNSAPI.dll!DnsValidateName_A +DNSAPI.dll!DnsValidateName_UTF8 +DNSAPI.dll!DnsValidateName_W +DNSAPI.dll!DnsValidateNameOrIp_TempW +DNSAPI.dll!DnsValidateServer_A +DNSAPI.dll!DnsValidateServer_W +DNSAPI.dll!DnsValidateServerArray_A +DNSAPI.dll!DnsValidateServerArray_W +DNSAPI.dll!DnsValidateServerStatus +DNSAPI.dll!DnsValidateUtf8Byte +DNSAPI.dll!DnsWriteQuestionToBuffer_UTF8 +DNSAPI.dll!DnsWriteQuestionToBuffer_W +DNSAPI.dll!DnsWriteReverseNameStringForIpAddress +DNSAPI.dll!ExtraInfo_Init +DNSAPI.dll!Faz_AreServerListsInSameNameSpace +DNSAPI.dll!FlushDnsPolicyUnreachableStatus +DNSAPI.dll!GetCurrentTimeInSeconds +DNSAPI.dll!HostsFile_Close +DNSAPI.dll!HostsFile_Open +DNSAPI.dll!HostsFile_ReadLine +DNSAPI.dll!IpHelp_IsAddrOnLink +DNSAPI.dll!Local_GetRecordsForLocalName +DNSAPI.dll!Local_GetRecordsForLocalNameEx +DNSAPI.dll!NetInfo_Build +DNSAPI.dll!NetInfo_Clean +DNSAPI.dll!NetInfo_Copy +DNSAPI.dll!NetInfo_CopyNetworkIndex +DNSAPI.dll!NetInfo_CreatePerNetworkNetinfo +DNSAPI.dll!NetInfo_Free +DNSAPI.dll!NetInfo_GetAdapterByAddress +DNSAPI.dll!NetInfo_GetAdapterByInterfaceIndex +DNSAPI.dll!NetInfo_GetAdapterByName +DNSAPI.dll!NetInfo_IsAddrConfig +DNSAPI.dll!NetInfo_IsForUpdate +DNSAPI.dll!NetInfo_IsTcpipConfigChange +DNSAPI.dll!NetInfo_ResetServerPriorities +DNSAPI.dll!NetInfo_UpdateDnsInterfaceConfigChange +DNSAPI.dll!NetInfo_UpdateNetworkProperties +DNSAPI.dll!NetInfo_UpdateServerReachability +DNSAPI.dll!Query_Cancel +DNSAPI.dll!Query_Main +DNSAPI.dll!QueryDirectEx +DNSAPI.dll!Reg_FreeUpdateInfo +DNSAPI.dll!Reg_GetValueEx +DNSAPI.dll!Reg_ReadGlobalsEx +DNSAPI.dll!Reg_ReadUpdateInfo +DNSAPI.dll!Security_ContextListTimeout +DNSAPI.dll!Send_AndRecvUdpWithParam +DNSAPI.dll!Send_MessagePrivate +DNSAPI.dll!Send_MessagePrivateEx +DNSAPI.dll!Send_OpenTcpConnectionAndSend +DNSAPI.dll!Socket_CacheCleanup +DNSAPI.dll!Socket_CacheInit +DNSAPI.dll!Socket_CleanupWinsock +DNSAPI.dll!Socket_ClearMessageSockets +DNSAPI.dll!Socket_CloseEx +DNSAPI.dll!Socket_CloseMessageSockets +DNSAPI.dll!Socket_Create +DNSAPI.dll!Socket_CreateMulticast +DNSAPI.dll!Socket_InitWinsock +DNSAPI.dll!Socket_JoinMulticast +DNSAPI.dll!Socket_RecvFrom +DNSAPI.dll!Socket_SetMulticastInterface +DNSAPI.dll!Socket_SetMulticastLoopBack +DNSAPI.dll!Socket_SetTtl +DNSAPI.dll!Socket_TcpListen +DNSAPI.dll!Trace_Reset +DNSAPI.dll!Update_ReplaceAddressRecordsW +DNSAPI.dll!Util_IsIp6Running +DSPARSE.dll!DsCrackSpn2A +DSPARSE.dll!DsCrackSpn2W +DSPARSE.dll!DsCrackSpn3W +DSPARSE.dll!DsCrackSpn4W +DSPARSE.dll!DsCrackSpnA +DSPARSE.dll!DsCrackSpnW +DSPARSE.dll!DsCrackUnquotedMangledRdnA +DSPARSE.dll!DsCrackUnquotedMangledRdnW +DSPARSE.dll!DsGetRdnW +DSPARSE.dll!DsIsMangledDnA +DSPARSE.dll!DsIsMangledDnW +DSPARSE.dll!DsIsMangledRdnValueA +DSPARSE.dll!DsIsMangledRdnValueW +DSPARSE.dll!DsMakeSpnA +DSPARSE.dll!DsMakeSpnW +DSPARSE.dll!DsQuoteRdnValueA +DSPARSE.dll!DsQuoteRdnValueW +DSPARSE.dll!DsUnquoteRdnValueA +DSPARSE.dll!DsUnquoteRdnValueW +DSROLE.dll!DsRoleFreeMemory +DSROLE.dll!DsRoleGetPrimaryDomainInformation +######### NOTE: httpapi.dll is only available in the EnterpriseNetworking package which is not included in all OneCore SKU's +######### System.Net.HttpListener uses it: we're OK with requiring that package to use HttpListener, so it remains allowed here. +httpapi.dll!HttpAddFragmentToCache +httpapi.dll!HttpAddUrl +httpapi.dll!HttpAddUrlToUrlGroup +httpapi.dll!HttpCancelHttpRequest +httpapi.dll!HttpCloseRequestQueue +httpapi.dll!HttpCloseServerSession +httpapi.dll!HttpCloseUrlGroup +httpapi.dll!HttpCreateHttpHandle +httpapi.dll!HttpCreateRequestQueue +httpapi.dll!HttpCreateServerSession +httpapi.dll!HttpCreateUrlGroup +httpapi.dll!HttpDeclarePush +httpapi.dll!HttpDeleteServiceConfiguration +httpapi.dll!HttpFlushResponseCache +httpapi.dll!HttpInitialize +httpapi.dll!HttpPrepareUrl +httpapi.dll!HttpQueryRequestQueueProperty +httpapi.dll!HttpQueryServerSessionProperty +httpapi.dll!HttpQueryServiceConfiguration +httpapi.dll!HttpQueryUrlGroupProperty +httpapi.dll!HttpReadFragmentFromCache +httpapi.dll!HttpReceiveClientCertificate +httpapi.dll!HttpReceiveHttpRequest +httpapi.dll!HttpReceiveRequestEntityBody +httpapi.dll!HttpRemoveUrl +httpapi.dll!HttpRemoveUrlFromUrlGroup +httpapi.dll!HttpSendHttpResponse +httpapi.dll!HttpSendResponseEntityBody +httpapi.dll!HttpSetRequestQueueProperty +httpapi.dll!HttpSetServerSessionProperty +httpapi.dll!HttpSetServiceConfiguration +httpapi.dll!HttpSetUrlGroupProperty +httpapi.dll!HttpShutdownRequestQueue +httpapi.dll!HttpTerminate +httpapi.dll!HttpWaitForDemandStart +httpapi.dll!HttpWaitForDisconnect +imagehlp.dll!BindImage +imagehlp.dll!BindImageEx +imagehlp.dll!CheckSumMappedFile +imagehlp.dll!EnumerateLoadedModules +imagehlp.dll!EnumerateLoadedModules64 +imagehlp.dll!EnumerateLoadedModulesEx +imagehlp.dll!EnumerateLoadedModulesExW +imagehlp.dll!EnumerateLoadedModulesW64 +imagehlp.dll!FindDebugInfoFile +imagehlp.dll!FindDebugInfoFileEx +imagehlp.dll!FindExecutableImage +imagehlp.dll!FindExecutableImageEx +imagehlp.dll!FindFileInPath +imagehlp.dll!FindFileInSearchPath +imagehlp.dll!GetImageConfigInformation +imagehlp.dll!GetImageUnusedHeaderBytes +imagehlp.dll!GetSymLoadError +imagehlp.dll!GetTimestampForLoadedLibrary +imagehlp.dll!ImageAddCertificate +imagehlp.dll!ImageDirectoryEntryToData +imagehlp.dll!ImageDirectoryEntryToDataEx +imagehlp.dll!ImageEnumerateCertificates +imagehlp.dll!ImageGetCertificateData +imagehlp.dll!ImageGetCertificateHeader +imagehlp.dll!ImageGetDigestStream +imagehlp.dll!ImagehlpApiVersion +imagehlp.dll!ImagehlpApiVersionEx +imagehlp.dll!ImageLoad +imagehlp.dll!ImageNtHeader +imagehlp.dll!ImageRemoveCertificate +imagehlp.dll!ImageRvaToSection +imagehlp.dll!ImageRvaToVa +imagehlp.dll!ImageUnload +imagehlp.dll!MakeSureDirectoryPathExists +imagehlp.dll!MapAndLoad +imagehlp.dll!MapDebugInformation +imagehlp.dll!MapFileAndCheckSumA +imagehlp.dll!MapFileAndCheckSumW +imagehlp.dll!ReBaseImage +imagehlp.dll!ReBaseImage64 +imagehlp.dll!RemoveInvalidModuleList +imagehlp.dll!ReportSymbolLoadSummary +imagehlp.dll!SearchTreeForFile +imagehlp.dll!SetCheckUserInterruptShared +imagehlp.dll!SetImageConfigInformation +imagehlp.dll!SetSymLoadError +imagehlp.dll!SplitSymbols +imagehlp.dll!StackWalk +imagehlp.dll!StackWalk64 +imagehlp.dll!StackWalkEx +imagehlp.dll!SymAddrIncludeInlineTrace +imagehlp.dll!SymCleanup +imagehlp.dll!SymCompareInlineTrace +imagehlp.dll!SymEnumerateModules +imagehlp.dll!SymEnumerateModules64 +imagehlp.dll!SymEnumerateSymbols +imagehlp.dll!SymEnumerateSymbols64 +imagehlp.dll!SymEnumerateSymbolsW +imagehlp.dll!SymEnumerateSymbolsW64 +imagehlp.dll!SymEnumSym +imagehlp.dll!SymEnumSymbols +imagehlp.dll!SymEnumSymbolsEx +imagehlp.dll!SymEnumSymbolsExW +imagehlp.dll!SymEnumSymbolsForAddr +imagehlp.dll!SymEnumTypes +imagehlp.dll!SymEnumTypesByName +imagehlp.dll!SymEnumTypesByNameW +imagehlp.dll!SymEnumTypesW +imagehlp.dll!SymFindFileInPath +imagehlp.dll!SymFindFileInPathW +imagehlp.dll!SymFreeDiaString +imagehlp.dll!SymFromAddr +imagehlp.dll!SymFromInlineContext +imagehlp.dll!SymFromInlineContextW +imagehlp.dll!SymFromName +imagehlp.dll!SymFunctionTableAccess +imagehlp.dll!SymFunctionTableAccess64 +imagehlp.dll!SymFunctionTableAccess64AccessRoutines +imagehlp.dll!SymGetDiaSession +imagehlp.dll!SymGetLineFromAddr +imagehlp.dll!SymGetLineFromAddr64 +imagehlp.dll!SymGetLineFromInlineContext +imagehlp.dll!SymGetLineFromInlineContextW +imagehlp.dll!SymGetLineFromName +imagehlp.dll!SymGetLineFromName64 +imagehlp.dll!SymGetLineNext +imagehlp.dll!SymGetLineNext64 +imagehlp.dll!SymGetLinePrev +imagehlp.dll!SymGetLinePrev64 +imagehlp.dll!SymGetModuleBase +imagehlp.dll!SymGetModuleBase64 +imagehlp.dll!SymGetModuleInfo +imagehlp.dll!SymGetModuleInfo64 +imagehlp.dll!SymGetModuleInfoW +imagehlp.dll!SymGetModuleInfoW64 +imagehlp.dll!SymGetOptions +imagehlp.dll!SymGetSearchPath +imagehlp.dll!SymGetSourceFileFromTokenW +imagehlp.dll!SymGetSourceFileTokenW +imagehlp.dll!SymGetSourceVarFromTokenW +imagehlp.dll!SymGetSymbolFile +imagehlp.dll!SymGetSymbolFileW +imagehlp.dll!SymGetSymFromAddr +imagehlp.dll!SymGetSymFromAddr64 +imagehlp.dll!SymGetSymFromName +imagehlp.dll!SymGetSymFromName64 +imagehlp.dll!SymGetSymNext +imagehlp.dll!SymGetSymNext64 +imagehlp.dll!SymGetSymPrev +imagehlp.dll!SymGetSymPrev64 +imagehlp.dll!SymGetTypeFromName +imagehlp.dll!SymGetTypeFromNameW +imagehlp.dll!SymGetTypeInfo +imagehlp.dll!SymGetTypeInfoEx +imagehlp.dll!SymInitialize +imagehlp.dll!SymLoadModule +imagehlp.dll!SymLoadModule64 +imagehlp.dll!SymMatchFileName +imagehlp.dll!SymMatchFileNameW +imagehlp.dll!SymMatchString +imagehlp.dll!SymMatchStringA +imagehlp.dll!SymMatchStringW +imagehlp.dll!SymQueryInlineTrace +imagehlp.dll!SymRegisterCallback +imagehlp.dll!SymRegisterCallback64 +imagehlp.dll!SymRegisterFunctionEntryCallback +imagehlp.dll!SymRegisterFunctionEntryCallback64 +imagehlp.dll!SymSetContext +imagehlp.dll!SymSetOptions +imagehlp.dll!SymSetScopeFromAddr +imagehlp.dll!SymSetScopeFromIndex +imagehlp.dll!SymSetScopeFromInlineContext +imagehlp.dll!SymSetSearchPath +imagehlp.dll!SymSrvGetFileIndexes +imagehlp.dll!SymSrvGetFileIndexesW +imagehlp.dll!SymSrvGetFileIndexString +imagehlp.dll!SymSrvGetFileIndexStringW +imagehlp.dll!SymUnDName +imagehlp.dll!SymUnDName64 +imagehlp.dll!SymUnloadModule +imagehlp.dll!SymUnloadModule64 +imagehlp.dll!TouchFileTimes +imagehlp.dll!UnDecorateSymbolName +imagehlp.dll!UnMapAndLoad +imagehlp.dll!UnmapDebugInformation +imagehlp.dll!UpdateDebugInfoFile +imagehlp.dll!UpdateDebugInfoFileEx +IPHLPAPI.DLL!_PfAddFiltersToInterface@24 +IPHLPAPI.DLL!_PfAddGlobalFilterToInterface@8 +IPHLPAPI.DLL!_PfBindInterfaceToIndex@16 +IPHLPAPI.DLL!_PfBindInterfaceToIPAddress@12 +IPHLPAPI.DLL!_PfCreateInterface@24 +IPHLPAPI.DLL!_PfDeleteInterface@4 +IPHLPAPI.DLL!_PfDeleteLog@0 +IPHLPAPI.DLL!_PfGetInterfaceStatistics@16 +IPHLPAPI.DLL!_PfMakeLog@4 +IPHLPAPI.DLL!_PfRebindFilters@8 +IPHLPAPI.DLL!_PfRemoveFilterHandles@12 +IPHLPAPI.DLL!_PfRemoveFiltersFromInterface@20 +IPHLPAPI.DLL!_PfRemoveGlobalFilterFromInterface@8 +IPHLPAPI.DLL!_PfSetLogBuffer@28 +IPHLPAPI.DLL!_PfTestPacket@20 +IPHLPAPI.DLL!_PfUnBindInterface@4 +IPHLPAPI.DLL!AddIPAddress +IPHLPAPI.DLL!AllocateAndGetInterfaceInfoFromStack +IPHLPAPI.DLL!AllocateAndGetIpAddrTableFromStack +IPHLPAPI.DLL!CancelIPChangeNotify +IPHLPAPI.DLL!CancelMibChangeNotify2 +IPHLPAPI.DLL!CloseCompartment +IPHLPAPI.DLL!CloseGetIPPhysicalInterfaceForDestination +IPHLPAPI.DLL!ConvertCompartmentGuidToId +IPHLPAPI.DLL!ConvertCompartmentIdToGuid +IPHLPAPI.DLL!ConvertGuidToStringA +IPHLPAPI.DLL!ConvertGuidToStringW +IPHLPAPI.DLL!ConvertInterfaceAliasToLuid +IPHLPAPI.DLL!ConvertInterfaceGuidToLuid +IPHLPAPI.DLL!ConvertInterfaceIndexToLuid +IPHLPAPI.DLL!ConvertInterfaceLuidToAlias +IPHLPAPI.DLL!ConvertInterfaceLuidToGuid +IPHLPAPI.DLL!ConvertInterfaceLuidToIndex +IPHLPAPI.DLL!ConvertInterfaceLuidToNameA +IPHLPAPI.DLL!ConvertInterfaceLuidToNameW +IPHLPAPI.DLL!ConvertInterfaceNameToLuidA +IPHLPAPI.DLL!ConvertInterfaceNameToLuidW +IPHLPAPI.DLL!ConvertInterfacePhysicalAddressToLuid +IPHLPAPI.DLL!ConvertIpv4MaskToLength +IPHLPAPI.DLL!ConvertLengthToIpv4Mask +IPHLPAPI.DLL!ConvertRemoteInterfaceAliasToLuid +IPHLPAPI.DLL!ConvertRemoteInterfaceGuidToLuid +IPHLPAPI.DLL!ConvertRemoteInterfaceIndexToLuid +IPHLPAPI.DLL!ConvertRemoteInterfaceLuidToAlias +IPHLPAPI.DLL!ConvertRemoteInterfaceLuidToGuid +IPHLPAPI.DLL!ConvertRemoteInterfaceLuidToIndex +IPHLPAPI.DLL!ConvertStringToGuidA +IPHLPAPI.DLL!ConvertStringToGuidW +IPHLPAPI.DLL!ConvertStringToInterfacePhysicalAddress +IPHLPAPI.DLL!CreateAnycastIpAddressEntry +IPHLPAPI.DLL!CreateCompartment +IPHLPAPI.DLL!CreateIpForwardEntry +IPHLPAPI.DLL!CreateIpForwardEntry2 +IPHLPAPI.DLL!CreateIpNetEntry +IPHLPAPI.DLL!CreateIpNetEntry2 +IPHLPAPI.DLL!CreatePersistentTcpPortReservation +IPHLPAPI.DLL!CreatePersistentUdpPortReservation +IPHLPAPI.DLL!CreateProxyArpEntry +IPHLPAPI.DLL!CreateSortedAddressPairs +IPHLPAPI.DLL!CreateUnicastIpAddressEntry +IPHLPAPI.DLL!DeleteAnycastIpAddressEntry +IPHLPAPI.DLL!DeleteCompartment +IPHLPAPI.DLL!DeleteIPAddress +IPHLPAPI.DLL!DeleteIpForwardEntry +IPHLPAPI.DLL!DeleteIpForwardEntry2 +IPHLPAPI.DLL!DeleteIpNetEntry +IPHLPAPI.DLL!DeleteIpNetEntry2 +IPHLPAPI.DLL!DeletePersistentTcpPortReservation +IPHLPAPI.DLL!DeletePersistentUdpPortReservation +IPHLPAPI.DLL!DeleteProxyArpEntry +IPHLPAPI.DLL!DeleteUnicastIpAddressEntry +IPHLPAPI.DLL!DisableMediaSense +IPHLPAPI.DLL!EnableRouter +IPHLPAPI.DLL!FlushIpNetTable +IPHLPAPI.DLL!FlushIpNetTable2 +IPHLPAPI.DLL!FlushIpPathTable +IPHLPAPI.DLL!FreeMibTable +IPHLPAPI.DLL!GetAdapterIndex +IPHLPAPI.DLL!GetAdapterOrderMap +IPHLPAPI.DLL!GetAdaptersAddresses +IPHLPAPI.DLL!GetAdaptersInfo +IPHLPAPI.DLL!GetAnycastIpAddressEntry +IPHLPAPI.DLL!GetAnycastIpAddressTable +IPHLPAPI.DLL!GetBestInterface +IPHLPAPI.DLL!GetBestInterfaceEx +IPHLPAPI.DLL!GetBestRoute +IPHLPAPI.DLL!GetBestRoute2 +IPHLPAPI.DLL!GetCurrentThreadCompartmentId +IPHLPAPI.DLL!GetCurrentThreadCompartmentScope +IPHLPAPI.DLL!GetExtendedTcpTable +IPHLPAPI.DLL!GetExtendedUdpTable +IPHLPAPI.DLL!GetFriendlyIfIndex +IPHLPAPI.DLL!GetIcmpStatistics +IPHLPAPI.DLL!GetIcmpStatisticsEx +IPHLPAPI.DLL!GetIfEntry +IPHLPAPI.DLL!GetIfEntry2 +IPHLPAPI.DLL!GetIfStackTable +IPHLPAPI.DLL!GetIfTable +IPHLPAPI.DLL!GetIfTable2 +IPHLPAPI.DLL!GetIfTable2Ex +IPHLPAPI.DLL!GetInterfaceInfo +IPHLPAPI.DLL!GetInvertedIfStackTable +IPHLPAPI.DLL!GetIpAddrTable +IPHLPAPI.DLL!GetIpErrorString +IPHLPAPI.DLL!GetIpForwardEntry2 +IPHLPAPI.DLL!GetIpForwardTable +IPHLPAPI.DLL!GetIpForwardTable2 +IPHLPAPI.DLL!GetIpInterfaceEntry +IPHLPAPI.DLL!GetIpInterfaceTable +IPHLPAPI.DLL!GetIpNetEntry2 +IPHLPAPI.DLL!GetIpNetTable +IPHLPAPI.DLL!GetIpNetTable2 +IPHLPAPI.DLL!GetIpNetworkConnectionBandwidthEstimates +IPHLPAPI.DLL!GetIpPathEntry +IPHLPAPI.DLL!GetIpPathTable +IPHLPAPI.DLL!GetIpStatistics +IPHLPAPI.DLL!GetIpStatisticsEx +IPHLPAPI.DLL!GetJobCompartmentId +IPHLPAPI.DLL!GetMulticastIpAddressEntry +IPHLPAPI.DLL!GetMulticastIpAddressTable +IPHLPAPI.DLL!GetNetworkInformation +IPHLPAPI.DLL!GetNetworkParams +IPHLPAPI.DLL!GetNumberOfInterfaces +IPHLPAPI.DLL!GetOwnerModuleFromPidAndInfo +IPHLPAPI.DLL!GetOwnerModuleFromTcp6Entry +IPHLPAPI.DLL!GetOwnerModuleFromTcpEntry +IPHLPAPI.DLL!GetOwnerModuleFromUdp6Entry +IPHLPAPI.DLL!GetOwnerModuleFromUdpEntry +IPHLPAPI.DLL!GetPerAdapterInfo +IPHLPAPI.DLL!GetPerTcp6ConnectionEStats +IPHLPAPI.DLL!GetPerTcp6ConnectionStats +IPHLPAPI.DLL!GetPerTcpConnectionEStats +IPHLPAPI.DLL!GetPerTcpConnectionStats +IPHLPAPI.DLL!GetRTTAndHopCount +IPHLPAPI.DLL!GetSessionCompartmentId +IPHLPAPI.DLL!GetTcp6Table +IPHLPAPI.DLL!GetTcp6Table2 +IPHLPAPI.DLL!GetTcpStatistics +IPHLPAPI.DLL!GetTcpStatisticsEx +IPHLPAPI.DLL!GetTcpTable +IPHLPAPI.DLL!GetTcpTable2 +IPHLPAPI.DLL!GetTeredoPort +IPHLPAPI.DLL!GetUdp6Table +IPHLPAPI.DLL!GetUdpStatistics +IPHLPAPI.DLL!GetUdpStatisticsEx +IPHLPAPI.DLL!GetUdpTable +IPHLPAPI.DLL!GetUnicastIpAddressEntry +IPHLPAPI.DLL!GetUnicastIpAddressTable +IPHLPAPI.DLL!GetUniDirectionalAdapterInfo +IPHLPAPI.DLL!GetWPAOACSupportLevel +IPHLPAPI.DLL!Icmp6CreateFile +IPHLPAPI.DLL!Icmp6ParseReplies +IPHLPAPI.DLL!Icmp6SendEcho2 +IPHLPAPI.DLL!IcmpCloseHandle +IPHLPAPI.DLL!IcmpCreateFile +IPHLPAPI.DLL!IcmpParseReplies +IPHLPAPI.DLL!IcmpSendEcho +IPHLPAPI.DLL!IcmpSendEcho2 +IPHLPAPI.DLL!IcmpSendEcho2Ex +IPHLPAPI.DLL!if_indextoname +IPHLPAPI.DLL!if_nametoindex +IPHLPAPI.DLL!InitializeCompartmentEntry +IPHLPAPI.DLL!InitializeIpForwardEntry +IPHLPAPI.DLL!InitializeIpInterfaceEntry +IPHLPAPI.DLL!InitializeUnicastIpAddressEntry +IPHLPAPI.DLL!InternalCleanupPersistentStore +IPHLPAPI.DLL!InternalCreateAnycastIpAddressEntry +IPHLPAPI.DLL!InternalCreateIpForwardEntry +IPHLPAPI.DLL!InternalCreateIpForwardEntry2 +IPHLPAPI.DLL!InternalCreateIpNetEntry +IPHLPAPI.DLL!InternalCreateIpNetEntry2 +IPHLPAPI.DLL!InternalCreateUnicastIpAddressEntry +IPHLPAPI.DLL!InternalDeleteAnycastIpAddressEntry +IPHLPAPI.DLL!InternalDeleteIpForwardEntry +IPHLPAPI.DLL!InternalDeleteIpForwardEntry2 +IPHLPAPI.DLL!InternalDeleteIpNetEntry +IPHLPAPI.DLL!InternalDeleteIpNetEntry2 +IPHLPAPI.DLL!InternalDeleteUnicastIpAddressEntry +IPHLPAPI.DLL!InternalFindInterfaceByAddress +IPHLPAPI.DLL!InternalGetAnycastIpAddressEntry +IPHLPAPI.DLL!InternalGetAnycastIpAddressTable +IPHLPAPI.DLL!InternalGetBoundTcp6EndpointTable +IPHLPAPI.DLL!InternalGetBoundTcpEndpointTable +IPHLPAPI.DLL!InternalGetForwardIpTable2 +IPHLPAPI.DLL!InternalGetIfEntry2 +IPHLPAPI.DLL!InternalGetIfTable +IPHLPAPI.DLL!InternalGetIfTable2 +IPHLPAPI.DLL!InternalGetIpAddrTable +IPHLPAPI.DLL!InternalGetIpForwardEntry2 +IPHLPAPI.DLL!InternalGetIpForwardTable +IPHLPAPI.DLL!InternalGetIpInterfaceEntry +IPHLPAPI.DLL!InternalGetIpInterfaceTable +IPHLPAPI.DLL!InternalGetIpNetEntry2 +IPHLPAPI.DLL!InternalGetIpNetTable +IPHLPAPI.DLL!InternalGetIpNetTable2 +IPHLPAPI.DLL!InternalGetIPPhysicalInterfaceForDestination +IPHLPAPI.DLL!InternalGetMulticastIpAddressEntry +IPHLPAPI.DLL!InternalGetMulticastIpAddressTable +IPHLPAPI.DLL!InternalGetRtcSlotInformation +IPHLPAPI.DLL!InternalGetTcp6Table2 +IPHLPAPI.DLL!InternalGetTcp6TableWithOwnerModule +IPHLPAPI.DLL!InternalGetTcp6TableWithOwnerPid +IPHLPAPI.DLL!InternalGetTcpTable +IPHLPAPI.DLL!InternalGetTcpTable2 +IPHLPAPI.DLL!InternalGetTcpTableEx +IPHLPAPI.DLL!InternalGetTcpTableWithOwnerModule +IPHLPAPI.DLL!InternalGetTcpTableWithOwnerPid +IPHLPAPI.DLL!InternalGetTunnelPhysicalAdapter +IPHLPAPI.DLL!InternalGetUdp6TableWithOwnerModule +IPHLPAPI.DLL!InternalGetUdp6TableWithOwnerPid +IPHLPAPI.DLL!InternalGetUdpTable +IPHLPAPI.DLL!InternalGetUdpTableEx +IPHLPAPI.DLL!InternalGetUdpTableWithOwnerModule +IPHLPAPI.DLL!InternalGetUdpTableWithOwnerPid +IPHLPAPI.DLL!InternalGetUnicastIpAddressEntry +IPHLPAPI.DLL!InternalGetUnicastIpAddressTable +IPHLPAPI.DLL!InternalIcmpCreateFileEx +IPHLPAPI.DLL!InternalSetIfEntry +IPHLPAPI.DLL!InternalSetIpForwardEntry +IPHLPAPI.DLL!InternalSetIpForwardEntry2 +IPHLPAPI.DLL!InternalSetIpInterfaceEntry +IPHLPAPI.DLL!InternalSetIpNetEntry +IPHLPAPI.DLL!InternalSetIpNetEntry2 +IPHLPAPI.DLL!InternalSetIpStats +IPHLPAPI.DLL!InternalSetTcpEntry +IPHLPAPI.DLL!InternalSetTeredoPort +IPHLPAPI.DLL!InternalSetUnicastIpAddressEntry +IPHLPAPI.DLL!IpReleaseAddress +IPHLPAPI.DLL!IpRenewAddress +IPHLPAPI.DLL!LookupPersistentTcpPortReservation +IPHLPAPI.DLL!LookupPersistentUdpPortReservation +IPHLPAPI.DLL!NhGetGuidFromInterfaceName +IPHLPAPI.DLL!NhGetInterfaceDescriptionFromGuid +IPHLPAPI.DLL!NhGetInterfaceNameFromDeviceGuid +IPHLPAPI.DLL!NhGetInterfaceNameFromGuid +IPHLPAPI.DLL!NhpAllocateAndGetInterfaceInfoFromStack +IPHLPAPI.DLL!NotifyAddrChange +IPHLPAPI.DLL!NotifyCompartmentChange +IPHLPAPI.DLL!NotifyIpInterfaceChange +IPHLPAPI.DLL!NotifyRouteChange +IPHLPAPI.DLL!NotifyRouteChange2 +IPHLPAPI.DLL!NotifyStableUnicastIpAddressTable +IPHLPAPI.DLL!NotifyTeredoPortChange +IPHLPAPI.DLL!NotifyUnicastIpAddressChange +IPHLPAPI.DLL!NTPTimeToNTFileTime +IPHLPAPI.DLL!NTTimeToNTPTime +IPHLPAPI.DLL!OpenCompartment +IPHLPAPI.DLL!ParseNetworkString +IPHLPAPI.DLL!ResolveIpNetEntry2 +IPHLPAPI.DLL!ResolveNeighbor +IPHLPAPI.DLL!RestoreMediaSense +IPHLPAPI.DLL!SendARP +IPHLPAPI.DLL!SetAdapterIpAddress +IPHLPAPI.DLL!SetCurrentThreadCompartmentId +IPHLPAPI.DLL!SetCurrentThreadCompartmentScope +IPHLPAPI.DLL!SetIfEntry +IPHLPAPI.DLL!SetIpForwardEntry +IPHLPAPI.DLL!SetIpForwardEntry2 +IPHLPAPI.DLL!SetIpInterfaceEntry +IPHLPAPI.DLL!SetIpNetEntry +IPHLPAPI.DLL!SetIpNetEntry2 +IPHLPAPI.DLL!SetIpStatistics +IPHLPAPI.DLL!SetIpStatisticsEx +IPHLPAPI.DLL!SetIpTTL +IPHLPAPI.DLL!SetJobCompartmentId +IPHLPAPI.DLL!SetNetworkInformation +IPHLPAPI.DLL!SetPerTcp6ConnectionEStats +IPHLPAPI.DLL!SetPerTcp6ConnectionStats +IPHLPAPI.DLL!SetPerTcpConnectionEStats +IPHLPAPI.DLL!SetPerTcpConnectionStats +IPHLPAPI.DLL!SetSessionCompartmentId +IPHLPAPI.DLL!SetTcpEntry +IPHLPAPI.DLL!SetUnicastIpAddressEntry +IPHLPAPI.DLL!UnenableRouter +logoncli.dll!DsAddressToSiteNamesA +logoncli.dll!DsAddressToSiteNamesExA +logoncli.dll!DsAddressToSiteNamesExW +logoncli.dll!DsAddressToSiteNamesW +logoncli.dll!DsDeregisterDnsHostRecordsA +logoncli.dll!DsDeregisterDnsHostRecordsW +logoncli.dll!DsEnumerateDomainTrustsA +logoncli.dll!DsEnumerateDomainTrustsW +logoncli.dll!DsGetDcCloseW +logoncli.dll!DsGetDcNameA +logoncli.dll!DsGetDcNameW +logoncli.dll!DsGetDcNameWithAccountA +logoncli.dll!DsGetDcNameWithAccountW +logoncli.dll!DsGetDcNextA +logoncli.dll!DsGetDcNextW +logoncli.dll!DsGetDcOpenA +logoncli.dll!DsGetDcOpenW +logoncli.dll!DsGetDcSiteCoverageA +logoncli.dll!DsGetDcSiteCoverageW +logoncli.dll!DsGetForestTrustInformationW +logoncli.dll!DsGetSiteNameA +logoncli.dll!DsGetSiteNameW +logoncli.dll!DsMergeForestTrustInformationW +logoncli.dll!DsValidateSubnetNameA +logoncli.dll!DsValidateSubnetNameW +logoncli.dll!NetAddServiceAccount +logoncli.dll!NetEnumerateServiceAccounts +logoncli.dll!NetGetAnyDCName +logoncli.dll!NetGetDCName +logoncli.dll!NetIsServiceAccount +logoncli.dll!NetLogonGetTimeServiceParentDomain +logoncli.dll!NetQueryServiceAccount +logoncli.dll!NetRemoveServiceAccount +logoncli.dll!NlSetDsIsCloningPDC +MSWSOCK.dll!AcceptEx +MSWSOCK.dll!dn_expand +MSWSOCK.dll!EnumProtocolsA +MSWSOCK.dll!EnumProtocolsW +MSWSOCK.dll!GetAcceptExSockaddrs +MSWSOCK.dll!GetAddressByNameA +MSWSOCK.dll!GetAddressByNameW +MSWSOCK.dll!GetNameByTypeA +MSWSOCK.dll!GetNameByTypeW +MSWSOCK.dll!getnetbyname +MSWSOCK.dll!GetServiceA +MSWSOCK.dll!GetServiceW +MSWSOCK.dll!GetSocketErrorMessageW +MSWSOCK.dll!GetTypeByNameA +MSWSOCK.dll!GetTypeByNameW +MSWSOCK.dll!inet_network +MSWSOCK.dll!MigrateWinsockConfiguration +MSWSOCK.dll!MigrateWinsockConfigurationEx +MSWSOCK.dll!NPLoadNameSpaces +MSWSOCK.dll!rcmd +MSWSOCK.dll!rexec +MSWSOCK.dll!rresvport +MSWSOCK.dll!s_perror +MSWSOCK.dll!sethostname +MSWSOCK.dll!SetServiceA +MSWSOCK.dll!SetServiceW +MSWSOCK.dll!TransmitFile +MSWSOCK.dll!WSARecvEx +ncrypt.dll!GetIsolationServerInterface +ncrypt.dll!GetKeyStorageInterface +ncrypt.dll!GetSChannelInterface +ncrypt.dll!NCryptCloseProtectionDescriptor +ncrypt.dll!NCryptCreateClaim +ncrypt.dll!NCryptCreatePersistedKey +ncrypt.dll!NCryptCreateProtectionDescriptor +ncrypt.dll!NCryptDecrypt +ncrypt.dll!NCryptDeleteKey +ncrypt.dll!NCryptDeriveKey +ncrypt.dll!NCryptEncrypt +ncrypt.dll!NCryptEnumAlgorithms +ncrypt.dll!NCryptEnumKeys +ncrypt.dll!NCryptEnumStorageProviders +ncrypt.dll!NCryptExportKey +ncrypt.dll!NCryptFinalizeKey +ncrypt.dll!NCryptFreeBuffer +ncrypt.dll!NCryptFreeObject +ncrypt.dll!NCryptGetProperty +ncrypt.dll!NCryptGetProtectionDescriptorInfo +ncrypt.dll!NCryptImportKey +ncrypt.dll!NCryptIsAlgSupported +ncrypt.dll!NCryptIsKeyHandle +ncrypt.dll!NCryptKeyDerivation +ncrypt.dll!NCryptNotifyChangeKey +ncrypt.dll!NCryptOpenKey +ncrypt.dll!NCryptOpenStorageProvider +ncrypt.dll!NCryptProtectSecret +ncrypt.dll!NCryptQueryProtectionDescriptorName +ncrypt.dll!NCryptRegisterProtectionDescriptorName +ncrypt.dll!NCryptSecretAgreement +ncrypt.dll!NCryptSetAuditingInterface +ncrypt.dll!NCryptSetProperty +ncrypt.dll!NCryptSignHash +ncrypt.dll!NCryptStreamClose +ncrypt.dll!NCryptStreamOpenToProtect +ncrypt.dll!NCryptStreamOpenToUnprotect +ncrypt.dll!NCryptStreamOpenToUnprotectEx +ncrypt.dll!NCryptStreamUpdate +ncrypt.dll!NCryptTranslateHandle +ncrypt.dll!NCryptUnprotectSecret +ncrypt.dll!NCryptVerifyClaim +ncrypt.dll!NCryptVerifySignature +ncrypt.dll!SslChangeNotify +ncrypt.dll!SslComputeClientAuthHash +ncrypt.dll!SslComputeEapKeyBlock +ncrypt.dll!SslComputeFinishedHash +ncrypt.dll!SslComputeSessionHash +ncrypt.dll!SslCreateClientAuthHash +ncrypt.dll!SslCreateEphemeralKey +ncrypt.dll!SslCreateHandshakeHash +ncrypt.dll!SslDecrementProviderReferenceCount +ncrypt.dll!SslDecryptPacket +ncrypt.dll!SslEncryptPacket +ncrypt.dll!SslEnumCipherSuites +ncrypt.dll!SslEnumEccCurves +ncrypt.dll!SslEnumProtocolProviders +ncrypt.dll!SslExportKey +ncrypt.dll!SslExportKeyingMaterial +ncrypt.dll!SslFreeBuffer +ncrypt.dll!SslFreeObject +ncrypt.dll!SslGenerateMasterKey +ncrypt.dll!SslGeneratePreMasterKey +ncrypt.dll!SslGenerateSessionKeys +ncrypt.dll!SslGetCipherSuitePRFHashAlgorithm +ncrypt.dll!SslGetKeyProperty +ncrypt.dll!SslGetProviderProperty +ncrypt.dll!SslHashHandshake +ncrypt.dll!SslImportKey +ncrypt.dll!SslImportMasterKey +ncrypt.dll!SslIncrementProviderReferenceCount +ncrypt.dll!SslLookupCipherLengths +ncrypt.dll!SslLookupCipherSuiteInfo +ncrypt.dll!SslOpenPrivateKey +ncrypt.dll!SslOpenProvider +ncrypt.dll!SslSignHash +ncrypt.dll!SslVerifySignature +netutils.dll!NetApiBufferAllocate +netutils.dll!NetApiBufferFree +netutils.dll!NetApiBufferReallocate +netutils.dll!NetApiBufferSize +netutils.dll!NetRemoteComputerSupports +NTMARTA.dll!AccConvertAccessMaskToActrlAccess +NTMARTA.dll!AccConvertAccessToSD +NTMARTA.dll!AccConvertAccessToSecurityDescriptor +NTMARTA.dll!AccConvertAclToAccess +NTMARTA.dll!AccConvertSDToAccess +NTMARTA.dll!AccFreeIndexArray +NTMARTA.dll!AccGetAccessForTrustee +NTMARTA.dll!AccGetExplicitEntries +NTMARTA.dll!AccGetInheritanceSource +NTMARTA.dll!AccLookupAccountName +NTMARTA.dll!AccLookupAccountSid +NTMARTA.dll!AccLookupAccountTrustee +NTMARTA.dll!AccProvCancelOperation +NTMARTA.dll!AccProvGetAccessInfoPerObjectType +NTMARTA.dll!AccProvGetAllRights +NTMARTA.dll!AccProvGetCapabilities +NTMARTA.dll!AccProvGetOperationResults +NTMARTA.dll!AccProvGetTrusteesAccess +NTMARTA.dll!AccProvGrantAccessRights +NTMARTA.dll!AccProvHandleGetAccessInfoPerObjectType +NTMARTA.dll!AccProvHandleGetAllRights +NTMARTA.dll!AccProvHandleGetTrusteesAccess +NTMARTA.dll!AccProvHandleGrantAccessRights +NTMARTA.dll!AccProvHandleIsAccessAudited +NTMARTA.dll!AccProvHandleIsObjectAccessible +NTMARTA.dll!AccProvHandleRevokeAccessRights +NTMARTA.dll!AccProvHandleRevokeAuditRights +NTMARTA.dll!AccProvHandleSetAccessRights +NTMARTA.dll!AccProvIsAccessAudited +NTMARTA.dll!AccProvIsObjectAccessible +NTMARTA.dll!AccProvRevokeAccessRights +NTMARTA.dll!AccProvRevokeAuditRights +NTMARTA.dll!AccProvSetAccessRights +NTMARTA.dll!AccRewriteGetExplicitEntriesFromAcl +NTMARTA.dll!AccRewriteGetHandleRights +NTMARTA.dll!AccRewriteGetNamedRights +NTMARTA.dll!AccRewriteSetEntriesInAcl +NTMARTA.dll!AccRewriteSetHandleRights +NTMARTA.dll!AccRewriteSetNamedRights +NTMARTA.dll!AccSetEntriesInAList +NTMARTA.dll!AccTreeResetNamedSecurityInfo +NTMARTA.dll!EventGuidToName +NTMARTA.dll!EventNameFree +NTMARTA.dll!GetMartaExtensionInterface +OLEAUT32.dll!BSTR_UserFree +OLEAUT32.dll!BSTR_UserMarshal +OLEAUT32.dll!BSTR_UserSize +OLEAUT32.dll!BSTR_UserUnmarshal +OLEAUT32.dll!BstrFromVector +OLEAUT32.dll!ClearCustData +OLEAUT32.dll!CreateDispTypeInfo +OLEAUT32.dll!CreateErrorInfo +OLEAUT32.dll!CreateStdDispatch +OLEAUT32.dll!CreateTypeLib +OLEAUT32.dll!CreateTypeLib2 +OLEAUT32.dll!DispCallFunc +OLEAUT32.dll!DispGetIDsOfNames +OLEAUT32.dll!DispGetParam +OLEAUT32.dll!DispInvoke +OLEAUT32.dll!DosDateTimeToVariantTime +OLEAUT32.dll!GetActiveObject +OLEAUT32.dll!GetAltMonthNames +OLEAUT32.dll!GetErrorInfo +OLEAUT32.dll!GetRecordInfoFromGuids +OLEAUT32.dll!GetRecordInfoFromTypeInfo +OLEAUT32.dll!GetVarConversionLocaleSetting +OLEAUT32.dll!LHashValOfNameSys +OLEAUT32.dll!LHashValOfNameSysA +OLEAUT32.dll!LoadRegTypeLib +OLEAUT32.dll!LoadTypeLib +OLEAUT32.dll!LoadTypeLibEx +OLEAUT32.dll!LPSAFEARRAY_Marshal +OLEAUT32.dll!LPSAFEARRAY_Size +OLEAUT32.dll!LPSAFEARRAY_Unmarshal +OLEAUT32.dll!LPSAFEARRAY_UserFree +OLEAUT32.dll!LPSAFEARRAY_UserMarshal +OLEAUT32.dll!LPSAFEARRAY_UserSize +OLEAUT32.dll!LPSAFEARRAY_UserUnmarshal +OLEAUT32.dll!OaBuildVersion +OLEAUT32.dll!OACreateTypeLib2 +OLEAUT32.dll!OaEnablePerUserTLibRegistration +OLEAUT32.dll!OleCreateFontIndirect +OLEAUT32.dll!OleCreatePictureIndirect +OLEAUT32.dll!OleCreatePropertyFrame +OLEAUT32.dll!OleCreatePropertyFrameIndirect +OLEAUT32.dll!OleIconToCursor +OLEAUT32.dll!OleLoadPicture +OLEAUT32.dll!OleLoadPictureEx +OLEAUT32.dll!OleLoadPictureFile +OLEAUT32.dll!OleLoadPictureFileEx +OLEAUT32.dll!OleLoadPicturePath +OLEAUT32.dll!OleSavePictureFile +OLEAUT32.dll!OleTranslateColor +OLEAUT32.dll!QueryPathOfRegTypeLib +OLEAUT32.dll!RegisterActiveObject +OLEAUT32.dll!RegisterTypeLib +OLEAUT32.dll!RegisterTypeLibForUser +OLEAUT32.dll!RevokeActiveObject +OLEAUT32.dll!SafeArrayAccessData +OLEAUT32.dll!SafeArrayAllocData +OLEAUT32.dll!SafeArrayAllocDescriptor +OLEAUT32.dll!SafeArrayAllocDescriptorEx +OLEAUT32.dll!SafeArrayCopy +OLEAUT32.dll!SafeArrayCopyData +OLEAUT32.dll!SafeArrayCreate +OLEAUT32.dll!SafeArrayCreateEx +OLEAUT32.dll!SafeArrayCreateVector +OLEAUT32.dll!SafeArrayCreateVectorEx +OLEAUT32.dll!SafeArrayDestroy +OLEAUT32.dll!SafeArrayDestroyData +OLEAUT32.dll!SafeArrayDestroyDescriptor +OLEAUT32.dll!SafeArrayGetDim +OLEAUT32.dll!SafeArrayGetElement +OLEAUT32.dll!SafeArrayGetElemsize +OLEAUT32.dll!SafeArrayGetIID +OLEAUT32.dll!SafeArrayGetLBound +OLEAUT32.dll!SafeArrayGetRecordInfo +OLEAUT32.dll!SafeArrayGetUBound +OLEAUT32.dll!SafeArrayGetVartype +OLEAUT32.dll!SafeArrayLock +OLEAUT32.dll!SafeArrayPtrOfIndex +OLEAUT32.dll!SafeArrayPutElement +OLEAUT32.dll!SafeArrayRedim +OLEAUT32.dll!SafeArraySetIID +OLEAUT32.dll!SafeArraySetRecordInfo +OLEAUT32.dll!SafeArrayUnaccessData +OLEAUT32.dll!SafeArrayUnlock +OLEAUT32.dll!SetErrorInfo +OLEAUT32.dll!SetOaNoCache +OLEAUT32.dll!SetVarConversionLocaleSetting +OLEAUT32.dll!SysAllocString +OLEAUT32.dll!SysAllocStringByteLen +OLEAUT32.dll!SysAllocStringLen +OLEAUT32.dll!SysFreeString +OLEAUT32.dll!SysReAllocString +OLEAUT32.dll!SysReAllocStringLen +OLEAUT32.dll!SysStringByteLen +OLEAUT32.dll!SysStringLen +OLEAUT32.dll!SystemTimeToVariantTime +OLEAUT32.dll!UnRegisterTypeLib +OLEAUT32.dll!UnRegisterTypeLibForUser +OLEAUT32.dll!VarAbs +OLEAUT32.dll!VarAdd +OLEAUT32.dll!VarAnd +OLEAUT32.dll!VarBoolFromCy +OLEAUT32.dll!VarBoolFromDate +OLEAUT32.dll!VarBoolFromDec +OLEAUT32.dll!VarBoolFromDisp +OLEAUT32.dll!VarBoolFromI1 +OLEAUT32.dll!VarBoolFromI2 +OLEAUT32.dll!VarBoolFromI4 +OLEAUT32.dll!VarBoolFromI8 +OLEAUT32.dll!VarBoolFromR4 +OLEAUT32.dll!VarBoolFromR8 +OLEAUT32.dll!VarBoolFromStr +OLEAUT32.dll!VarBoolFromUI1 +OLEAUT32.dll!VarBoolFromUI2 +OLEAUT32.dll!VarBoolFromUI4 +OLEAUT32.dll!VarBoolFromUI8 +OLEAUT32.dll!VarBstrCat +OLEAUT32.dll!VarBstrCmp +OLEAUT32.dll!VarBstrFromBool +OLEAUT32.dll!VarBstrFromCy +OLEAUT32.dll!VarBstrFromDate +OLEAUT32.dll!VarBstrFromDec +OLEAUT32.dll!VarBstrFromDisp +OLEAUT32.dll!VarBstrFromI1 +OLEAUT32.dll!VarBstrFromI2 +OLEAUT32.dll!VarBstrFromI4 +OLEAUT32.dll!VarBstrFromI8 +OLEAUT32.dll!VarBstrFromR4 +OLEAUT32.dll!VarBstrFromR8 +OLEAUT32.dll!VarBstrFromUI1 +OLEAUT32.dll!VarBstrFromUI2 +OLEAUT32.dll!VarBstrFromUI4 +OLEAUT32.dll!VarBstrFromUI8 +OLEAUT32.dll!VarCat +OLEAUT32.dll!VarCmp +OLEAUT32.dll!VarCyAbs +OLEAUT32.dll!VarCyAdd +OLEAUT32.dll!VarCyCmp +OLEAUT32.dll!VarCyCmpR8 +OLEAUT32.dll!VarCyFix +OLEAUT32.dll!VarCyFromBool +OLEAUT32.dll!VarCyFromDate +OLEAUT32.dll!VarCyFromDec +OLEAUT32.dll!VarCyFromDisp +OLEAUT32.dll!VarCyFromI1 +OLEAUT32.dll!VarCyFromI2 +OLEAUT32.dll!VarCyFromI4 +OLEAUT32.dll!VarCyFromI8 +OLEAUT32.dll!VarCyFromR4 +OLEAUT32.dll!VarCyFromR8 +OLEAUT32.dll!VarCyFromStr +OLEAUT32.dll!VarCyFromUI1 +OLEAUT32.dll!VarCyFromUI2 +OLEAUT32.dll!VarCyFromUI4 +OLEAUT32.dll!VarCyFromUI8 +OLEAUT32.dll!VarCyInt +OLEAUT32.dll!VarCyMul +OLEAUT32.dll!VarCyMulI4 +OLEAUT32.dll!VarCyMulI8 +OLEAUT32.dll!VarCyNeg +OLEAUT32.dll!VarCyRound +OLEAUT32.dll!VarCySub +OLEAUT32.dll!VarDateFromBool +OLEAUT32.dll!VarDateFromCy +OLEAUT32.dll!VarDateFromDec +OLEAUT32.dll!VarDateFromDisp +OLEAUT32.dll!VarDateFromI1 +OLEAUT32.dll!VarDateFromI2 +OLEAUT32.dll!VarDateFromI4 +OLEAUT32.dll!VarDateFromI8 +OLEAUT32.dll!VarDateFromR4 +OLEAUT32.dll!VarDateFromR8 +OLEAUT32.dll!VarDateFromStr +OLEAUT32.dll!VarDateFromUdate +OLEAUT32.dll!VarDateFromUdateEx +OLEAUT32.dll!VarDateFromUI1 +OLEAUT32.dll!VarDateFromUI2 +OLEAUT32.dll!VarDateFromUI4 +OLEAUT32.dll!VarDateFromUI8 +OLEAUT32.dll!VarDecAbs +OLEAUT32.dll!VarDecAdd +OLEAUT32.dll!VarDecCmp +OLEAUT32.dll!VarDecCmpR8 +OLEAUT32.dll!VarDecDiv +OLEAUT32.dll!VarDecFix +OLEAUT32.dll!VarDecFromBool +OLEAUT32.dll!VarDecFromCy +OLEAUT32.dll!VarDecFromDate +OLEAUT32.dll!VarDecFromDisp +OLEAUT32.dll!VarDecFromI1 +OLEAUT32.dll!VarDecFromI2 +OLEAUT32.dll!VarDecFromI4 +OLEAUT32.dll!VarDecFromI8 +OLEAUT32.dll!VarDecFromR4 +OLEAUT32.dll!VarDecFromR8 +OLEAUT32.dll!VarDecFromStr +OLEAUT32.dll!VarDecFromUI1 +OLEAUT32.dll!VarDecFromUI2 +OLEAUT32.dll!VarDecFromUI4 +OLEAUT32.dll!VarDecFromUI8 +OLEAUT32.dll!VarDecInt +OLEAUT32.dll!VarDecMul +OLEAUT32.dll!VarDecNeg +OLEAUT32.dll!VarDecRound +OLEAUT32.dll!VarDecSub +OLEAUT32.dll!VarDiv +OLEAUT32.dll!VarEqv +OLEAUT32.dll!VarFix +OLEAUT32.dll!VarFormat +OLEAUT32.dll!VarFormatCurrency +OLEAUT32.dll!VarFormatDateTime +OLEAUT32.dll!VarFormatFromTokens +OLEAUT32.dll!VarFormatNumber +OLEAUT32.dll!VarFormatPercent +OLEAUT32.dll!VarI1FromBool +OLEAUT32.dll!VarI1FromCy +OLEAUT32.dll!VarI1FromDate +OLEAUT32.dll!VarI1FromDec +OLEAUT32.dll!VarI1FromDisp +OLEAUT32.dll!VarI1FromI2 +OLEAUT32.dll!VarI1FromI4 +OLEAUT32.dll!VarI1FromI8 +OLEAUT32.dll!VarI1FromR4 +OLEAUT32.dll!VarI1FromR8 +OLEAUT32.dll!VarI1FromStr +OLEAUT32.dll!VarI1FromUI1 +OLEAUT32.dll!VarI1FromUI2 +OLEAUT32.dll!VarI1FromUI4 +OLEAUT32.dll!VarI1FromUI8 +OLEAUT32.dll!VarI2FromBool +OLEAUT32.dll!VarI2FromCy +OLEAUT32.dll!VarI2FromDate +OLEAUT32.dll!VarI2FromDec +OLEAUT32.dll!VarI2FromDisp +OLEAUT32.dll!VarI2FromI1 +OLEAUT32.dll!VarI2FromI4 +OLEAUT32.dll!VarI2FromI8 +OLEAUT32.dll!VarI2FromR4 +OLEAUT32.dll!VarI2FromR8 +OLEAUT32.dll!VarI2FromStr +OLEAUT32.dll!VarI2FromUI1 +OLEAUT32.dll!VarI2FromUI2 +OLEAUT32.dll!VarI2FromUI4 +OLEAUT32.dll!VarI2FromUI8 +OLEAUT32.dll!VarI4FromBool +OLEAUT32.dll!VarI4FromCy +OLEAUT32.dll!VarI4FromDate +OLEAUT32.dll!VarI4FromDec +OLEAUT32.dll!VarI4FromDisp +OLEAUT32.dll!VarI4FromI1 +OLEAUT32.dll!VarI4FromI2 +OLEAUT32.dll!VarI4FromI8 +OLEAUT32.dll!VarI4FromR4 +OLEAUT32.dll!VarI4FromR8 +OLEAUT32.dll!VarI4FromStr +OLEAUT32.dll!VarI4FromUI1 +OLEAUT32.dll!VarI4FromUI2 +OLEAUT32.dll!VarI4FromUI4 +OLEAUT32.dll!VarI4FromUI8 +OLEAUT32.dll!VarI8FromBool +OLEAUT32.dll!VarI8FromCy +OLEAUT32.dll!VarI8FromDate +OLEAUT32.dll!VarI8FromDec +OLEAUT32.dll!VarI8FromDisp +OLEAUT32.dll!VarI8FromI1 +OLEAUT32.dll!VarI8FromI2 +OLEAUT32.dll!VarI8FromR4 +OLEAUT32.dll!VarI8FromR8 +OLEAUT32.dll!VarI8FromStr +OLEAUT32.dll!VarI8FromUI1 +OLEAUT32.dll!VarI8FromUI2 +OLEAUT32.dll!VarI8FromUI4 +OLEAUT32.dll!VarI8FromUI8 +OLEAUT32.dll!VARIANT_UserFree +OLEAUT32.dll!VARIANT_UserMarshal +OLEAUT32.dll!VARIANT_UserSize +OLEAUT32.dll!VARIANT_UserUnmarshal +OLEAUT32.dll!VariantChangeType +OLEAUT32.dll!VariantChangeTypeEx +OLEAUT32.dll!VariantClear +OLEAUT32.dll!VariantCopy +OLEAUT32.dll!VariantCopyInd +OLEAUT32.dll!VariantInit +OLEAUT32.dll!VariantTimeToDosDateTime +OLEAUT32.dll!VariantTimeToSystemTime +OLEAUT32.dll!VarIdiv +OLEAUT32.dll!VarImp +OLEAUT32.dll!VarInt +OLEAUT32.dll!VarMod +OLEAUT32.dll!VarMonthName +OLEAUT32.dll!VarMul +OLEAUT32.dll!VarNeg +OLEAUT32.dll!VarNot +OLEAUT32.dll!VarNumFromParseNum +OLEAUT32.dll!VarOr +OLEAUT32.dll!VarParseNumFromStr +OLEAUT32.dll!VarPow +OLEAUT32.dll!VarR4CmpR8 +OLEAUT32.dll!VarR4FromBool +OLEAUT32.dll!VarR4FromCy +OLEAUT32.dll!VarR4FromDate +OLEAUT32.dll!VarR4FromDec +OLEAUT32.dll!VarR4FromDisp +OLEAUT32.dll!VarR4FromI1 +OLEAUT32.dll!VarR4FromI2 +OLEAUT32.dll!VarR4FromI4 +OLEAUT32.dll!VarR4FromI8 +OLEAUT32.dll!VarR4FromR8 +OLEAUT32.dll!VarR4FromStr +OLEAUT32.dll!VarR4FromUI1 +OLEAUT32.dll!VarR4FromUI2 +OLEAUT32.dll!VarR4FromUI4 +OLEAUT32.dll!VarR4FromUI8 +OLEAUT32.dll!VarR8FromBool +OLEAUT32.dll!VarR8FromCy +OLEAUT32.dll!VarR8FromDate +OLEAUT32.dll!VarR8FromDec +OLEAUT32.dll!VarR8FromDisp +OLEAUT32.dll!VarR8FromI1 +OLEAUT32.dll!VarR8FromI2 +OLEAUT32.dll!VarR8FromI4 +OLEAUT32.dll!VarR8FromI8 +OLEAUT32.dll!VarR8FromR4 +OLEAUT32.dll!VarR8FromStr +OLEAUT32.dll!VarR8FromUI1 +OLEAUT32.dll!VarR8FromUI2 +OLEAUT32.dll!VarR8FromUI4 +OLEAUT32.dll!VarR8FromUI8 +OLEAUT32.dll!VarR8Pow +OLEAUT32.dll!VarR8Round +OLEAUT32.dll!VarRound +OLEAUT32.dll!VarSub +OLEAUT32.dll!VarTokenizeFormatString +OLEAUT32.dll!VarUdateFromDate +OLEAUT32.dll!VarUI1FromBool +OLEAUT32.dll!VarUI1FromCy +OLEAUT32.dll!VarUI1FromDate +OLEAUT32.dll!VarUI1FromDec +OLEAUT32.dll!VarUI1FromDisp +OLEAUT32.dll!VarUI1FromI1 +OLEAUT32.dll!VarUI1FromI2 +OLEAUT32.dll!VarUI1FromI4 +OLEAUT32.dll!VarUI1FromI8 +OLEAUT32.dll!VarUI1FromR4 +OLEAUT32.dll!VarUI1FromR8 +OLEAUT32.dll!VarUI1FromStr +OLEAUT32.dll!VarUI1FromUI2 +OLEAUT32.dll!VarUI1FromUI4 +OLEAUT32.dll!VarUI1FromUI8 +OLEAUT32.dll!VarUI2FromBool +OLEAUT32.dll!VarUI2FromCy +OLEAUT32.dll!VarUI2FromDate +OLEAUT32.dll!VarUI2FromDec +OLEAUT32.dll!VarUI2FromDisp +OLEAUT32.dll!VarUI2FromI1 +OLEAUT32.dll!VarUI2FromI2 +OLEAUT32.dll!VarUI2FromI4 +OLEAUT32.dll!VarUI2FromI8 +OLEAUT32.dll!VarUI2FromR4 +OLEAUT32.dll!VarUI2FromR8 +OLEAUT32.dll!VarUI2FromStr +OLEAUT32.dll!VarUI2FromUI1 +OLEAUT32.dll!VarUI2FromUI4 +OLEAUT32.dll!VarUI2FromUI8 +OLEAUT32.dll!VarUI4FromBool +OLEAUT32.dll!VarUI4FromCy +OLEAUT32.dll!VarUI4FromDate +OLEAUT32.dll!VarUI4FromDec +OLEAUT32.dll!VarUI4FromDisp +OLEAUT32.dll!VarUI4FromI1 +OLEAUT32.dll!VarUI4FromI2 +OLEAUT32.dll!VarUI4FromI4 +OLEAUT32.dll!VarUI4FromI8 +OLEAUT32.dll!VarUI4FromR4 +OLEAUT32.dll!VarUI4FromR8 +OLEAUT32.dll!VarUI4FromStr +OLEAUT32.dll!VarUI4FromUI1 +OLEAUT32.dll!VarUI4FromUI2 +OLEAUT32.dll!VarUI4FromUI8 +OLEAUT32.dll!VarUI8FromBool +OLEAUT32.dll!VarUI8FromCy +OLEAUT32.dll!VarUI8FromDate +OLEAUT32.dll!VarUI8FromDec +OLEAUT32.dll!VarUI8FromDisp +OLEAUT32.dll!VarUI8FromI1 +OLEAUT32.dll!VarUI8FromI2 +OLEAUT32.dll!VarUI8FromI8 +OLEAUT32.dll!VarUI8FromR4 +OLEAUT32.dll!VarUI8FromR8 +OLEAUT32.dll!VarUI8FromStr +OLEAUT32.dll!VarUI8FromUI1 +OLEAUT32.dll!VarUI8FromUI2 +OLEAUT32.dll!VarUI8FromUI4 +OLEAUT32.dll!VarWeekdayName +OLEAUT32.dll!VarXor +OLEAUT32.dll!VectorFromBstr +POWRPROF.dll!CanUserWritePwrScheme +POWRPROF.dll!DeletePwrScheme +POWRPROF.dll!DevicePowerClose +POWRPROF.dll!DevicePowerEnumDevices +POWRPROF.dll!DevicePowerOpen +POWRPROF.dll!DevicePowerSetDeviceState +POWRPROF.dll!EnumPwrSchemes +POWRPROF.dll!GetActivePwrScheme +POWRPROF.dll!GetCurrentPowerPolicies +POWRPROF.dll!GetPwrDiskSpindownRange +POWRPROF.dll!GUIDFormatToGlobalPowerPolicy +POWRPROF.dll!GUIDFormatToPowerPolicy +POWRPROF.dll!IsAdminOverrideActive +POWRPROF.dll!IsPwrHibernateAllowed +POWRPROF.dll!IsPwrShutdownAllowed +POWRPROF.dll!IsPwrSuspendAllowed +POWRPROF.dll!LoadCurrentPwrScheme +POWRPROF.dll!MergeLegacyPwrScheme +POWRPROF.dll!PowerApplyPowerRequestOverride +POWRPROF.dll!PowerCanRestoreIndividualDefaultPowerScheme +POWRPROF.dll!PowerCreatePossibleSetting +POWRPROF.dll!PowerCreateSetting +POWRPROF.dll!PowerCustomizePlatformPowerSettings +POWRPROF.dll!PowerDebugDifPowerPolicies +POWRPROF.dll!PowerDebugDifSystemPowerPolicies +POWRPROF.dll!PowerDebugDumpPowerPolicy +POWRPROF.dll!PowerDebugDumpPowerScheme +POWRPROF.dll!PowerDebugDumpSystemPowerCapabilities +POWRPROF.dll!PowerDebugDumpSystemPowerPolicy +POWRPROF.dll!PowerDeleteScheme +POWRPROF.dll!PowerDeterminePlatformRole +POWRPROF.dll!PowerDuplicateScheme +POWRPROF.dll!PowerEnumerate +POWRPROF.dll!PowerImportPowerScheme +POWRPROF.dll!PowerIsSettingRangeDefined +POWRPROF.dll!PowerOpenSystemPowerKey +POWRPROF.dll!PowerOpenUserPowerKey +POWRPROF.dll!PowerPolicyToGUIDFormat +POWRPROF.dll!PowerReadACDefaultIndex +POWRPROF.dll!PowerReadACValueIndex +POWRPROF.dll!PowerReadDCDefaultIndex +POWRPROF.dll!PowerReadDCValueIndex +POWRPROF.dll!PowerReadDescription +POWRPROF.dll!PowerReadFriendlyName +POWRPROF.dll!PowerReadIconResourceSpecifier +POWRPROF.dll!PowerReadPossibleDescription +POWRPROF.dll!PowerReadPossibleFriendlyName +POWRPROF.dll!PowerReadPossibleValue +POWRPROF.dll!PowerReadSecurityDescriptor +POWRPROF.dll!PowerReadSettingAttributes +POWRPROF.dll!PowerReadValueIncrement +POWRPROF.dll!PowerReadValueMax +POWRPROF.dll!PowerReadValueMin +POWRPROF.dll!PowerReadValueUnitsSpecifier +POWRPROF.dll!PowerRemovePowerSetting +POWRPROF.dll!PowerReplaceDefaultPowerSchemes +POWRPROF.dll!PowerReportThermalEvent +POWRPROF.dll!PowerRestoreDefaultPowerSchemes +POWRPROF.dll!PowerRestoreIndividualDefaultPowerScheme +POWRPROF.dll!PowerSetAlsBrightnessOffset +POWRPROF.dll!PowerSettingAccessCheck +POWRPROF.dll!PowerSettingAccessCheckEx +POWRPROF.dll!PowerWriteACDefaultIndex +POWRPROF.dll!PowerWriteDCDefaultIndex +POWRPROF.dll!PowerWriteDescription +POWRPROF.dll!PowerWriteFriendlyName +POWRPROF.dll!PowerWriteIconResourceSpecifier +POWRPROF.dll!PowerWritePossibleDescription +POWRPROF.dll!PowerWritePossibleFriendlyName +POWRPROF.dll!PowerWritePossibleValue +POWRPROF.dll!PowerWriteSecurityDescriptor +POWRPROF.dll!PowerWriteSettingAttributes +POWRPROF.dll!PowerWriteValueIncrement +POWRPROF.dll!PowerWriteValueMax +POWRPROF.dll!PowerWriteValueMin +POWRPROF.dll!PowerWriteValueUnitsSpecifier +POWRPROF.dll!ReadGlobalPwrPolicy +POWRPROF.dll!ReadProcessorPwrScheme +POWRPROF.dll!ReadPwrScheme +POWRPROF.dll!SetActivePwrScheme +POWRPROF.dll!SetSuspendState +POWRPROF.dll!ValidatePowerPolicies +POWRPROF.dll!WriteGlobalPwrPolicy +POWRPROF.dll!WriteProcessorPwrScheme +POWRPROF.dll!WritePwrScheme +RPCRT4.dll!CreateProxyFromTypeInfo +RPCRT4.dll!CreateStubFromTypeInfo +RPCRT4.dll!CStdStubBuffer_AddRef +RPCRT4.dll!CStdStubBuffer_Connect +RPCRT4.dll!CStdStubBuffer_CountRefs +RPCRT4.dll!CStdStubBuffer_DebugServerQueryInterface +RPCRT4.dll!CStdStubBuffer_DebugServerRelease +RPCRT4.dll!CStdStubBuffer_Disconnect +RPCRT4.dll!CStdStubBuffer_Invoke +RPCRT4.dll!CStdStubBuffer_IsIIDSupported +RPCRT4.dll!CStdStubBuffer_QueryInterface +RPCRT4.dll!DceErrorInqTextA +RPCRT4.dll!DceErrorInqTextW +RPCRT4.dll!I_RpcAllocate +RPCRT4.dll!I_RpcAsyncAbortCall +RPCRT4.dll!I_RpcAsyncSetHandle +RPCRT4.dll!I_RpcBCacheAllocate +RPCRT4.dll!I_RpcBCacheFree +RPCRT4.dll!I_RpcBindingCopy +RPCRT4.dll!I_RpcBindingCreateNP +RPCRT4.dll!I_RpcBindingHandleToAsyncHandle +RPCRT4.dll!I_RpcBindingInqClientTokenAttributes +RPCRT4.dll!I_RpcBindingInqCurrentModifiedId +RPCRT4.dll!I_RpcBindingInqDynamicEndpoint +RPCRT4.dll!I_RpcBindingInqDynamicEndpointA +RPCRT4.dll!I_RpcBindingInqDynamicEndpointW +RPCRT4.dll!I_RpcBindingInqLocalClientPID +RPCRT4.dll!I_RpcBindingInqMarshalledTargetInfo +RPCRT4.dll!I_RpcBindingInqSecurityContext +RPCRT4.dll!I_RpcBindingInqSecurityContextKeyInfo +RPCRT4.dll!I_RpcBindingInqTransportType +RPCRT4.dll!I_RpcBindingInqWireIdForSnego +RPCRT4.dll!I_RpcBindingIsClientLocal +RPCRT4.dll!I_RpcBindingIsServerLocal +RPCRT4.dll!I_RpcBindingSetPrivateOption +RPCRT4.dll!I_RpcBindingToStaticStringBindingW +RPCRT4.dll!I_RpcCertProcessAndProvision +RPCRT4.dll!I_RpcClearMutex +RPCRT4.dll!I_RpcCompleteAndFree +RPCRT4.dll!I_RpcConnectionInqSockBuffSize +RPCRT4.dll!I_RpcConnectionSetSockBuffSize +RPCRT4.dll!I_RpcDeleteMutex +RPCRT4.dll!I_RpcEnableWmiTrace +RPCRT4.dll!I_RpcExceptionFilter +RPCRT4.dll!I_RpcFilterDCOMActivation +RPCRT4.dll!I_RpcFree +RPCRT4.dll!I_RpcFreeBuffer +RPCRT4.dll!I_RpcFreePipeBuffer +RPCRT4.dll!I_RpcFwThisIsTheManager +RPCRT4.dll!I_RpcGetBuffer +RPCRT4.dll!I_RpcGetBufferWithObject +RPCRT4.dll!I_RpcGetCurrentCallHandle +RPCRT4.dll!I_RpcGetDefaultSD +RPCRT4.dll!I_RpcGetExtendedError +RPCRT4.dll!I_RpcGetPortAllocationData +RPCRT4.dll!I_RpcIfInqTransferSyntaxes +RPCRT4.dll!I_RpcInitNdrImports +RPCRT4.dll!I_RpcLogEvent +RPCRT4.dll!I_RpcMapWin32Status +RPCRT4.dll!I_RpcMarshalBindingHandleAndInterfaceForNDF +RPCRT4.dll!I_RpcMgmtEnableDedicatedThreadPool +RPCRT4.dll!I_RpcMgmtQueryDedicatedThreadPool +RPCRT4.dll!I_RpcNDRCGetWireRepresentation +RPCRT4.dll!I_RpcNDRSContextEmergencyCleanup +RPCRT4.dll!I_RpcNegotiateTransferSyntax +RPCRT4.dll!I_RpcNsBindingSetEntryName +RPCRT4.dll!I_RpcNsBindingSetEntryNameA +RPCRT4.dll!I_RpcNsBindingSetEntryNameW +RPCRT4.dll!I_RpcNsInterfaceExported +RPCRT4.dll!I_RpcNsInterfaceUnexported +RPCRT4.dll!I_RpcOpenClientProcess +RPCRT4.dll!I_RpcOpenClientThread +RPCRT4.dll!I_RpcParseSecurity +RPCRT4.dll!I_RpcPauseExecution +RPCRT4.dll!I_RpcReallocPipeBuffer +RPCRT4.dll!I_RpcReceive +RPCRT4.dll!I_RpcRecordCalloutFailure +RPCRT4.dll!I_RpcRequestMutex +RPCRT4.dll!I_RpcSend +RPCRT4.dll!I_RpcSendReceive +RPCRT4.dll!I_RpcServerAllocateIpPort +RPCRT4.dll!I_RpcServerCheckClientRestriction +RPCRT4.dll!I_RpcServerDisableExceptionFilter +RPCRT4.dll!I_RpcServerGetAssociationID +RPCRT4.dll!I_RpcServerInqAddressChangeFn +RPCRT4.dll!I_RpcServerInqLocalConnAddress +RPCRT4.dll!I_RpcServerInqRemoteConnAddress +RPCRT4.dll!I_RpcServerInqTransportType +RPCRT4.dll!I_RpcServerIsClientDisconnected +RPCRT4.dll!I_RpcServerRegisterForwardFunction +RPCRT4.dll!I_RpcServerSetAddressChangeFn +RPCRT4.dll!I_RpcServerStartService +RPCRT4.dll!I_RpcServerSubscribeForDisconnectNotification +RPCRT4.dll!I_RpcServerTurnOnOffKeepalives +RPCRT4.dll!I_RpcServerUseProtseq2A +RPCRT4.dll!I_RpcServerUseProtseq2W +RPCRT4.dll!I_RpcServerUseProtseqEp2A +RPCRT4.dll!I_RpcServerUseProtseqEp2W +RPCRT4.dll!I_RpcSessionStrictContextHandle +RPCRT4.dll!I_RpcSetDCOMAppId +RPCRT4.dll!I_RpcSNCHOption +RPCRT4.dll!I_RpcSsDontSerializeContext +RPCRT4.dll!I_RpcSystemFunction001 +RPCRT4.dll!I_RpcTransConnectionAllocatePacket +RPCRT4.dll!I_RpcTransConnectionFreePacket +RPCRT4.dll!I_RpcTransConnectionReallocPacket +RPCRT4.dll!I_RpcTransDatagramAllocate +RPCRT4.dll!I_RpcTransDatagramAllocate2 +RPCRT4.dll!I_RpcTransDatagramFree +RPCRT4.dll!I_RpcTransGetThreadEvent +RPCRT4.dll!I_RpcTransGetThreadEventThreadOptional +RPCRT4.dll!I_RpcTransIoCancelled +RPCRT4.dll!I_RpcTransServerNewConnection +RPCRT4.dll!I_RpcTurnOnEEInfoPropagation +RPCRT4.dll!I_UuidCreate +RPCRT4.dll!IUnknown_AddRef_Proxy +RPCRT4.dll!IUnknown_QueryInterface_Proxy +RPCRT4.dll!IUnknown_Release_Proxy +RPCRT4.dll!MesBufferHandleReset +RPCRT4.dll!MesDecodeBufferHandleCreate +RPCRT4.dll!MesDecodeIncrementalHandleCreate +RPCRT4.dll!MesEncodeDynBufferHandleCreate +RPCRT4.dll!MesEncodeFixedBufferHandleCreate +RPCRT4.dll!MesEncodeIncrementalHandleCreate +RPCRT4.dll!MesHandleFree +RPCRT4.dll!MesIncrementalHandleReset +RPCRT4.dll!MesInqProcEncodingId +RPCRT4.dll!NdrAllocate +RPCRT4.dll!NdrAsyncClientCall +RPCRT4.dll!NdrAsyncClientCall2 +RPCRT4.dll!NdrAsyncServerCall +RPCRT4.dll!NdrByteCountPointerBufferSize +RPCRT4.dll!NdrByteCountPointerFree +RPCRT4.dll!NdrByteCountPointerMarshall +RPCRT4.dll!NdrByteCountPointerUnmarshall +RPCRT4.dll!NDRCContextBinding +RPCRT4.dll!NDRCContextMarshall +RPCRT4.dll!NDRCContextUnmarshall +RPCRT4.dll!NdrClearOutParameters +RPCRT4.dll!NdrClientCall +RPCRT4.dll!NdrClientCall2 +RPCRT4.dll!NdrClientCall4 +RPCRT4.dll!NdrClientContextMarshall +RPCRT4.dll!NdrClientContextUnmarshall +RPCRT4.dll!NdrClientInitialize +RPCRT4.dll!NdrClientInitializeNew +RPCRT4.dll!NdrComplexArrayBufferSize +RPCRT4.dll!NdrComplexArrayFree +RPCRT4.dll!NdrComplexArrayMarshall +RPCRT4.dll!NdrComplexArrayMemorySize +RPCRT4.dll!NdrComplexArrayUnmarshall +RPCRT4.dll!NdrComplexStructBufferSize +RPCRT4.dll!NdrComplexStructFree +RPCRT4.dll!NdrComplexStructMarshall +RPCRT4.dll!NdrComplexStructMemorySize +RPCRT4.dll!NdrComplexStructUnmarshall +RPCRT4.dll!NdrConformantArrayBufferSize +RPCRT4.dll!NdrConformantArrayFree +RPCRT4.dll!NdrConformantArrayMarshall +RPCRT4.dll!NdrConformantArrayMemorySize +RPCRT4.dll!NdrConformantArrayUnmarshall +RPCRT4.dll!NdrConformantStringBufferSize +RPCRT4.dll!NdrConformantStringMarshall +RPCRT4.dll!NdrConformantStringMemorySize +RPCRT4.dll!NdrConformantStringUnmarshall +RPCRT4.dll!NdrConformantStructBufferSize +RPCRT4.dll!NdrConformantStructFree +RPCRT4.dll!NdrConformantStructMarshall +RPCRT4.dll!NdrConformantStructMemorySize +RPCRT4.dll!NdrConformantStructUnmarshall +RPCRT4.dll!NdrConformantVaryingArrayBufferSize +RPCRT4.dll!NdrConformantVaryingArrayFree +RPCRT4.dll!NdrConformantVaryingArrayMarshall +RPCRT4.dll!NdrConformantVaryingArrayMemorySize +RPCRT4.dll!NdrConformantVaryingArrayUnmarshall +RPCRT4.dll!NdrConformantVaryingStructBufferSize +RPCRT4.dll!NdrConformantVaryingStructFree +RPCRT4.dll!NdrConformantVaryingStructMarshall +RPCRT4.dll!NdrConformantVaryingStructMemorySize +RPCRT4.dll!NdrConformantVaryingStructUnmarshall +RPCRT4.dll!NdrContextHandleInitialize +RPCRT4.dll!NdrContextHandleSize +RPCRT4.dll!NdrConvert +RPCRT4.dll!NdrConvert2 +RPCRT4.dll!NdrCorrelationFree +RPCRT4.dll!NdrCorrelationInitialize +RPCRT4.dll!NdrCorrelationPass +RPCRT4.dll!NdrCreateServerInterfaceFromStub +RPCRT4.dll!NdrCStdStubBuffer_Release +RPCRT4.dll!NdrCStdStubBuffer2_Release +RPCRT4.dll!NdrDcomAsyncClientCall +RPCRT4.dll!NdrDcomAsyncStubCall +RPCRT4.dll!NdrDllCanUnloadNow +RPCRT4.dll!NdrDllGetClassObject +RPCRT4.dll!NdrDllRegisterProxy +RPCRT4.dll!NdrDllUnregisterProxy +RPCRT4.dll!NdrEncapsulatedUnionBufferSize +RPCRT4.dll!NdrEncapsulatedUnionFree +RPCRT4.dll!NdrEncapsulatedUnionMarshall +RPCRT4.dll!NdrEncapsulatedUnionMemorySize +RPCRT4.dll!NdrEncapsulatedUnionUnmarshall +RPCRT4.dll!NdrFixedArrayBufferSize +RPCRT4.dll!NdrFixedArrayFree +RPCRT4.dll!NdrFixedArrayMarshall +RPCRT4.dll!NdrFixedArrayMemorySize +RPCRT4.dll!NdrFixedArrayUnmarshall +RPCRT4.dll!NdrFreeBuffer +RPCRT4.dll!NdrFullPointerFree +RPCRT4.dll!NdrFullPointerInsertRefId +RPCRT4.dll!NdrFullPointerQueryPointer +RPCRT4.dll!NdrFullPointerQueryRefId +RPCRT4.dll!NdrFullPointerXlatFree +RPCRT4.dll!NdrFullPointerXlatInit +RPCRT4.dll!NdrGetBaseInterfaceFromStub +RPCRT4.dll!NdrGetBuffer +RPCRT4.dll!NdrGetDcomProtocolVersion +RPCRT4.dll!NdrGetSimpleTypeBufferAlignment +RPCRT4.dll!NdrGetSimpleTypeBufferSize +RPCRT4.dll!NdrGetSimpleTypeMemorySize +RPCRT4.dll!NdrGetTypeFlags +RPCRT4.dll!NdrGetUserMarshalInfo +RPCRT4.dll!NdrInterfacePointerBufferSize +RPCRT4.dll!NdrInterfacePointerFree +RPCRT4.dll!NdrInterfacePointerMarshall +RPCRT4.dll!NdrInterfacePointerMemorySize +RPCRT4.dll!NdrInterfacePointerUnmarshall +RPCRT4.dll!NdrMapCommAndFaultStatus +RPCRT4.dll!NdrMesProcEncodeDecode +RPCRT4.dll!NdrMesProcEncodeDecode2 +RPCRT4.dll!NdrMesSimpleTypeAlignSize +RPCRT4.dll!NdrMesSimpleTypeDecode +RPCRT4.dll!NdrMesSimpleTypeEncode +RPCRT4.dll!NdrMesTypeAlignSize +RPCRT4.dll!NdrMesTypeAlignSize2 +RPCRT4.dll!NdrMesTypeDecode +RPCRT4.dll!NdrMesTypeDecode2 +RPCRT4.dll!NdrMesTypeEncode +RPCRT4.dll!NdrMesTypeEncode2 +RPCRT4.dll!NdrMesTypeFree2 +RPCRT4.dll!NdrNonConformantStringBufferSize +RPCRT4.dll!NdrNonConformantStringMarshall +RPCRT4.dll!NdrNonConformantStringMemorySize +RPCRT4.dll!NdrNonConformantStringUnmarshall +RPCRT4.dll!NdrNonEncapsulatedUnionBufferSize +RPCRT4.dll!NdrNonEncapsulatedUnionFree +RPCRT4.dll!NdrNonEncapsulatedUnionMarshall +RPCRT4.dll!NdrNonEncapsulatedUnionMemorySize +RPCRT4.dll!NdrNonEncapsulatedUnionUnmarshall +RPCRT4.dll!NdrNsGetBuffer +RPCRT4.dll!NdrNsSendReceive +RPCRT4.dll!NdrOleAllocate +RPCRT4.dll!NdrOleFree +RPCRT4.dll!NdrOutInit +RPCRT4.dll!NdrPartialIgnoreClientBufferSize +RPCRT4.dll!NdrPartialIgnoreClientMarshall +RPCRT4.dll!NdrPartialIgnoreServerInitialize +RPCRT4.dll!NdrPartialIgnoreServerUnmarshall +RPCRT4.dll!NdrpCreateProxy +RPCRT4.dll!NdrpCreateStub +RPCRT4.dll!NdrpGetProcFormatString +RPCRT4.dll!NdrpGetTypeFormatString +RPCRT4.dll!NdrpGetTypeGenCookie +RPCRT4.dll!NdrpMemoryIncrement +RPCRT4.dll!NdrPointerBufferSize +RPCRT4.dll!NdrPointerFree +RPCRT4.dll!NdrPointerMarshall +RPCRT4.dll!NdrPointerMemorySize +RPCRT4.dll!NdrPointerUnmarshall +RPCRT4.dll!NdrpReleaseTypeFormatString +RPCRT4.dll!NdrpReleaseTypeGenCookie +RPCRT4.dll!NdrProxyErrorHandler +RPCRT4.dll!NdrProxyFreeBuffer +RPCRT4.dll!NdrProxyGetBuffer +RPCRT4.dll!NdrProxyInitialize +RPCRT4.dll!NdrProxySendReceive +RPCRT4.dll!NdrpVarVtOfTypeDesc +RPCRT4.dll!NdrRangeUnmarshall +RPCRT4.dll!NdrRpcSmClientAllocate +RPCRT4.dll!NdrRpcSmClientFree +RPCRT4.dll!NdrRpcSmSetClientToOsf +RPCRT4.dll!NdrRpcSsDefaultAllocate +RPCRT4.dll!NdrRpcSsDefaultFree +RPCRT4.dll!NdrRpcSsDisableAllocate +RPCRT4.dll!NdrRpcSsEnableAllocate +RPCRT4.dll!NDRSContextMarshall +RPCRT4.dll!NDRSContextMarshall2 +RPCRT4.dll!NDRSContextMarshallEx +RPCRT4.dll!NDRSContextUnmarshall +RPCRT4.dll!NDRSContextUnmarshall2 +RPCRT4.dll!NDRSContextUnmarshallEx +RPCRT4.dll!NdrSendReceive +RPCRT4.dll!NdrServerCall +RPCRT4.dll!NdrServerCall2 +RPCRT4.dll!NdrServerContextMarshall +RPCRT4.dll!NdrServerContextNewMarshall +RPCRT4.dll!NdrServerContextNewUnmarshall +RPCRT4.dll!NdrServerContextUnmarshall +RPCRT4.dll!NdrServerInitialize +RPCRT4.dll!NdrServerInitializeMarshall +RPCRT4.dll!NdrServerInitializeNew +RPCRT4.dll!NdrServerInitializePartial +RPCRT4.dll!NdrServerInitializeUnmarshall +RPCRT4.dll!NdrServerMarshall +RPCRT4.dll!NdrServerUnmarshall +RPCRT4.dll!NdrSimpleStructBufferSize +RPCRT4.dll!NdrSimpleStructFree +RPCRT4.dll!NdrSimpleStructMarshall +RPCRT4.dll!NdrSimpleStructMemorySize +RPCRT4.dll!NdrSimpleStructUnmarshall +RPCRT4.dll!NdrSimpleTypeMarshall +RPCRT4.dll!NdrSimpleTypeUnmarshall +RPCRT4.dll!NdrStubCall +RPCRT4.dll!NdrStubCall2 +RPCRT4.dll!NdrStubForwardingFunction +RPCRT4.dll!NdrStubGetBuffer +RPCRT4.dll!NdrStubInitialize +RPCRT4.dll!NdrStubInitializeMarshall +RPCRT4.dll!NdrTypeFlags +RPCRT4.dll!NdrTypeFree +RPCRT4.dll!NdrTypeMarshall +RPCRT4.dll!NdrTypeSize +RPCRT4.dll!NdrTypeUnmarshall +RPCRT4.dll!NdrUnmarshallBasetypeInline +RPCRT4.dll!NdrUserMarshalBufferSize +RPCRT4.dll!NdrUserMarshalFree +RPCRT4.dll!NdrUserMarshalMarshall +RPCRT4.dll!NdrUserMarshalMemorySize +RPCRT4.dll!NdrUserMarshalSimpleTypeConvert +RPCRT4.dll!NdrUserMarshalUnmarshall +RPCRT4.dll!NdrVaryingArrayBufferSize +RPCRT4.dll!NdrVaryingArrayFree +RPCRT4.dll!NdrVaryingArrayMarshall +RPCRT4.dll!NdrVaryingArrayMemorySize +RPCRT4.dll!NdrVaryingArrayUnmarshall +RPCRT4.dll!NdrXmitOrRepAsBufferSize +RPCRT4.dll!NdrXmitOrRepAsFree +RPCRT4.dll!NdrXmitOrRepAsMarshall +RPCRT4.dll!NdrXmitOrRepAsMemorySize +RPCRT4.dll!NdrXmitOrRepAsUnmarshall +RPCRT4.dll!pfnFreeRoutines +RPCRT4.dll!pfnMarshallRoutines +RPCRT4.dll!pfnSizeRoutines +RPCRT4.dll!pfnUnmarshallRoutines +RPCRT4.dll!RpcAsyncAbortCall +RPCRT4.dll!RpcAsyncCancelCall +RPCRT4.dll!RpcAsyncCompleteCall +RPCRT4.dll!RpcAsyncGetCallStatus +RPCRT4.dll!RpcAsyncInitializeHandle +RPCRT4.dll!RpcAsyncRegisterInfo +RPCRT4.dll!RpcBindingBind +RPCRT4.dll!RpcBindingCopy +RPCRT4.dll!RpcBindingCreateA +RPCRT4.dll!RpcBindingCreateW +RPCRT4.dll!RpcBindingFree +RPCRT4.dll!RpcBindingFromStringBindingA +RPCRT4.dll!RpcBindingFromStringBindingW +RPCRT4.dll!RpcBindingInqAuthClientA +RPCRT4.dll!RpcBindingInqAuthClientExA +RPCRT4.dll!RpcBindingInqAuthClientExW +RPCRT4.dll!RpcBindingInqAuthClientW +RPCRT4.dll!RpcBindingInqAuthInfoA +RPCRT4.dll!RpcBindingInqAuthInfoExA +RPCRT4.dll!RpcBindingInqAuthInfoExW +RPCRT4.dll!RpcBindingInqAuthInfoW +RPCRT4.dll!RpcBindingInqObject +RPCRT4.dll!RpcBindingInqOption +RPCRT4.dll!RpcBindingReset +RPCRT4.dll!RpcBindingServerFromClient +RPCRT4.dll!RpcBindingSetAuthInfoA +RPCRT4.dll!RpcBindingSetAuthInfoExA +RPCRT4.dll!RpcBindingSetAuthInfoExW +RPCRT4.dll!RpcBindingSetAuthInfoW +RPCRT4.dll!RpcBindingSetObject +RPCRT4.dll!RpcBindingSetOption +RPCRT4.dll!RpcBindingToStringBindingA +RPCRT4.dll!RpcBindingToStringBindingW +RPCRT4.dll!RpcBindingUnbind +RPCRT4.dll!RpcBindingVectorFree +RPCRT4.dll!RpcCancelThread +RPCRT4.dll!RpcCancelThreadEx +RPCRT4.dll!RpcCertGeneratePrincipalNameA +RPCRT4.dll!RpcCertGeneratePrincipalNameW +RPCRT4.dll!RpcEpRegisterA +RPCRT4.dll!RpcEpRegisterNoReplaceA +RPCRT4.dll!RpcEpRegisterNoReplaceW +RPCRT4.dll!RpcEpRegisterW +RPCRT4.dll!RpcEpResolveBinding +RPCRT4.dll!RpcEpUnregister +RPCRT4.dll!RpcErrorAddRecord +RPCRT4.dll!RpcErrorClearInformation +RPCRT4.dll!RpcErrorEndEnumeration +RPCRT4.dll!RpcErrorGetNextRecord +RPCRT4.dll!RpcErrorGetNumberOfRecords +RPCRT4.dll!RpcErrorLoadErrorInfo +RPCRT4.dll!RpcErrorResetEnumeration +RPCRT4.dll!RpcErrorSaveErrorInfo +RPCRT4.dll!RpcErrorStartEnumeration +RPCRT4.dll!RpcExceptionFilter +RPCRT4.dll!RpcFreeAuthorizationContext +RPCRT4.dll!RpcGetAuthorizationContextForClient +RPCRT4.dll!RpcIfIdVectorFree +RPCRT4.dll!RpcIfInqId +RPCRT4.dll!RpcImpersonateClient +RPCRT4.dll!RpcImpersonateClient2 +RPCRT4.dll!RpcImpersonateClientContainer +RPCRT4.dll!RpcMgmtEnableIdleCleanup +RPCRT4.dll!RpcMgmtEpEltInqBegin +RPCRT4.dll!RpcMgmtEpEltInqDone +RPCRT4.dll!RpcMgmtEpEltInqNextA +RPCRT4.dll!RpcMgmtEpEltInqNextW +RPCRT4.dll!RpcMgmtEpUnregister +RPCRT4.dll!RpcMgmtInqComTimeout +RPCRT4.dll!RpcMgmtInqDefaultProtectLevel +RPCRT4.dll!RpcMgmtInqIfIds +RPCRT4.dll!RpcMgmtInqServerPrincNameA +RPCRT4.dll!RpcMgmtInqServerPrincNameW +RPCRT4.dll!RpcMgmtInqStats +RPCRT4.dll!RpcMgmtIsServerListening +RPCRT4.dll!RpcMgmtSetAuthorizationFn +RPCRT4.dll!RpcMgmtSetCancelTimeout +RPCRT4.dll!RpcMgmtSetComTimeout +RPCRT4.dll!RpcMgmtSetServerStackSize +RPCRT4.dll!RpcMgmtStatsVectorFree +RPCRT4.dll!RpcMgmtStopServerListening +RPCRT4.dll!RpcMgmtWaitServerListen +RPCRT4.dll!RpcNetworkInqProtseqsA +RPCRT4.dll!RpcNetworkInqProtseqsW +RPCRT4.dll!RpcNetworkIsProtseqValidA +RPCRT4.dll!RpcNetworkIsProtseqValidW +RPCRT4.dll!RpcNsBindingInqEntryNameA +RPCRT4.dll!RpcNsBindingInqEntryNameW +RPCRT4.dll!RpcObjectInqType +RPCRT4.dll!RpcObjectSetInqFn +RPCRT4.dll!RpcObjectSetType +RPCRT4.dll!RpcProtseqVectorFreeA +RPCRT4.dll!RpcProtseqVectorFreeW +RPCRT4.dll!RpcRaiseException +RPCRT4.dll!RpcRevertContainerImpersonation +RPCRT4.dll!RpcRevertToSelf +RPCRT4.dll!RpcRevertToSelfEx +RPCRT4.dll!RpcServerCompleteSecurityCallback +RPCRT4.dll!RpcServerInqBindingHandle +RPCRT4.dll!RpcServerInqBindings +RPCRT4.dll!RpcServerInqCallAttributesA +RPCRT4.dll!RpcServerInqCallAttributesW +RPCRT4.dll!RpcServerInqDefaultPrincNameA +RPCRT4.dll!RpcServerInqDefaultPrincNameW +RPCRT4.dll!RpcServerInqIf +RPCRT4.dll!RpcServerInterfaceGroupActivate +RPCRT4.dll!RpcServerInterfaceGroupClose +RPCRT4.dll!RpcServerInterfaceGroupCreateA +RPCRT4.dll!RpcServerInterfaceGroupCreateW +RPCRT4.dll!RpcServerInterfaceGroupDeactivate +RPCRT4.dll!RpcServerInterfaceGroupInqBindings +RPCRT4.dll!RpcServerListen +RPCRT4.dll!RpcServerRegisterAuthInfoA +RPCRT4.dll!RpcServerRegisterAuthInfoW +RPCRT4.dll!RpcServerRegisterIf +RPCRT4.dll!RpcServerRegisterIf2 +RPCRT4.dll!RpcServerRegisterIf3 +RPCRT4.dll!RpcServerRegisterIfEx +RPCRT4.dll!RpcServerSubscribeForNotification +RPCRT4.dll!RpcServerTestCancel +RPCRT4.dll!RpcServerUnregisterIf +RPCRT4.dll!RpcServerUnregisterIfEx +RPCRT4.dll!RpcServerUnsubscribeForNotification +RPCRT4.dll!RpcServerUseAllProtseqs +RPCRT4.dll!RpcServerUseAllProtseqsEx +RPCRT4.dll!RpcServerUseAllProtseqsIf +RPCRT4.dll!RpcServerUseAllProtseqsIfEx +RPCRT4.dll!RpcServerUseProtseqA +RPCRT4.dll!RpcServerUseProtseqEpA +RPCRT4.dll!RpcServerUseProtseqEpExA +RPCRT4.dll!RpcServerUseProtseqEpExW +RPCRT4.dll!RpcServerUseProtseqEpW +RPCRT4.dll!RpcServerUseProtseqExA +RPCRT4.dll!RpcServerUseProtseqExW +RPCRT4.dll!RpcServerUseProtseqIfA +RPCRT4.dll!RpcServerUseProtseqIfExA +RPCRT4.dll!RpcServerUseProtseqIfExW +RPCRT4.dll!RpcServerUseProtseqIfW +RPCRT4.dll!RpcServerUseProtseqW +RPCRT4.dll!RpcServerYield +RPCRT4.dll!RpcSmAllocate +RPCRT4.dll!RpcSmClientFree +RPCRT4.dll!RpcSmDestroyClientContext +RPCRT4.dll!RpcSmDisableAllocate +RPCRT4.dll!RpcSmEnableAllocate +RPCRT4.dll!RpcSmFree +RPCRT4.dll!RpcSmGetThreadHandle +RPCRT4.dll!RpcSmSetClientAllocFree +RPCRT4.dll!RpcSmSetThreadHandle +RPCRT4.dll!RpcSmSwapClientAllocFree +RPCRT4.dll!RpcSsAllocate +RPCRT4.dll!RpcSsContextLockExclusive +RPCRT4.dll!RpcSsContextLockShared +RPCRT4.dll!RpcSsDestroyClientContext +RPCRT4.dll!RpcSsDisableAllocate +RPCRT4.dll!RpcSsDontSerializeContext +RPCRT4.dll!RpcSsEnableAllocate +RPCRT4.dll!RpcSsFree +RPCRT4.dll!RpcSsGetContextBinding +RPCRT4.dll!RpcSsGetThreadHandle +RPCRT4.dll!RpcSsSetClientAllocFree +RPCRT4.dll!RpcSsSetThreadHandle +RPCRT4.dll!RpcSsSwapClientAllocFree +RPCRT4.dll!RpcStringBindingComposeA +RPCRT4.dll!RpcStringBindingComposeW +RPCRT4.dll!RpcStringBindingParseA +RPCRT4.dll!RpcStringBindingParseW +RPCRT4.dll!RpcStringFreeA +RPCRT4.dll!RpcStringFreeW +RPCRT4.dll!RpcTestCancel +RPCRT4.dll!RpcUserFree +RPCRT4.dll!SimpleTypeAlignment +RPCRT4.dll!SimpleTypeBufferSize +RPCRT4.dll!SimpleTypeMemorySize +RPCRT4.dll!TowerConstruct +RPCRT4.dll!TowerExplode +RPCRT4.dll!UuidCompare +RPCRT4.dll!UuidCreate +RPCRT4.dll!UuidCreateNil +RPCRT4.dll!UuidCreateSequential +RPCRT4.dll!UuidEqual +RPCRT4.dll!UuidFromStringA +RPCRT4.dll!UuidFromStringW +RPCRT4.dll!UuidHash +RPCRT4.dll!UuidIsNil +RPCRT4.dll!UuidToStringA +RPCRT4.dll!UuidToStringW +samcli.dll!NetGetDisplayInformationIndex +samcli.dll!NetGroupAdd +samcli.dll!NetGroupAddUser +samcli.dll!NetGroupDel +samcli.dll!NetGroupDelUser +samcli.dll!NetGroupEnum +samcli.dll!NetGroupGetInfo +samcli.dll!NetGroupGetUsers +samcli.dll!NetGroupSetInfo +samcli.dll!NetGroupSetUsers +samcli.dll!NetLocalGroupAdd +samcli.dll!NetLocalGroupAddMember +samcli.dll!NetLocalGroupAddMembers +samcli.dll!NetLocalGroupDel +samcli.dll!NetLocalGroupDelMember +samcli.dll!NetLocalGroupDelMembers +samcli.dll!NetLocalGroupEnum +samcli.dll!NetLocalGroupGetInfo +samcli.dll!NetLocalGroupGetMembers +samcli.dll!NetLocalGroupSetInfo +samcli.dll!NetLocalGroupSetMembers +samcli.dll!NetQueryDisplayInformation +samcli.dll!NetUserAdd +samcli.dll!NetUserChangePassword +samcli.dll!NetUserDel +samcli.dll!NetUserEnum +samcli.dll!NetUserGetGroups +samcli.dll!NetUserGetInfo +samcli.dll!NetUserGetInternetIdentityInfo +samcli.dll!NetUserGetLocalGroups +samcli.dll!NetUserModalsGet +samcli.dll!NetUserModalsSet +samcli.dll!NetUserSetGroups +samcli.dll!NetUserSetInfo +samcli.dll!NetValidatePasswordPolicy +samcli.dll!NetValidatePasswordPolicyFree +schedcli.dll!NetScheduleJobAdd +schedcli.dll!NetScheduleJobDel +schedcli.dll!NetScheduleJobEnum +schedcli.dll!NetScheduleJobGetInfo +srvcli.dll!LocalAliasGet +srvcli.dll!LocalFileClose +srvcli.dll!LocalFileEnum +srvcli.dll!LocalFileEnumEx +srvcli.dll!LocalFileGetInfo +srvcli.dll!LocalFileGetInfoEx +srvcli.dll!LocalSessionDel +srvcli.dll!LocalSessionEnum +srvcli.dll!LocalSessionEnumEx +srvcli.dll!LocalSessionGetInfo +srvcli.dll!LocalSessionGetInfoEx +srvcli.dll!LocalShareAdd +srvcli.dll!LocalShareDelEx +srvcli.dll!LocalShareEnum +srvcli.dll!LocalShareEnumEx +srvcli.dll!LocalShareGetInfo +srvcli.dll!LocalShareGetInfoEx +srvcli.dll!LocalShareSetInfo +srvcli.dll!NetConnectionEnum +srvcli.dll!NetFileClose +srvcli.dll!NetFileEnum +srvcli.dll!NetFileGetInfo +srvcli.dll!NetRemoteTOD +srvcli.dll!NetServerAliasAdd +srvcli.dll!NetServerAliasDel +srvcli.dll!NetServerAliasEnum +srvcli.dll!NetServerComputerNameAdd +srvcli.dll!NetServerComputerNameDel +srvcli.dll!NetServerDiskEnum +srvcli.dll!NetServerGetInfo +srvcli.dll!NetServerSetInfo +srvcli.dll!NetServerStatisticsGet +srvcli.dll!NetServerTransportAdd +srvcli.dll!NetServerTransportAddEx +srvcli.dll!NetServerTransportDel +srvcli.dll!NetServerTransportEnum +srvcli.dll!NetSessionDel +srvcli.dll!NetSessionEnum +srvcli.dll!NetSessionGetInfo +srvcli.dll!NetShareAdd +srvcli.dll!NetShareCheck +srvcli.dll!NetShareDel +srvcli.dll!NetShareDelEx +srvcli.dll!NetShareDelSticky +srvcli.dll!NetShareEnum +srvcli.dll!NetShareEnumSticky +srvcli.dll!NetShareGetInfo +srvcli.dll!NetShareSetInfo +SspiCli.dll!AcceptSecurityContext +SspiCli.dll!AcquireCredentialsHandleA +SspiCli.dll!AcquireCredentialsHandleW +SspiCli.dll!AddCredentialsA +SspiCli.dll!AddCredentialsW +SspiCli.dll!AddSecurityPackageA +SspiCli.dll!AddSecurityPackageW +SspiCli.dll!ApplyControlToken +SspiCli.dll!ChangeAccountPasswordA +SspiCli.dll!ChangeAccountPasswordW +SspiCli.dll!CompleteAuthToken +SspiCli.dll!DecryptMessage +SspiCli.dll!DeleteSecurityContext +SspiCli.dll!DeleteSecurityPackageA +SspiCli.dll!DeleteSecurityPackageW +SspiCli.dll!EncryptMessage +SspiCli.dll!EnumerateSecurityPackagesA +SspiCli.dll!EnumerateSecurityPackagesW +SspiCli.dll!ExportSecurityContext +SspiCli.dll!FreeContextBuffer +SspiCli.dll!FreeCredentialsHandle +SspiCli.dll!GetUserNameExA +SspiCli.dll!GetUserNameExW +SspiCli.dll!ImpersonateSecurityContext +SspiCli.dll!ImportSecurityContextA +SspiCli.dll!ImportSecurityContextW +SspiCli.dll!InitializeSecurityContextA +SspiCli.dll!InitializeSecurityContextW +SspiCli.dll!InitSecurityInterfaceA +SspiCli.dll!InitSecurityInterfaceW +SspiCli.dll!LogonUserExExW +SspiCli.dll!LsaCallAuthenticationPackage +SspiCli.dll!LsaConnectUntrusted +SspiCli.dll!LsaDeregisterLogonProcess +SspiCli.dll!LsaEnumerateLogonSessions +SspiCli.dll!LsaFreeReturnBuffer +SspiCli.dll!LsaGetLogonSessionData +SspiCli.dll!LsaLogonUser +SspiCli.dll!LsaLookupAuthenticationPackage +SspiCli.dll!LsaRegisterLogonProcess +SspiCli.dll!LsaRegisterPolicyChangeNotification +SspiCli.dll!LsaUnregisterPolicyChangeNotification +SspiCli.dll!MakeSignature +SspiCli.dll!QueryContextAttributesA +SspiCli.dll!QueryContextAttributesExA +SspiCli.dll!QueryContextAttributesExW +SspiCli.dll!QueryContextAttributesW +SspiCli.dll!QueryCredentialsAttributesA +SspiCli.dll!QueryCredentialsAttributesExA +SspiCli.dll!QueryCredentialsAttributesExW +SspiCli.dll!QueryCredentialsAttributesW +SspiCli.dll!QuerySecurityContextToken +SspiCli.dll!QuerySecurityPackageInfoA +SspiCli.dll!QuerySecurityPackageInfoW +SspiCli.dll!RevertSecurityContext +SspiCli.dll!SaslAcceptSecurityContext +SspiCli.dll!SaslEnumerateProfilesA +SspiCli.dll!SaslEnumerateProfilesW +SspiCli.dll!SaslGetContextOption +SspiCli.dll!SaslGetProfilePackageA +SspiCli.dll!SaslGetProfilePackageW +SspiCli.dll!SaslIdentifyPackageA +SspiCli.dll!SaslIdentifyPackageW +SspiCli.dll!SaslInitializeSecurityContextA +SspiCli.dll!SaslInitializeSecurityContextW +SspiCli.dll!SaslSetContextOption +SspiCli.dll!SealMessage +SspiCli.dll!SetContextAttributesA +SspiCli.dll!SetContextAttributesW +SspiCli.dll!SetCredentialsAttributesA +SspiCli.dll!SetCredentialsAttributesW +SspiCli.dll!SspiCompareAuthIdentities +SspiCli.dll!SspiCopyAuthIdentity +SspiCli.dll!SspiDecryptAuthIdentity +SspiCli.dll!SspiDecryptAuthIdentityEx +SspiCli.dll!SspiEncodeAuthIdentityAsStrings +SspiCli.dll!SspiEncodeStringsAsAuthIdentity +SspiCli.dll!SspiEncryptAuthIdentity +SspiCli.dll!SspiEncryptAuthIdentityEx +SspiCli.dll!SspiExcludePackage +SspiCli.dll!SspiFreeAuthIdentity +SspiCli.dll!SspiGetTargetHostName +SspiCli.dll!SspiIsAuthIdentityEncrypted +SspiCli.dll!SspiLocalFree +SspiCli.dll!SspiMarshalAuthIdentity +SspiCli.dll!SspiPrepareForCredRead +SspiCli.dll!SspiPrepareForCredWrite +SspiCli.dll!SspiUnmarshalAuthIdentity +SspiCli.dll!SspiValidateAuthIdentity +SspiCli.dll!SspiZeroAuthIdentity +SspiCli.dll!UnsealMessage +SspiCli.dll!VerifySignature +TOKENBINDING.dll!TokenBindingDeleteBinding +TOKENBINDING.dll!TokenBindingGenerateBinding +TOKENBINDING.dll!TokenBindingGenerateMessage +TOKENBINDING.dll!TokenBindingGetKeyTypesClient +TOKENBINDING.dll!TokenBindingGetKeyTypesServer +TOKENBINDING.dll!TokenBindingVerifyMessage +USERENV.dll!AreThereVisibleLogoffScripts +USERENV.dll!AreThereVisibleShutdownScripts +USERENV.dll!CheckDirectoryOwnership +USERENV.dll!CheckXForestLogon +USERENV.dll!CopyProfileDirectoryEx2 +USERENV.dll!CreateAppContainerProfile +USERENV.dll!CreateAppContainerProfileInternal +USERENV.dll!CreateDirectoryJunctionsForSystem +USERENV.dll!CreateDirectoryJunctionsForUserProfile +USERENV.dll!CreateEnvironmentBlock +USERENV.dll!CreateGroupEx +USERENV.dll!CreateLinkFileEx +USERENV.dll!CreateProfile +USERENV.dll!DeleteAppContainerProfile +USERENV.dll!DeleteAppContainerProfileInternal +USERENV.dll!DeleteGroup +USERENV.dll!DeleteLinkFile +USERENV.dll!DeleteProfileA +USERENV.dll!DeleteProfileDirectory +USERENV.dll!DeleteProfileW +USERENV.dll!DeriveAppContainerSidFromAppContainerName +USERENV.dll!DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName +USERENV.dll!DestroyEnvironmentBlock +USERENV.dll!EnterCriticalPolicySection +USERENV.dll!ExpandEnvironmentStringsForUserA +USERENV.dll!ExpandEnvironmentStringsForUserW +USERENV.dll!ForceSyncFgPolicy +USERENV.dll!FreeGPOListA +USERENV.dll!FreeGPOListW +USERENV.dll!GenerateGPNotification +USERENV.dll!GetAllUsersProfileDirectoryA +USERENV.dll!GetAllUsersProfileDirectoryW +USERENV.dll!GetAppContainerFolderPath +USERENV.dll!GetAppContainerRegistryLocation +USERENV.dll!GetAppliedGPOListA +USERENV.dll!GetAppliedGPOListW +USERENV.dll!GetDefaultUserProfileDirectoryA +USERENV.dll!GetDefaultUserProfileDirectoryW +USERENV.dll!GetGPOListA +USERENV.dll!GetGPOListW +USERENV.dll!GetLongProfilePathName +USERENV.dll!GetNextFgPolicyRefreshInfo +USERENV.dll!GetPreviousFgPolicyRefreshInfo +USERENV.dll!GetProfilesDirectoryA +USERENV.dll!GetProfilesDirectoryW +USERENV.dll!GetProfileType +USERENV.dll!GetUserProfileDirectoryA +USERENV.dll!GetUserProfileDirectoryForUserSidW +USERENV.dll!GetUserProfileDirectoryW +USERENV.dll!HasPolicyForegroundProcessingCompleted +USERENV.dll!LeaveCriticalPolicySection +USERENV.dll!LoadUserProfileA +USERENV.dll!LoadUserProfileW +USERENV.dll!LookupAppContainerDisplayName +USERENV.dll!PingComputer +USERENV.dll!ProcessGroupPolicyCompleted +USERENV.dll!ProcessGroupPolicyCompletedEx +USERENV.dll!RefreshPolicy +USERENV.dll!RefreshPolicyEx +USERENV.dll!RegisterGPNotification +USERENV.dll!RemapProfile +USERENV.dll!RsopAccessCheckByType +USERENV.dll!RsopFileAccessCheck +USERENV.dll!RsopLoggingEnabled +USERENV.dll!RsopResetPolicySettingStatus +USERENV.dll!RsopSetPolicySettingStatus +USERENV.dll!UnloadUserProfile +USERENV.dll!UnregisterGPNotification +USERENV.dll!UpdateAppContainerProfile +USERENV.dll!WaitForMachinePolicyForegroundProcessing +USERENV.dll!WaitForUserPolicyForegroundProcessing +websocket.dll!WebSocketAbortHandle +websocket.dll!WebSocketBeginClientHandshake +websocket.dll!WebSocketBeginServerHandshake +websocket.dll!WebSocketCompleteAction +websocket.dll!WebSocketCreateClientHandle +websocket.dll!WebSocketCreateServerHandle +websocket.dll!WebSocketDeleteHandle +websocket.dll!WebSocketEndClientHandshake +websocket.dll!WebSocketEndServerHandshake +websocket.dll!WebSocketGetAction +websocket.dll!WebSocketGetGlobalProperty +websocket.dll!WebSocketReceive +websocket.dll!WebSocketSend +WINHTTP.dll!SvchostPushServiceGlobals +WINHTTP.dll!WinHttpAddRequestHeaders +WINHTTP.dll!WinHttpAutoProxySvcMain +WINHTTP.dll!WinHttpCheckPlatform +WINHTTP.dll!WinHttpCloseHandle +WINHTTP.dll!WinHttpConnect +WINHTTP.dll!WinHttpConnectionDeleteProxyInfo +WINHTTP.dll!WinHttpConnectionFreeNameList +WINHTTP.dll!WinHttpConnectionFreeProxyInfo +WINHTTP.dll!WinHttpConnectionFreeProxyList +WINHTTP.dll!WinHttpConnectionGetNameList +WINHTTP.dll!WinHttpConnectionGetProxyInfo +WINHTTP.dll!WinHttpConnectionGetProxyList +WINHTTP.dll!WinHttpConnectionSetProxyInfo +WINHTTP.dll!WinHttpCrackUrl +WINHTTP.dll!WinHttpCreateProxyResolver +WINHTTP.dll!WinHttpCreateUrl +WINHTTP.dll!WinHttpDetectAutoProxyConfigUrl +WINHTTP.dll!WinHttpFreeProxyResult +WINHTTP.dll!WinHttpGetDefaultProxyConfiguration +WINHTTP.dll!WinHttpGetIEProxyConfigForCurrentUser +WINHTTP.dll!WinHttpGetProxyForUrl +WINHTTP.dll!WinHttpGetProxyForUrlEx +WINHTTP.dll!WinHttpGetProxyResult +WINHTTP.dll!WinHttpGetTunnelSocket +WINHTTP.dll!WinHttpOpen +WINHTTP.dll!WinHttpOpenRequest +WINHTTP.dll!WinHttpProbeConnectivity +WINHTTP.dll!WinHttpQueryAuthSchemes +WINHTTP.dll!WinHttpQueryDataAvailable +WINHTTP.dll!WinHttpQueryHeaders +WINHTTP.dll!WinHttpQueryOption +WINHTTP.dll!WinHttpReadData +WINHTTP.dll!WinHttpReceiveResponse +WINHTTP.dll!WinHttpResetAutoProxy +WINHTTP.dll!WinHttpSaveProxyCredentials +WINHTTP.dll!WinHttpSendRequest +WINHTTP.dll!WinHttpSetCredentials +WINHTTP.dll!WinHttpSetDefaultProxyConfiguration +WINHTTP.dll!WinHttpSetOption +WINHTTP.dll!WinHttpSetStatusCallback +WINHTTP.dll!WinHttpSetTimeouts +WINHTTP.dll!WinHttpTimeFromSystemTime +WINHTTP.dll!WinHttpTimeToSystemTime +WINHTTP.dll!WinHttpWebSocketClose +WINHTTP.dll!WinHttpWebSocketCompleteUpgrade +WINHTTP.dll!WinHttpWebSocketQueryCloseStatus +WINHTTP.dll!WinHttpWebSocketReceive +WINHTTP.dll!WinHttpWebSocketSend +WINHTTP.dll!WinHttpWebSocketShutdown +WINHTTP.dll!WinHttpWriteData +wkscli.dll!NetAddAlternateComputerName +wkscli.dll!NetEnumerateComputerNames +wkscli.dll!NetGetJoinableOUs +wkscli.dll!NetGetJoinInformation +wkscli.dll!NetJoinDomain +wkscli.dll!NetRemoveAlternateComputerName +wkscli.dll!NetRenameMachineInDomain +wkscli.dll!NetSetPrimaryComputerName +wkscli.dll!NetUnjoinDomain +wkscli.dll!NetUseAdd +wkscli.dll!NetUseDel +wkscli.dll!NetUseEnum +wkscli.dll!NetUseGetInfo +wkscli.dll!NetValidateName +wkscli.dll!NetWkstaGetInfo +wkscli.dll!NetWkstaSetInfo +wkscli.dll!NetWkstaStatisticsGet +wkscli.dll!NetWkstaTransportAdd +wkscli.dll!NetWkstaTransportDel +wkscli.dll!NetWkstaTransportEnum +wkscli.dll!NetWkstaUserEnum +wkscli.dll!NetWkstaUserGetInfo +wkscli.dll!NetWkstaUserSetInfo +WLDAP32.dll!ber_alloc_t +WLDAP32.dll!ber_bvdup +WLDAP32.dll!ber_bvecfree +WLDAP32.dll!ber_bvfree +WLDAP32.dll!ber_first_element +WLDAP32.dll!ber_flatten +WLDAP32.dll!ber_free +WLDAP32.dll!ber_init +WLDAP32.dll!ber_next_element +WLDAP32.dll!ber_peek_tag +WLDAP32.dll!ber_printf +WLDAP32.dll!ber_scanf +WLDAP32.dll!ber_skip_tag +WLDAP32.dll!cldap_open +WLDAP32.dll!cldap_openA +WLDAP32.dll!cldap_openW +WLDAP32.dll!ldap_abandon +WLDAP32.dll!ldap_add +WLDAP32.dll!ldap_add_ext +WLDAP32.dll!ldap_add_ext_s +WLDAP32.dll!ldap_add_ext_sA +WLDAP32.dll!ldap_add_ext_sW +WLDAP32.dll!ldap_add_extA +WLDAP32.dll!ldap_add_extW +WLDAP32.dll!ldap_add_s +WLDAP32.dll!ldap_add_sA +WLDAP32.dll!ldap_add_sW +WLDAP32.dll!ldap_addA +WLDAP32.dll!ldap_addW +WLDAP32.dll!ldap_bind +WLDAP32.dll!ldap_bind_s +WLDAP32.dll!ldap_bind_sA +WLDAP32.dll!ldap_bind_sW +WLDAP32.dll!ldap_bindA +WLDAP32.dll!ldap_bindW +WLDAP32.dll!ldap_check_filterA +WLDAP32.dll!ldap_check_filterW +WLDAP32.dll!ldap_cleanup +WLDAP32.dll!ldap_close_extended_op +WLDAP32.dll!ldap_compare +WLDAP32.dll!ldap_compare_ext +WLDAP32.dll!ldap_compare_ext_s +WLDAP32.dll!ldap_compare_ext_sA +WLDAP32.dll!ldap_compare_ext_sW +WLDAP32.dll!ldap_compare_extA +WLDAP32.dll!ldap_compare_extW +WLDAP32.dll!ldap_compare_s +WLDAP32.dll!ldap_compare_sA +WLDAP32.dll!ldap_compare_sW +WLDAP32.dll!ldap_compareA +WLDAP32.dll!ldap_compareW +WLDAP32.dll!ldap_conn_from_msg +WLDAP32.dll!ldap_connect +WLDAP32.dll!ldap_control_free +WLDAP32.dll!ldap_control_freeA +WLDAP32.dll!ldap_control_freeW +WLDAP32.dll!ldap_controls_free +WLDAP32.dll!ldap_controls_freeA +WLDAP32.dll!ldap_controls_freeW +WLDAP32.dll!ldap_count_entries +WLDAP32.dll!ldap_count_references +WLDAP32.dll!ldap_count_values +WLDAP32.dll!ldap_count_values_len +WLDAP32.dll!ldap_count_valuesA +WLDAP32.dll!ldap_count_valuesW +WLDAP32.dll!ldap_create_page_control +WLDAP32.dll!ldap_create_page_controlA +WLDAP32.dll!ldap_create_page_controlW +WLDAP32.dll!ldap_create_sort_control +WLDAP32.dll!ldap_create_sort_controlA +WLDAP32.dll!ldap_create_sort_controlW +WLDAP32.dll!ldap_create_vlv_controlA +WLDAP32.dll!ldap_create_vlv_controlW +WLDAP32.dll!ldap_delete +WLDAP32.dll!ldap_delete_ext +WLDAP32.dll!ldap_delete_ext_s +WLDAP32.dll!ldap_delete_ext_sA +WLDAP32.dll!ldap_delete_ext_sW +WLDAP32.dll!ldap_delete_extA +WLDAP32.dll!ldap_delete_extW +WLDAP32.dll!ldap_delete_s +WLDAP32.dll!ldap_delete_sA +WLDAP32.dll!ldap_delete_sW +WLDAP32.dll!ldap_deleteA +WLDAP32.dll!ldap_deleteW +WLDAP32.dll!ldap_dn2ufn +WLDAP32.dll!ldap_dn2ufnA +WLDAP32.dll!ldap_dn2ufnW +WLDAP32.dll!ldap_encode_sort_controlA +WLDAP32.dll!ldap_encode_sort_controlW +WLDAP32.dll!ldap_err2string +WLDAP32.dll!ldap_err2stringA +WLDAP32.dll!ldap_err2stringW +WLDAP32.dll!ldap_escape_filter_element +WLDAP32.dll!ldap_escape_filter_elementA +WLDAP32.dll!ldap_escape_filter_elementW +WLDAP32.dll!ldap_explode_dn +WLDAP32.dll!ldap_explode_dnA +WLDAP32.dll!ldap_explode_dnW +WLDAP32.dll!ldap_extended_operation +WLDAP32.dll!ldap_extended_operation_sA +WLDAP32.dll!ldap_extended_operation_sW +WLDAP32.dll!ldap_extended_operationA +WLDAP32.dll!ldap_extended_operationW +WLDAP32.dll!ldap_first_attribute +WLDAP32.dll!ldap_first_attributeA +WLDAP32.dll!ldap_first_attributeW +WLDAP32.dll!ldap_first_entry +WLDAP32.dll!ldap_first_reference +WLDAP32.dll!ldap_free_controls +WLDAP32.dll!ldap_free_controlsA +WLDAP32.dll!ldap_free_controlsW +WLDAP32.dll!ldap_get_dn +WLDAP32.dll!ldap_get_dnA +WLDAP32.dll!ldap_get_dnW +WLDAP32.dll!ldap_get_next_page +WLDAP32.dll!ldap_get_next_page_s +WLDAP32.dll!ldap_get_option +WLDAP32.dll!ldap_get_optionA +WLDAP32.dll!ldap_get_optionW +WLDAP32.dll!ldap_get_paged_count +WLDAP32.dll!ldap_get_values +WLDAP32.dll!ldap_get_values_len +WLDAP32.dll!ldap_get_values_lenA +WLDAP32.dll!ldap_get_values_lenW +WLDAP32.dll!ldap_get_valuesA +WLDAP32.dll!ldap_get_valuesW +WLDAP32.dll!ldap_init +WLDAP32.dll!ldap_initA +WLDAP32.dll!ldap_initW +WLDAP32.dll!ldap_memfree +WLDAP32.dll!ldap_memfreeA +WLDAP32.dll!ldap_memfreeW +WLDAP32.dll!ldap_modify +WLDAP32.dll!ldap_modify_ext +WLDAP32.dll!ldap_modify_ext_s +WLDAP32.dll!ldap_modify_ext_sA +WLDAP32.dll!ldap_modify_ext_sW +WLDAP32.dll!ldap_modify_extA +WLDAP32.dll!ldap_modify_extW +WLDAP32.dll!ldap_modify_s +WLDAP32.dll!ldap_modify_sA +WLDAP32.dll!ldap_modify_sW +WLDAP32.dll!ldap_modifyA +WLDAP32.dll!ldap_modifyW +WLDAP32.dll!ldap_modrdn +WLDAP32.dll!ldap_modrdn_s +WLDAP32.dll!ldap_modrdn_sA +WLDAP32.dll!ldap_modrdn_sW +WLDAP32.dll!ldap_modrdn2 +WLDAP32.dll!ldap_modrdn2_s +WLDAP32.dll!ldap_modrdn2_sA +WLDAP32.dll!ldap_modrdn2_sW +WLDAP32.dll!ldap_modrdn2A +WLDAP32.dll!ldap_modrdn2W +WLDAP32.dll!ldap_modrdnA +WLDAP32.dll!ldap_modrdnW +WLDAP32.dll!ldap_msgfree +WLDAP32.dll!ldap_next_attribute +WLDAP32.dll!ldap_next_attributeA +WLDAP32.dll!ldap_next_attributeW +WLDAP32.dll!ldap_next_entry +WLDAP32.dll!ldap_next_reference +WLDAP32.dll!ldap_open +WLDAP32.dll!ldap_openA +WLDAP32.dll!ldap_openW +WLDAP32.dll!ldap_parse_extended_resultA +WLDAP32.dll!ldap_parse_extended_resultW +WLDAP32.dll!ldap_parse_page_control +WLDAP32.dll!ldap_parse_page_controlA +WLDAP32.dll!ldap_parse_page_controlW +WLDAP32.dll!ldap_parse_reference +WLDAP32.dll!ldap_parse_referenceA +WLDAP32.dll!ldap_parse_referenceW +WLDAP32.dll!ldap_parse_result +WLDAP32.dll!ldap_parse_resultA +WLDAP32.dll!ldap_parse_resultW +WLDAP32.dll!ldap_parse_sort_control +WLDAP32.dll!ldap_parse_sort_controlA +WLDAP32.dll!ldap_parse_sort_controlW +WLDAP32.dll!ldap_parse_vlv_controlA +WLDAP32.dll!ldap_parse_vlv_controlW +WLDAP32.dll!ldap_perror +WLDAP32.dll!ldap_rename_ext +WLDAP32.dll!ldap_rename_ext_s +WLDAP32.dll!ldap_rename_ext_sA +WLDAP32.dll!ldap_rename_ext_sW +WLDAP32.dll!ldap_rename_extA +WLDAP32.dll!ldap_rename_extW +WLDAP32.dll!ldap_result +WLDAP32.dll!ldap_result2error +WLDAP32.dll!ldap_sasl_bind_sA +WLDAP32.dll!ldap_sasl_bind_sW +WLDAP32.dll!ldap_sasl_bindA +WLDAP32.dll!ldap_sasl_bindW +WLDAP32.dll!ldap_search +WLDAP32.dll!ldap_search_abandon_page +WLDAP32.dll!ldap_search_ext +WLDAP32.dll!ldap_search_ext_s +WLDAP32.dll!ldap_search_ext_sA +WLDAP32.dll!ldap_search_ext_sW +WLDAP32.dll!ldap_search_extA +WLDAP32.dll!ldap_search_extW +WLDAP32.dll!ldap_search_init_page +WLDAP32.dll!ldap_search_init_pageA +WLDAP32.dll!ldap_search_init_pageW +WLDAP32.dll!ldap_search_s +WLDAP32.dll!ldap_search_sA +WLDAP32.dll!ldap_search_st +WLDAP32.dll!ldap_search_stA +WLDAP32.dll!ldap_search_stW +WLDAP32.dll!ldap_search_sW +WLDAP32.dll!ldap_searchA +WLDAP32.dll!ldap_searchW +WLDAP32.dll!ldap_set_dbg_flags +WLDAP32.dll!ldap_set_dbg_routine +WLDAP32.dll!ldap_set_option +WLDAP32.dll!ldap_set_optionA +WLDAP32.dll!ldap_set_optionW +WLDAP32.dll!ldap_simple_bind +WLDAP32.dll!ldap_simple_bind_s +WLDAP32.dll!ldap_simple_bind_sA +WLDAP32.dll!ldap_simple_bind_sW +WLDAP32.dll!ldap_simple_bindA +WLDAP32.dll!ldap_simple_bindW +WLDAP32.dll!ldap_sslinit +WLDAP32.dll!ldap_sslinitA +WLDAP32.dll!ldap_sslinitW +WLDAP32.dll!ldap_start_tls_sA +WLDAP32.dll!ldap_start_tls_sW +WLDAP32.dll!ldap_startup +WLDAP32.dll!ldap_stop_tls_s +WLDAP32.dll!ldap_ufn2dn +WLDAP32.dll!ldap_ufn2dnA +WLDAP32.dll!ldap_ufn2dnW +WLDAP32.dll!ldap_unbind +WLDAP32.dll!ldap_unbind_s +WLDAP32.dll!ldap_value_free +WLDAP32.dll!ldap_value_free_len +WLDAP32.dll!ldap_value_freeA +WLDAP32.dll!ldap_value_freeW +WLDAP32.dll!LdapGetLastError +WLDAP32.dll!LdapMapErrorToWin32 +WLDAP32.dll!LdapUnicodeToUTF8 +WLDAP32.dll!LdapUTF8ToUnicode +WS2_32.dll!__WSAFDIsSet +WS2_32.dll!accept +WS2_32.dll!bind +WS2_32.dll!closesocket +WS2_32.dll!connect +WS2_32.dll!freeaddrinfo +WS2_32.dll!FreeAddrInfoEx +WS2_32.dll!FreeAddrInfoExW +WS2_32.dll!FreeAddrInfoW +WS2_32.dll!getaddrinfo +WS2_32.dll!GetAddrInfoExA +WS2_32.dll!GetAddrInfoExCancel +WS2_32.dll!GetAddrInfoExOverlappedResult +WS2_32.dll!GetAddrInfoExW +WS2_32.dll!GetAddrInfoW +WS2_32.dll!gethostbyaddr +WS2_32.dll!gethostbyname +WS2_32.dll!gethostname +WS2_32.dll!GetHostNameW +WS2_32.dll!getnameinfo +WS2_32.dll!GetNameInfoW +WS2_32.dll!getpeername +WS2_32.dll!getprotobyname +WS2_32.dll!getprotobynumber +WS2_32.dll!getservbyname +WS2_32.dll!getservbyport +WS2_32.dll!getsockname +WS2_32.dll!getsockopt +WS2_32.dll!htonl +WS2_32.dll!htons +WS2_32.dll!inet_addr +WS2_32.dll!inet_ntoa +WS2_32.dll!inet_ntop +WS2_32.dll!inet_pton +WS2_32.dll!InetNtopW +WS2_32.dll!InetPtonW +WS2_32.dll!ioctlsocket +WS2_32.dll!listen +WS2_32.dll!ntohl +WS2_32.dll!ntohs +WS2_32.dll!recv +WS2_32.dll!recvfrom +WS2_32.dll!select +WS2_32.dll!send +WS2_32.dll!sendto +WS2_32.dll!SetAddrInfoExA +WS2_32.dll!SetAddrInfoExW +WS2_32.dll!setsockopt +WS2_32.dll!shutdown +WS2_32.dll!socket +WS2_32.dll!WahCloseApcHelper +WS2_32.dll!WahCloseHandleHelper +WS2_32.dll!WahCloseNotificationHandleHelper +WS2_32.dll!WahCloseSocketHandle +WS2_32.dll!WahCloseThread +WS2_32.dll!WahCompleteRequest +WS2_32.dll!WahCreateHandleContextTable +WS2_32.dll!WahCreateNotificationHandle +WS2_32.dll!WahCreateSocketHandle +WS2_32.dll!WahDestroyHandleContextTable +WS2_32.dll!WahDisableNonIFSHandleSupport +WS2_32.dll!WahEnableNonIFSHandleSupport +WS2_32.dll!WahEnumerateHandleContexts +WS2_32.dll!WahInsertHandleContext +WS2_32.dll!WahNotifyAllProcesses +WS2_32.dll!WahOpenApcHelper +WS2_32.dll!WahOpenCurrentThread +WS2_32.dll!WahOpenHandleHelper +WS2_32.dll!WahOpenNotificationHandleHelper +WS2_32.dll!WahQueueUserApc +WS2_32.dll!WahReferenceContextByHandle +WS2_32.dll!WahRemoveHandleContext +WS2_32.dll!WahWaitForNotification +WS2_32.dll!WahWriteLSPEvent +WS2_32.dll!WEP +WS2_32.dll!WPUCompleteOverlappedRequest +WS2_32.dll!WPUGetProviderPathEx +WS2_32.dll!WSAAccept +WS2_32.dll!WSAAddressToStringA +WS2_32.dll!WSAAddressToStringW +WS2_32.dll!WSAAdvertiseProvider +WS2_32.dll!WSAAsyncGetHostByAddr +WS2_32.dll!WSAAsyncGetHostByName +WS2_32.dll!WSAAsyncGetProtoByName +WS2_32.dll!WSAAsyncGetProtoByNumber +WS2_32.dll!WSAAsyncGetServByName +WS2_32.dll!WSAAsyncGetServByPort +WS2_32.dll!WSAAsyncSelect +WS2_32.dll!WSACancelAsyncRequest +WS2_32.dll!WSACancelBlockingCall +WS2_32.dll!WSACleanup +WS2_32.dll!WSACloseEvent +WS2_32.dll!WSAConnect +WS2_32.dll!WSAConnectByList +WS2_32.dll!WSAConnectByNameA +WS2_32.dll!WSAConnectByNameW +WS2_32.dll!WSACreateEvent +WS2_32.dll!WSADuplicateSocketA +WS2_32.dll!WSADuplicateSocketW +WS2_32.dll!WSAEnumNameSpaceProvidersA +WS2_32.dll!WSAEnumNameSpaceProvidersExA +WS2_32.dll!WSAEnumNameSpaceProvidersExW +WS2_32.dll!WSAEnumNameSpaceProvidersW +WS2_32.dll!WSAEnumNetworkEvents +WS2_32.dll!WSAEnumProtocolsA +WS2_32.dll!WSAEnumProtocolsW +WS2_32.dll!WSAEventSelect +WS2_32.dll!WSAGetLastError +WS2_32.dll!WSAGetOverlappedResult +WS2_32.dll!WSAGetQOSByName +WS2_32.dll!WSAGetServiceClassInfoA +WS2_32.dll!WSAGetServiceClassInfoW +WS2_32.dll!WSAGetServiceClassNameByClassIdA +WS2_32.dll!WSAGetServiceClassNameByClassIdW +WS2_32.dll!WSAHtonl +WS2_32.dll!WSAHtons +WS2_32.dll!WSAInstallServiceClassA +WS2_32.dll!WSAInstallServiceClassW +WS2_32.dll!WSAIoctl +WS2_32.dll!WSAIsBlocking +WS2_32.dll!WSAJoinLeaf +WS2_32.dll!WSALookupServiceBeginA +WS2_32.dll!WSALookupServiceBeginW +WS2_32.dll!WSALookupServiceEnd +WS2_32.dll!WSALookupServiceNextA +WS2_32.dll!WSALookupServiceNextW +WS2_32.dll!WSANSPIoctl +WS2_32.dll!WSANtohl +WS2_32.dll!WSANtohs +WS2_32.dll!WSAPoll +WS2_32.dll!WSAProviderCompleteAsyncCall +WS2_32.dll!WSAProviderConfigChange +WS2_32.dll!WSApSetPostRoutine +WS2_32.dll!WSARecv +WS2_32.dll!WSARecvDisconnect +WS2_32.dll!WSARecvFrom +WS2_32.dll!WSARemoveServiceClass +WS2_32.dll!WSAResetEvent +WS2_32.dll!WSASend +WS2_32.dll!WSASendDisconnect +WS2_32.dll!WSASendMsg +WS2_32.dll!WSASendTo +WS2_32.dll!WSASetBlockingHook +WS2_32.dll!WSASetEvent +WS2_32.dll!WSASetLastError +WS2_32.dll!WSASetServiceA +WS2_32.dll!WSASetServiceW +WS2_32.dll!WSASocketA +WS2_32.dll!WSASocketW +WS2_32.dll!WSAStartup +WS2_32.dll!WSAStringToAddressA +WS2_32.dll!WSAStringToAddressW +WS2_32.dll!WSAUnadvertiseProvider +WS2_32.dll!WSAUnhookBlockingHook +WS2_32.dll!WSAWaitForMultipleEvents +WS2_32.dll!WSCDeinstallProvider +WS2_32.dll!WSCDeinstallProviderEx +WS2_32.dll!WSCEnableNSProvider +WS2_32.dll!WSCEnumProtocols +WS2_32.dll!WSCEnumProtocolsEx +WS2_32.dll!WSCGetApplicationCategory +WS2_32.dll!WSCGetApplicationCategoryEx +WS2_32.dll!WSCGetProviderInfo +WS2_32.dll!WSCGetProviderPath +WS2_32.dll!WSCInstallNameSpace +WS2_32.dll!WSCInstallNameSpaceEx +WS2_32.dll!WSCInstallNameSpaceEx2 +WS2_32.dll!WSCInstallProvider +WS2_32.dll!WSCInstallProviderAndChains +WS2_32.dll!WSCInstallProviderEx +WS2_32.dll!WSCSetApplicationCategory +WS2_32.dll!WSCSetApplicationCategoryEx +WS2_32.dll!WSCSetProviderInfo +WS2_32.dll!WSCUnInstallNameSpace +WS2_32.dll!WSCUnInstallNameSpaceEx2 +WS2_32.dll!WSCUpdateProvider +WS2_32.dll!WSCUpdateProviderEx +WS2_32.dll!WSCWriteNameSpaceOrder +WS2_32.dll!WSCWriteProviderOrder +WS2_32.dll!WSCWriteProviderOrderEx +XmlLite.dll!CreateXmlReader +XmlLite.dll!CreateXmlReaderInputWithEncodingCodePage +XmlLite.dll!CreateXmlReaderInputWithEncodingName +XmlLite.dll!CreateXmlWriter +XmlLite.dll!CreateXmlWriterOutputWithEncodingCodePage +XmlLite.dll!CreateXmlWriterOutputWithEncodingName +advapi32.dll!AbortSystemShutdownW +advapi32.dll!AccessCheck +advapi32.dll!AccessCheckAndAuditAlarmW +advapi32.dll!AccessCheckByType +advapi32.dll!AccessCheckByTypeAndAuditAlarmW +advapi32.dll!AccessCheckByTypeResultList +advapi32.dll!AccessCheckByTypeResultListAndAuditAlarmByHandleW +advapi32.dll!AccessCheckByTypeResultListAndAuditAlarmW +advapi32.dll!AddAccessAllowedAce +advapi32.dll!AddAccessAllowedAceEx +advapi32.dll!AddAccessAllowedObjectAce +advapi32.dll!AddAccessDeniedAce +advapi32.dll!AddAccessDeniedAceEx +advapi32.dll!AddAccessDeniedObjectAce +advapi32.dll!AddAce +advapi32.dll!AddAuditAccessAce +advapi32.dll!AddAuditAccessAceEx +advapi32.dll!AddAuditAccessObjectAce +advapi32.dll!AddMandatoryAce +advapi32.dll!AdjustTokenGroups +advapi32.dll!AdjustTokenPrivileges +advapi32.dll!AllocateAndInitializeSid +advapi32.dll!AllocateLocallyUniqueId +advapi32.dll!AreAllAccessesGranted +advapi32.dll!AreAnyAccessesGranted +advapi32.dll!AuditComputeEffectivePolicyBySid +advapi32.dll!AuditEnumerateCategories +advapi32.dll!AuditEnumeratePerUserPolicy +advapi32.dll!AuditEnumerateSubCategories +advapi32.dll!AuditFree +advapi32.dll!AuditLookupCategoryNameW +advapi32.dll!AuditLookupSubCategoryNameW +advapi32.dll!AuditQueryGlobalSaclW +advapi32.dll!AuditQueryPerUserPolicy +advapi32.dll!AuditQuerySecurity +advapi32.dll!AuditQuerySystemPolicy +advapi32.dll!AuditSetGlobalSaclW +advapi32.dll!AuditSetPerUserPolicy +advapi32.dll!AuditSetSecurity +advapi32.dll!AuditSetSystemPolicy +advapi32.dll!BuildExplicitAccessWithNameW +advapi32.dll!BuildImpersonateTrusteeW +advapi32.dll!BuildSecurityDescriptorW +advapi32.dll!BuildTrusteeWithNameW +advapi32.dll!BuildTrusteeWithObjectsAndSidW +advapi32.dll!BuildTrusteeWithSidW +advapi32.dll!ChangeServiceConfig2A +advapi32.dll!ChangeServiceConfig2W +advapi32.dll!ChangeServiceConfigA +advapi32.dll!ChangeServiceConfigW +advapi32.dll!CheckTokenMembership +advapi32.dll!CloseServiceHandle +advapi32.dll!CloseTrace +advapi32.dll!ControlService +advapi32.dll!ControlServiceExA +advapi32.dll!ControlServiceExW +advapi32.dll!ControlTraceA +advapi32.dll!ControlTraceW +advapi32.dll!ConvertSecurityDescriptorToStringSecurityDescriptorW +advapi32.dll!ConvertSidToStringSidA +advapi32.dll!ConvertSidToStringSidW +advapi32.dll!ConvertStringSecurityDescriptorToSecurityDescriptorW +advapi32.dll!ConvertStringSidToSidA +advapi32.dll!ConvertStringSidToSidW +advapi32.dll!ConvertToAutoInheritPrivateObjectSecurity +advapi32.dll!CopySid +advapi32.dll!CreatePrivateObjectSecurity +advapi32.dll!CreatePrivateObjectSecurityEx +advapi32.dll!CreatePrivateObjectSecurityWithMultipleInheritance +advapi32.dll!CreateProcessAsUserA +advapi32.dll!CreateProcessAsUserW +advapi32.dll!CreateProcessWithLogonW +advapi32.dll!CreateProcessWithTokenW +advapi32.dll!CreateRestrictedToken +advapi32.dll!CreateServiceA +advapi32.dll!CreateServiceW +advapi32.dll!CreateWellKnownSid +advapi32.dll!CredDeleteA +advapi32.dll!CredDeleteW +advapi32.dll!CredEnumerateA +advapi32.dll!CredEnumerateW +advapi32.dll!CredFindBestCredentialA +advapi32.dll!CredFindBestCredentialW +advapi32.dll!CredFree +advapi32.dll!CredGetSessionTypes +advapi32.dll!CredGetTargetInfoA +advapi32.dll!CredGetTargetInfoW +advapi32.dll!CredIsMarshaledCredentialW +advapi32.dll!CredIsProtectedA +advapi32.dll!CredIsProtectedW +advapi32.dll!CredMarshalCredentialA +advapi32.dll!CredMarshalCredentialW +advapi32.dll!CredProtectA +advapi32.dll!CredProtectW +advapi32.dll!CredReadA +advapi32.dll!CredReadDomainCredentialsA +advapi32.dll!CredReadDomainCredentialsW +advapi32.dll!CredReadW +advapi32.dll!CredUnmarshalCredentialA +advapi32.dll!CredUnmarshalCredentialW +advapi32.dll!CredUnprotectA +advapi32.dll!CredUnprotectW +advapi32.dll!CredWriteA +advapi32.dll!CredWriteDomainCredentialsA +advapi32.dll!CredWriteDomainCredentialsW +advapi32.dll!CredWriteW +advapi32.dll!CryptAcquireContextA +advapi32.dll!CryptAcquireContextW +advapi32.dll!CryptContextAddRef +advapi32.dll!CryptCreateHash +advapi32.dll!CryptDecrypt +advapi32.dll!CryptDeriveKey +advapi32.dll!CryptDestroyHash +advapi32.dll!CryptDestroyKey +advapi32.dll!CryptDuplicateHash +advapi32.dll!CryptDuplicateKey +advapi32.dll!CryptEncrypt +advapi32.dll!CryptEnumProvidersA +advapi32.dll!CryptEnumProvidersW +advapi32.dll!CryptEnumProviderTypesA +advapi32.dll!CryptEnumProviderTypesW +advapi32.dll!CryptExportKey +advapi32.dll!CryptGenKey +advapi32.dll!CryptGenRandom +advapi32.dll!CryptGetDefaultProviderA +advapi32.dll!CryptGetDefaultProviderW +advapi32.dll!CryptGetHashParam +advapi32.dll!CryptGetKeyParam +advapi32.dll!CryptGetProvParam +advapi32.dll!CryptGetUserKey +advapi32.dll!CryptHashData +advapi32.dll!CryptHashSessionKey +advapi32.dll!CryptImportKey +advapi32.dll!CryptReleaseContext +advapi32.dll!CryptSetHashParam +advapi32.dll!CryptSetKeyParam +advapi32.dll!CryptSetProviderA +advapi32.dll!CryptSetProviderExA +advapi32.dll!CryptSetProviderExW +advapi32.dll!CryptSetProviderW +advapi32.dll!CryptSetProvParam +advapi32.dll!CryptSignHashA +advapi32.dll!CryptSignHashW +advapi32.dll!CryptVerifySignatureA +advapi32.dll!CryptVerifySignatureW +advapi32.dll!DecryptFileW +advapi32.dll!DeleteAce +advapi32.dll!DeleteService +advapi32.dll!DeregisterEventSource +advapi32.dll!DestroyPrivateObjectSecurity +advapi32.dll!DuplicateToken +advapi32.dll!DuplicateTokenEx +advapi32.dll!ElfDeregisterEventSource +advapi32.dll!ElfFlushEventLog +advapi32.dll!ElfRegisterEventSourceW +advapi32.dll!ElfReportEventW +advapi32.dll!EnableTrace +advapi32.dll!EnableTraceEx +advapi32.dll!EnableTraceEx2 +advapi32.dll!EncryptFileW +advapi32.dll!EnumDependentServicesW +advapi32.dll!EnumDynamicTimeZoneInformation +advapi32.dll!EnumerateTraceGuids +advapi32.dll!EnumerateTraceGuidsEx +advapi32.dll!EnumServicesStatusExA +advapi32.dll!EnumServicesStatusExW +advapi32.dll!EqualDomainSid +advapi32.dll!EqualPrefixSid +advapi32.dll!EqualSid +advapi32.dll!EventAccessControl +advapi32.dll!EventAccessQuery +advapi32.dll!EventAccessRemove +advapi32.dll!EventActivityIdControl +advapi32.dll!EventEnabled +advapi32.dll!EventProviderEnabled +advapi32.dll!EventRegister +advapi32.dll!EventSetInformation +advapi32.dll!EventUnregister +advapi32.dll!EventWrite +advapi32.dll!EventWriteEx +advapi32.dll!EventWriteString +advapi32.dll!EventWriteTransfer +advapi32.dll!FindFirstFreeAce +advapi32.dll!FlushTraceA +advapi32.dll!FlushTraceW +advapi32.dll!FreeSid +advapi32.dll!GetAce +advapi32.dll!GetAclInformation +advapi32.dll!GetAuditedPermissionsFromAclW +advapi32.dll!GetDynamicTimeZoneInformationEffectiveYears +advapi32.dll!GetEffectiveRightsFromAclW +advapi32.dll!GetEventLogInformation +advapi32.dll!GetExplicitEntriesFromAclA +advapi32.dll!GetExplicitEntriesFromAclW +advapi32.dll!GetFileSecurityA +advapi32.dll!GetFileSecurityW +advapi32.dll!GetKernelObjectSecurity +advapi32.dll!GetLengthSid +advapi32.dll!GetNamedSecurityInfoA +advapi32.dll!GetNamedSecurityInfoW +advapi32.dll!GetPrivateObjectSecurity +advapi32.dll!GetSecurityDescriptorControl +advapi32.dll!GetSecurityDescriptorDacl +advapi32.dll!GetSecurityDescriptorGroup +advapi32.dll!GetSecurityDescriptorLength +advapi32.dll!GetSecurityDescriptorOwner +advapi32.dll!GetSecurityDescriptorRMControl +advapi32.dll!GetSecurityDescriptorSacl +advapi32.dll!GetSecurityInfo +advapi32.dll!GetServiceDisplayNameA +advapi32.dll!GetServiceDisplayNameW +advapi32.dll!GetServiceKeyNameA +advapi32.dll!GetServiceKeyNameW +advapi32.dll!GetSidIdentifierAuthority +advapi32.dll!GetSidLengthRequired +advapi32.dll!GetSidSubAuthority +advapi32.dll!GetSidSubAuthorityCount +advapi32.dll!GetTokenInformation +advapi32.dll!GetTraceEnableFlags +advapi32.dll!GetTraceEnableLevel +advapi32.dll!GetTraceLoggerHandle +advapi32.dll!GetUserNameA +advapi32.dll!GetUserNameW +advapi32.dll!GetWindowsAccountDomainSid +advapi32.dll!I_ScSetServiceBitsA +advapi32.dll!I_ScSetServiceBitsW +advapi32.dll!ImpersonateAnonymousToken +advapi32.dll!ImpersonateLoggedOnUser +advapi32.dll!ImpersonateNamedPipeClient +advapi32.dll!ImpersonateSelf +advapi32.dll!InitializeAcl +advapi32.dll!InitializeSecurityDescriptor +advapi32.dll!InitializeSid +advapi32.dll!InitiateShutdownW +advapi32.dll!InitiateSystemShutdownExW +advapi32.dll!IsTextUnicode +advapi32.dll!IsTokenRestricted +advapi32.dll!IsValidAcl +advapi32.dll!IsValidRelativeSecurityDescriptor +advapi32.dll!IsValidSecurityDescriptor +advapi32.dll!IsValidSid +advapi32.dll!IsWellKnownSid +advapi32.dll!LogonUserA +advapi32.dll!LogonUserExA +advapi32.dll!LogonUserExW +advapi32.dll!LogonUserW +advapi32.dll!LookupAccountNameA +advapi32.dll!LookupAccountNameW +advapi32.dll!LookupAccountSidA +advapi32.dll!LookupAccountSidW +advapi32.dll!LookupPrivilegeDisplayNameA +advapi32.dll!LookupPrivilegeDisplayNameW +advapi32.dll!LookupPrivilegeNameA +advapi32.dll!LookupPrivilegeNameW +advapi32.dll!LookupPrivilegeValueA +advapi32.dll!LookupPrivilegeValueW +advapi32.dll!LsaAddAccountRights +advapi32.dll!LsaClose +advapi32.dll!LsaCreateSecret +advapi32.dll!LsaDelete +advapi32.dll!LsaEnumerateAccountRights +advapi32.dll!LsaEnumerateAccountsWithUserRight +advapi32.dll!LsaEnumerateTrustedDomains +advapi32.dll!LsaFreeMemory +advapi32.dll!LsaICLookupNames +advapi32.dll!LsaICLookupNamesWithCreds +advapi32.dll!LsaICLookupSids +advapi32.dll!LsaICLookupSidsWithCreds +advapi32.dll!LsaLookupNames2 +advapi32.dll!LsaLookupSids +advapi32.dll!LsaLookupSids2 +advapi32.dll!LsaManageSidNameMapping +advapi32.dll!LsaOpenPolicy +advapi32.dll!LsaOpenSecret +advapi32.dll!LsaQueryInformationPolicy +advapi32.dll!LsaQuerySecret +advapi32.dll!LsaRemoveAccountRights +advapi32.dll!LsaRetrievePrivateData +advapi32.dll!LsaSetInformationPolicy +advapi32.dll!LsaSetSecret +advapi32.dll!LsaStorePrivateData +advapi32.dll!MakeAbsoluteSD +advapi32.dll!MakeAbsoluteSD2 +advapi32.dll!MakeSelfRelativeSD +advapi32.dll!MapGenericMask +advapi32.dll!NotifyBootConfigStatus +advapi32.dll!NotifyServiceStatusChangeA +advapi32.dll!NotifyServiceStatusChangeW +advapi32.dll!ObjectCloseAuditAlarmW +advapi32.dll!ObjectDeleteAuditAlarmW +advapi32.dll!ObjectOpenAuditAlarmW +advapi32.dll!ObjectPrivilegeAuditAlarmW +advapi32.dll!OpenProcessToken +advapi32.dll!OpenSCManagerA +advapi32.dll!OpenSCManagerW +advapi32.dll!OpenServiceA +advapi32.dll!OpenServiceW +advapi32.dll!OpenThreadToken +advapi32.dll!OpenTraceA +advapi32.dll!OpenTraceW +advapi32.dll!PerfAddCounters +advapi32.dll!PerfCloseQueryHandle +advapi32.dll!PerfCreateInstance +advapi32.dll!PerfDecrementULongCounterValue +advapi32.dll!PerfDecrementULongLongCounterValue +advapi32.dll!PerfDeleteCounters +advapi32.dll!PerfDeleteInstance +advapi32.dll!PerfEnumerateCounterSet +advapi32.dll!PerfEnumerateCounterSetInstances +advapi32.dll!PerfIncrementULongCounterValue +advapi32.dll!PerfIncrementULongLongCounterValue +advapi32.dll!PerfOpenQueryHandle +advapi32.dll!PerfQueryCounterData +advapi32.dll!PerfQueryCounterInfo +advapi32.dll!PerfQueryCounterSetRegistrationInfo +advapi32.dll!PerfQueryInstance +advapi32.dll!PerfSetCounterRefValue +advapi32.dll!PerfSetCounterSetInfo +advapi32.dll!PerfSetULongCounterValue +advapi32.dll!PerfSetULongLongCounterValue +advapi32.dll!PerfStartProvider +advapi32.dll!PerfStartProviderEx +advapi32.dll!PerfStopProvider +advapi32.dll!PrivilegeCheck +advapi32.dll!PrivilegedServiceAuditAlarmW +advapi32.dll!ProcessTrace +advapi32.dll!QueryAllTracesA +advapi32.dll!QueryAllTracesW +advapi32.dll!QuerySecurityAccessMask +advapi32.dll!QueryServiceConfig2A +advapi32.dll!QueryServiceConfig2W +advapi32.dll!QueryServiceConfigA +advapi32.dll!QueryServiceConfigW +advapi32.dll!QueryServiceDynamicInformation +advapi32.dll!QueryServiceObjectSecurity +advapi32.dll!QueryServiceStatus +advapi32.dll!QueryServiceStatusEx +advapi32.dll!QueryTraceA +advapi32.dll!QueryTraceW +advapi32.dll!RegCloseKey +advapi32.dll!RegConnectRegistryA +advapi32.dll!RegConnectRegistryExA +advapi32.dll!RegConnectRegistryExW +advapi32.dll!RegConnectRegistryW +advapi32.dll!RegCopyTreeA +advapi32.dll!RegCopyTreeW +advapi32.dll!RegCreateKeyA +advapi32.dll!RegCreateKeyExA +advapi32.dll!RegCreateKeyExW +advapi32.dll!RegCreateKeyTransactedA +advapi32.dll!RegCreateKeyTransactedW +advapi32.dll!RegCreateKeyW +advapi32.dll!RegDeleteKeyA +advapi32.dll!RegDeleteKeyExA +advapi32.dll!RegDeleteKeyExW +advapi32.dll!RegDeleteKeyTransactedA +advapi32.dll!RegDeleteKeyTransactedW +advapi32.dll!RegDeleteKeyValueA +advapi32.dll!RegDeleteKeyValueW +advapi32.dll!RegDeleteKeyW +advapi32.dll!RegDeleteTreeA +advapi32.dll!RegDeleteTreeW +advapi32.dll!RegDeleteValueA +advapi32.dll!RegDeleteValueW +advapi32.dll!RegDisablePredefinedCache +advapi32.dll!RegDisablePredefinedCacheEx +advapi32.dll!RegEnumKeyA +advapi32.dll!RegEnumKeyExA +advapi32.dll!RegEnumKeyExW +advapi32.dll!RegEnumKeyW +advapi32.dll!RegEnumValueA +advapi32.dll!RegEnumValueW +advapi32.dll!RegFlushKey +advapi32.dll!RegGetKeySecurity +advapi32.dll!RegGetValueA +advapi32.dll!RegGetValueW +advapi32.dll!RegisterEventSourceA +advapi32.dll!RegisterEventSourceW +advapi32.dll!RegisterServiceCtrlHandlerA +advapi32.dll!RegisterServiceCtrlHandlerExA +advapi32.dll!RegisterServiceCtrlHandlerExW +advapi32.dll!RegisterServiceCtrlHandlerW +advapi32.dll!RegisterTraceGuidsA +advapi32.dll!RegisterTraceGuidsW +advapi32.dll!RegLoadAppKeyA +advapi32.dll!RegLoadAppKeyW +advapi32.dll!RegLoadKeyA +advapi32.dll!RegLoadKeyW +advapi32.dll!RegLoadMUIStringA +advapi32.dll!RegLoadMUIStringW +advapi32.dll!RegNotifyChangeKeyValue +advapi32.dll!RegOpenCurrentUser +advapi32.dll!RegOpenKeyA +advapi32.dll!RegOpenKeyExA +advapi32.dll!RegOpenKeyExW +advapi32.dll!RegOpenKeyTransactedA +advapi32.dll!RegOpenKeyTransactedW +advapi32.dll!RegOpenKeyW +advapi32.dll!RegOpenUserClassesRoot +advapi32.dll!RegOverridePredefKey +advapi32.dll!RegQueryInfoKeyA +advapi32.dll!RegQueryInfoKeyW +advapi32.dll!RegQueryMultipleValuesA +advapi32.dll!RegQueryMultipleValuesW +advapi32.dll!RegQueryValueA +advapi32.dll!RegQueryValueExA +advapi32.dll!RegQueryValueExW +advapi32.dll!RegQueryValueW +advapi32.dll!RegRenameKey +advapi32.dll!RegReplaceKeyA +advapi32.dll!RegReplaceKeyW +advapi32.dll!RegRestoreKeyA +advapi32.dll!RegRestoreKeyW +advapi32.dll!RegSaveKeyA +advapi32.dll!RegSaveKeyExA +advapi32.dll!RegSaveKeyExW +advapi32.dll!RegSaveKeyW +advapi32.dll!RegSetKeySecurity +advapi32.dll!RegSetKeyValueA +advapi32.dll!RegSetKeyValueW +advapi32.dll!RegSetValueA +advapi32.dll!RegSetValueExA +advapi32.dll!RegSetValueExW +advapi32.dll!RegSetValueW +advapi32.dll!RegUnLoadKeyA +advapi32.dll!RegUnLoadKeyW +advapi32.dll!RemoveTraceCallback +advapi32.dll!ReportEventA +advapi32.dll!ReportEventW +advapi32.dll!RevertToSelf +advapi32.dll!SetAclInformation +advapi32.dll!SetEntriesInAclA +advapi32.dll!SetEntriesInAclW +advapi32.dll!SetFileSecurityA +advapi32.dll!SetFileSecurityW +advapi32.dll!SetKernelObjectSecurity +advapi32.dll!SetNamedSecurityInfoA +advapi32.dll!SetNamedSecurityInfoW +advapi32.dll!SetPrivateObjectSecurity +advapi32.dll!SetPrivateObjectSecurityEx +advapi32.dll!SetSecurityAccessMask +advapi32.dll!SetSecurityDescriptorControl +advapi32.dll!SetSecurityDescriptorDacl +advapi32.dll!SetSecurityDescriptorGroup +advapi32.dll!SetSecurityDescriptorOwner +advapi32.dll!SetSecurityDescriptorRMControl +advapi32.dll!SetSecurityDescriptorSacl +advapi32.dll!SetSecurityInfo +advapi32.dll!SetServiceObjectSecurity +advapi32.dll!SetServiceStatus +advapi32.dll!SetThreadToken +advapi32.dll!SetTokenInformation +advapi32.dll!SetTraceCallback +advapi32.dll!StartServiceA +advapi32.dll!StartServiceCtrlDispatcherA +advapi32.dll!StartServiceCtrlDispatcherW +advapi32.dll!StartServiceW +advapi32.dll!StartTraceA +advapi32.dll!StartTraceW +advapi32.dll!StopTraceA +advapi32.dll!StopTraceW +advapi32.dll!SystemFunction036 +advapi32.dll!SystemFunction040 +advapi32.dll!SystemFunction041 +advapi32.dll!TraceEvent +advapi32.dll!TraceMessage +advapi32.dll!TraceMessageVa +advapi32.dll!TraceQueryInformation +advapi32.dll!TraceSetInformation +advapi32.dll!UnregisterTraceGuids +advapi32.dll!UpdateTraceA +advapi32.dll!UpdateTraceW +advapi32.dll!WaitServiceState +combase.dll!RoGetActivationFactory +kernel32.dll!_lclose +kernel32.dll!_lcreat +kernel32.dll!_llseek +kernel32.dll!_lopen +kernel32.dll!_lread +kernel32.dll!_lwrite +kernel32.dll!AcquireSRWLockExclusive +kernel32.dll!AcquireSRWLockShared +kernel32.dll!ActivateActCtx +kernel32.dll!AddAtomA +kernel32.dll!AddAtomW +kernel32.dll!AddDllDirectory +kernel32.dll!AddLocalAlternateComputerNameA +kernel32.dll!AddLocalAlternateComputerNameW +kernel32.dll!AddRefActCtx +kernel32.dll!AddResourceAttributeAce +kernel32.dll!AddScopedPolicyIDAce +kernel32.dll!AddSIDToBoundaryDescriptor +kernel32.dll!AddVectoredContinueHandler +kernel32.dll!AddVectoredExceptionHandler +kernel32.dll!AllocateUserPhysicalPages +kernel32.dll!AllocateUserPhysicalPagesNuma +kernel32.dll!AllocConsole +kernel32.dll!AreFileApisANSI +kernel32.dll!AssignProcessToJobObject +kernel32.dll!AttachConsole +kernel32.dll!BackupRead +kernel32.dll!BackupWrite +kernel32.dll!BaseSetLastNTError +kernel32.dll!Beep +kernel32.dll!BindIoCompletionCallback +kernel32.dll!CallbackMayRunLong +kernel32.dll!CancelIo +kernel32.dll!CancelIoEx +kernel32.dll!CancelSynchronousIo +kernel32.dll!CancelThreadpoolIo +kernel32.dll!CancelWaitableTimer +kernel32.dll!CeipIsOptedIn +kernel32.dll!ChangeTimerQueueTimer +kernel32.dll!CheckElevation +kernel32.dll!CheckElevationEnabled +kernel32.dll!CheckRemoteDebuggerPresent +kernel32.dll!CheckTokenCapability +kernel32.dll!CheckTokenMembershipEx +kernel32.dll!ClearCommBreak +kernel32.dll!ClearCommError +kernel32.dll!CloseHandle +kernel32.dll!ClosePrivateNamespace +kernel32.dll!CloseThreadpool +kernel32.dll!CloseThreadpoolCleanupGroup +kernel32.dll!CloseThreadpoolCleanupGroupMembers +kernel32.dll!CloseThreadpoolIo +kernel32.dll!CloseThreadpoolTimer +kernel32.dll!CloseThreadpoolWait +kernel32.dll!CloseThreadpoolWork +kernel32.dll!CompareFileTime +kernel32.dll!CompareStringA +kernel32.dll!CompareStringEx +kernel32.dll!CompareStringOrdinal +kernel32.dll!CompareStringW +kernel32.dll!ConnectNamedPipe +kernel32.dll!ContinueDebugEvent +kernel32.dll!ConvertDefaultLocale +kernel32.dll!ConvertFiberToThread +kernel32.dll!ConvertThreadToFiber +kernel32.dll!ConvertThreadToFiberEx +kernel32.dll!CopyContext +kernel32.dll!CopyFile2 +kernel32.dll!CopyFileA +kernel32.dll!CopyFileExA +kernel32.dll!CopyFileExW +kernel32.dll!CopyFileW +kernel32.dll!CreateActCtxA +kernel32.dll!CreateActCtxW +kernel32.dll!CreateBoundaryDescriptorA +kernel32.dll!CreateBoundaryDescriptorW +kernel32.dll!CreateConsoleScreenBuffer +kernel32.dll!CreateDirectoryA +kernel32.dll!CreateDirectoryExA +kernel32.dll!CreateDirectoryExW +kernel32.dll!CreateDirectoryW +kernel32.dll!CreateEventA +kernel32.dll!CreateEventExA +kernel32.dll!CreateEventExW +kernel32.dll!CreateEventW +kernel32.dll!CreateFiber +kernel32.dll!CreateFiberEx +kernel32.dll!CreateFile2 +kernel32.dll!CreateFileA +kernel32.dll!CreateFileMappingA +kernel32.dll!CreateFileMappingFromApp +kernel32.dll!CreateFileMappingNumaA +kernel32.dll!CreateFileMappingNumaW +kernel32.dll!CreateFileMappingW +kernel32.dll!CreateFileTransactedA +kernel32.dll!CreateFileTransactedW +kernel32.dll!CreateFileW +kernel32.dll!CreateHardLinkA +kernel32.dll!CreateHardLinkW +kernel32.dll!CreateIoCompletionPort +kernel32.dll!CreateJobObjectA +kernel32.dll!CreateJobObjectW +kernel32.dll!CreateMailslotA +kernel32.dll!CreateMailslotW +kernel32.dll!CreateMemoryResourceNotification +kernel32.dll!CreateMutexA +kernel32.dll!CreateMutexExA +kernel32.dll!CreateMutexExW +kernel32.dll!CreateMutexW +kernel32.dll!CreateNamedPipeA +kernel32.dll!CreateNamedPipeW +kernel32.dll!CreatePipe +kernel32.dll!CreatePrivateNamespaceA +kernel32.dll!CreatePrivateNamespaceW +kernel32.dll!CreateProcessA +kernel32.dll!CreateProcessW +kernel32.dll!CreateRemoteThread +kernel32.dll!CreateRemoteThreadEx +kernel32.dll!CreateSemaphoreA +kernel32.dll!CreateSemaphoreExA +kernel32.dll!CreateSemaphoreExW +kernel32.dll!CreateSemaphoreW +kernel32.dll!CreateSymbolicLinkA +kernel32.dll!CreateSymbolicLinkW +kernel32.dll!CreateThread +kernel32.dll!CreateThreadpool +kernel32.dll!CreateThreadpoolCleanupGroup +kernel32.dll!CreateThreadpoolIo +kernel32.dll!CreateThreadpoolTimer +kernel32.dll!CreateThreadpoolWait +kernel32.dll!CreateThreadpoolWork +kernel32.dll!CreateTimerQueue +kernel32.dll!CreateTimerQueueTimer +kernel32.dll!CreateToolhelp32Snapshot +kernel32.dll!CreateWaitableTimerA +kernel32.dll!CreateWaitableTimerExA +kernel32.dll!CreateWaitableTimerExW +kernel32.dll!CreateWaitableTimerW +kernel32.dll!DeactivateActCtx +kernel32.dll!DebugActiveProcess +kernel32.dll!DebugActiveProcessStop +kernel32.dll!DebugBreak +kernel32.dll!DecodePointer +kernel32.dll!DecodeSystemPointer +kernel32.dll!DefineDosDeviceA +kernel32.dll!DefineDosDeviceW +kernel32.dll!DelayLoadFailureHook +kernel32.dll!DeleteAtom +kernel32.dll!DeleteBoundaryDescriptor +kernel32.dll!DeleteCriticalSection +kernel32.dll!DeleteFiber +kernel32.dll!DeleteFileA +kernel32.dll!DeleteFileW +kernel32.dll!DeleteProcThreadAttributeList +kernel32.dll!DeleteSynchronizationBarrier +kernel32.dll!DeleteTimerQueueEx +kernel32.dll!DeleteTimerQueueTimer +kernel32.dll!DeleteVolumeMountPointA +kernel32.dll!DeleteVolumeMountPointW +kernel32.dll!DeviceIoControl +kernel32.dll!DisableThreadLibraryCalls +kernel32.dll!DisassociateCurrentThreadFromCallback +kernel32.dll!DiscardVirtualMemory +kernel32.dll!DisconnectNamedPipe +kernel32.dll!DnsHostnameToComputerNameExW +kernel32.dll!DnsHostnameToComputerNameW +kernel32.dll!DosDateTimeToFileTime +kernel32.dll!DosPathToSessionPathW +kernel32.dll!DuplicateHandle +kernel32.dll!EncodePointer +kernel32.dll!EncodeSystemPointer +kernel32.dll!EnterCriticalSection +kernel32.dll!EnterSynchronizationBarrier +kernel32.dll!EnumCalendarInfoA +kernel32.dll!EnumCalendarInfoExA +kernel32.dll!EnumCalendarInfoExEx +kernel32.dll!EnumCalendarInfoExW +kernel32.dll!EnumCalendarInfoW +kernel32.dll!EnumDateFormatsA +kernel32.dll!EnumDateFormatsExA +kernel32.dll!EnumDateFormatsExEx +kernel32.dll!EnumDateFormatsExW +kernel32.dll!EnumDateFormatsW +kernel32.dll!EnumerateLocalComputerNamesW +kernel32.dll!EnumLanguageGroupLocalesA +kernel32.dll!EnumLanguageGroupLocalesW +kernel32.dll!EnumResourceLanguagesExA +kernel32.dll!EnumResourceLanguagesExW +kernel32.dll!EnumResourceNamesExA +kernel32.dll!EnumResourceNamesExW +kernel32.dll!EnumResourceTypesExA +kernel32.dll!EnumResourceTypesExW +kernel32.dll!EnumSystemCodePagesA +kernel32.dll!EnumSystemCodePagesW +kernel32.dll!EnumSystemFirmwareTables +kernel32.dll!EnumSystemGeoID +kernel32.dll!EnumSystemLanguageGroupsA +kernel32.dll!EnumSystemLanguageGroupsW +kernel32.dll!EnumSystemLocalesA +kernel32.dll!EnumSystemLocalesEx +kernel32.dll!EnumSystemLocalesW +kernel32.dll!EnumTimeFormatsA +kernel32.dll!EnumTimeFormatsEx +kernel32.dll!EnumTimeFormatsW +kernel32.dll!EnumUILanguagesA +kernel32.dll!EnumUILanguagesW +kernel32.dll!EscapeCommFunction +kernel32.dll!ExitProcess +kernel32.dll!ExitThread +kernel32.dll!ExpandEnvironmentStringsA +kernel32.dll!ExpandEnvironmentStringsW +kernel32.dll!FatalAppExitA +kernel32.dll!FatalAppExitW +kernel32.dll!FileTimeToDosDateTime +kernel32.dll!FileTimeToLocalFileTime +kernel32.dll!FileTimeToSystemTime +kernel32.dll!FillConsoleOutputAttribute +kernel32.dll!FillConsoleOutputCharacterA +kernel32.dll!FillConsoleOutputCharacterW +kernel32.dll!FindActCtxSectionGuid +kernel32.dll!FindActCtxSectionStringA +kernel32.dll!FindActCtxSectionStringW +kernel32.dll!FindAtomA +kernel32.dll!FindAtomW +kernel32.dll!FindClose +kernel32.dll!FindCloseChangeNotification +kernel32.dll!FindFirstChangeNotificationA +kernel32.dll!FindFirstChangeNotificationW +kernel32.dll!FindFirstFileA +kernel32.dll!FindFirstFileExA +kernel32.dll!FindFirstFileExW +kernel32.dll!FindFirstFileNameW +kernel32.dll!FindFirstFileW +kernel32.dll!FindFirstStreamW +kernel32.dll!FindFirstVolumeA +kernel32.dll!FindFirstVolumeMountPointA +kernel32.dll!FindFirstVolumeMountPointW +kernel32.dll!FindFirstVolumeW +kernel32.dll!FindNextChangeNotification +kernel32.dll!FindNextFileA +kernel32.dll!FindNextFileNameW +kernel32.dll!FindNextFileW +kernel32.dll!FindNextStreamW +kernel32.dll!FindNextVolumeA +kernel32.dll!FindNextVolumeMountPointA +kernel32.dll!FindNextVolumeMountPointW +kernel32.dll!FindNextVolumeW +kernel32.dll!FindNLSString +kernel32.dll!FindNLSStringEx +kernel32.dll!FindResourceA +kernel32.dll!FindResourceExA +kernel32.dll!FindResourceExW +kernel32.dll!FindResourceW +kernel32.dll!FindStringOrdinal +kernel32.dll!FindVolumeClose +kernel32.dll!FindVolumeMountPointClose +kernel32.dll!FlsAlloc +kernel32.dll!FlsFree +kernel32.dll!FlsGetValue +kernel32.dll!FlsSetValue +kernel32.dll!FlushConsoleInputBuffer +kernel32.dll!FlushFileBuffers +kernel32.dll!FlushInstructionCache +kernel32.dll!FlushProcessWriteBuffers +kernel32.dll!FlushViewOfFile +kernel32.dll!FoldStringA +kernel32.dll!FoldStringW +kernel32.dll!FormatMessageA +kernel32.dll!FormatMessageW +kernel32.dll!FreeConsole +kernel32.dll!FreeEnvironmentStringsA +kernel32.dll!FreeEnvironmentStringsW +kernel32.dll!FreeLibrary +kernel32.dll!FreeLibraryAndExitThread +kernel32.dll!FreeLibraryWhenCallbackReturns +kernel32.dll!FreeResource +kernel32.dll!FreeUserPhysicalPages +kernel32.dll!GenerateConsoleCtrlEvent +kernel32.dll!GetACP +kernel32.dll!GetActiveProcessorCount +kernel32.dll!GetAppContainerAce +kernel32.dll!GetAppContainerNamedObjectPath +kernel32.dll!GetApplicationRecoveryCallback +kernel32.dll!GetApplicationRestartSettings +kernel32.dll!GetAtomNameA +kernel32.dll!GetAtomNameW +kernel32.dll!GetBinaryTypeA +kernel32.dll!GetBinaryTypeW +kernel32.dll!GetCachedSigningLevel +kernel32.dll!GetCalendarInfoA +kernel32.dll!GetCalendarInfoEx +kernel32.dll!GetCalendarInfoW +kernel32.dll!GetCommandLineA +kernel32.dll!GetCommandLineW +kernel32.dll!GetCommConfig +kernel32.dll!GetCommMask +kernel32.dll!GetCommModemStatus +kernel32.dll!GetCommProperties +kernel32.dll!GetCommState +kernel32.dll!GetCommTimeouts +kernel32.dll!GetCompressedFileSizeA +kernel32.dll!GetCompressedFileSizeW +kernel32.dll!GetComputerNameA +kernel32.dll!GetComputerNameExA +kernel32.dll!GetComputerNameExW +kernel32.dll!GetComputerNameW +kernel32.dll!GetConsoleCP +kernel32.dll!GetConsoleCursorInfo +kernel32.dll!GetConsoleMode +kernel32.dll!GetConsoleOutputCP +kernel32.dll!GetConsoleScreenBufferInfo +kernel32.dll!GetConsoleScreenBufferInfoEx +kernel32.dll!GetConsoleTitleA +kernel32.dll!GetConsoleTitleW +kernel32.dll!GetConsoleWindow +kernel32.dll!GetCPInfo +kernel32.dll!GetCPInfoExA +kernel32.dll!GetCPInfoExW +kernel32.dll!GetCurrencyFormatA +kernel32.dll!GetCurrencyFormatEx +kernel32.dll!GetCurrencyFormatW +kernel32.dll!GetCurrentActCtx +kernel32.dll!GetCurrentDirectoryA +kernel32.dll!GetCurrentDirectoryW +kernel32.dll!GetCurrentProcess +kernel32.dll!GetCurrentProcessId +kernel32.dll!GetCurrentProcessorNumber +kernel32.dll!GetCurrentProcessorNumberEx +kernel32.dll!GetCurrentThread +kernel32.dll!GetCurrentThreadId +kernel32.dll!GetCurrentThreadStackLimits +kernel32.dll!GetDateFormatA +kernel32.dll!GetDateFormatEx +kernel32.dll!GetDateFormatW +kernel32.dll!GetDiskFreeSpaceA +kernel32.dll!GetDiskFreeSpaceExA +kernel32.dll!GetDiskFreeSpaceExW +kernel32.dll!GetDiskFreeSpaceW +kernel32.dll!GetDriveTypeA +kernel32.dll!GetDriveTypeW +kernel32.dll!GetDurationFormatEx +kernel32.dll!GetDynamicTimeZoneInformation +kernel32.dll!GetEnabledXStateFeatures +kernel32.dll!GetEnvironmentStrings +kernel32.dll!GetEnvironmentStringsW +kernel32.dll!GetEnvironmentVariableA +kernel32.dll!GetEnvironmentVariableW +kernel32.dll!GetErrorMode +kernel32.dll!GetExitCodeProcess +kernel32.dll!GetExitCodeThread +kernel32.dll!GetFileAttributesA +kernel32.dll!GetFileAttributesExA +kernel32.dll!GetFileAttributesExW +kernel32.dll!GetFileAttributesTransactedA +kernel32.dll!GetFileAttributesTransactedW +kernel32.dll!GetFileAttributesW +kernel32.dll!GetFileInformationByHandle +kernel32.dll!GetFileInformationByHandleEx +kernel32.dll!GetFileMUIInfo +kernel32.dll!GetFileMUIPath +kernel32.dll!GetFileSize +kernel32.dll!GetFileSizeEx +kernel32.dll!GetFileTime +kernel32.dll!GetFileType +kernel32.dll!GetFinalPathNameByHandleA +kernel32.dll!GetFinalPathNameByHandleW +kernel32.dll!GetFirmwareEnvironmentVariableExW +kernel32.dll!GetFirmwareEnvironmentVariableW +kernel32.dll!GetFirmwareType +kernel32.dll!GetFullPathNameA +kernel32.dll!GetFullPathNameW +kernel32.dll!GetGeoInfoA +kernel32.dll!GetGeoInfoW +kernel32.dll!GetHandleInformation +kernel32.dll!GetLargePageMinimum +kernel32.dll!GetLargestConsoleWindowSize +kernel32.dll!GetLastError +kernel32.dll!GetLocaleInfoA +kernel32.dll!GetLocaleInfoEx +kernel32.dll!GetLocaleInfoW +kernel32.dll!GetLocalTime +kernel32.dll!GetLogicalDrives +kernel32.dll!GetLogicalDriveStringsA +kernel32.dll!GetLogicalDriveStringsW +kernel32.dll!GetLogicalProcessorInformation +kernel32.dll!GetLogicalProcessorInformationEx +kernel32.dll!GetLongPathNameA +kernel32.dll!GetLongPathNameW +kernel32.dll!GetMaximumProcessorGroupCount +kernel32.dll!GetMemoryErrorHandlingCapabilities +kernel32.dll!GetModuleFileNameA +kernel32.dll!GetModuleFileNameW +kernel32.dll!GetModuleHandleA +kernel32.dll!GetModuleHandleExA +kernel32.dll!GetModuleHandleExW +kernel32.dll!GetModuleHandleW +kernel32.dll!GetNamedPipeClientComputerNameA +kernel32.dll!GetNamedPipeClientComputerNameW +kernel32.dll!GetNamedPipeClientProcessId +kernel32.dll!GetNamedPipeHandleStateA +kernel32.dll!GetNamedPipeHandleStateW +kernel32.dll!GetNamedPipeInfo +kernel32.dll!GetNamedPipeServerProcessId +kernel32.dll!GetNativeSystemInfo +kernel32.dll!GetNLSVersion +kernel32.dll!GetNLSVersionEx +kernel32.dll!GetNumaAvailableMemoryNodeEx +kernel32.dll!GetNumaHighestNodeNumber +kernel32.dll!GetNumaNodeProcessorMask +kernel32.dll!GetNumaNodeProcessorMaskEx +kernel32.dll!GetNumaProcessorNodeEx +kernel32.dll!GetNumberFormatA +kernel32.dll!GetNumberFormatEx +kernel32.dll!GetNumberFormatW +kernel32.dll!GetNumberOfConsoleInputEvents +kernel32.dll!GetOEMCP +kernel32.dll!GetOverlappedResult +kernel32.dll!GetOverlappedResultEx +kernel32.dll!GetPhysicallyInstalledSystemMemory +kernel32.dll!GetPriorityClass +kernel32.dll!GetPrivateProfileIntA +kernel32.dll!GetPrivateProfileIntW +kernel32.dll!GetPrivateProfileSectionA +kernel32.dll!GetPrivateProfileSectionW +kernel32.dll!GetPrivateProfileStringA +kernel32.dll!GetPrivateProfileStringW +kernel32.dll!GetProcAddress +kernel32.dll!GetProcessAffinityMask +kernel32.dll!GetProcessGroupAffinity +kernel32.dll!GetProcessHandleCount +kernel32.dll!GetProcessHeap +kernel32.dll!GetProcessHeaps +kernel32.dll!GetProcessId +kernel32.dll!GetProcessIdOfThread +kernel32.dll!GetProcessInformation +kernel32.dll!GetProcessIoCounters +kernel32.dll!GetProcessMitigationPolicy +kernel32.dll!GetProcessorSystemCycleTime +kernel32.dll!GetProcessPreferredUILanguages +kernel32.dll!GetProcessPriorityBoost +kernel32.dll!GetProcessShutdownParameters +kernel32.dll!GetProcessTimes +kernel32.dll!GetProcessVersion +kernel32.dll!GetProcessWorkingSetSizeEx +kernel32.dll!GetProductInfo +kernel32.dll!GetProfileIntA +kernel32.dll!GetProfileIntW +kernel32.dll!GetProfileSectionA +kernel32.dll!GetProfileSectionW +kernel32.dll!GetProfileStringA +kernel32.dll!GetProfileStringW +kernel32.dll!GetQueuedCompletionStatus +kernel32.dll!GetQueuedCompletionStatusEx +kernel32.dll!GetShortPathNameA +kernel32.dll!GetShortPathNameW +kernel32.dll!GetStartupInfoA +kernel32.dll!GetStartupInfoW +kernel32.dll!GetStdHandle +kernel32.dll!GetStringScripts +kernel32.dll!GetStringTypeA +kernel32.dll!GetStringTypeExA +kernel32.dll!GetStringTypeExW +kernel32.dll!GetStringTypeW +kernel32.dll!GetSystemDefaultLangID +kernel32.dll!GetSystemDefaultLCID +kernel32.dll!GetSystemDefaultLocaleName +kernel32.dll!GetSystemDefaultUILanguage +kernel32.dll!GetSystemDirectoryA +kernel32.dll!GetSystemDirectoryW +kernel32.dll!GetSystemFileCacheSize +kernel32.dll!GetSystemFirmwareTable +kernel32.dll!GetSystemInfo +kernel32.dll!GetSystemPowerStatus +kernel32.dll!GetSystemPreferredUILanguages +kernel32.dll!GetSystemTime +kernel32.dll!GetSystemTimeAdjustment +kernel32.dll!GetSystemTimeAsFileTime +kernel32.dll!GetSystemTimePreciseAsFileTime +kernel32.dll!GetSystemTimes +kernel32.dll!GetSystemWindowsDirectoryA +kernel32.dll!GetSystemWindowsDirectoryW +kernel32.dll!GetSystemWow64DirectoryA +kernel32.dll!GetSystemWow64DirectoryW +kernel32.dll!GetTapeParameters +kernel32.dll!GetTempFileNameA +kernel32.dll!GetTempFileNameW +kernel32.dll!GetTempPathA +kernel32.dll!GetTempPathW +kernel32.dll!GetThreadContext +kernel32.dll!GetThreadErrorMode +kernel32.dll!GetThreadGroupAffinity +kernel32.dll!GetThreadId +kernel32.dll!GetThreadIdealProcessorEx +kernel32.dll!GetThreadInformation +kernel32.dll!GetThreadIOPendingFlag +kernel32.dll!GetThreadLocale +kernel32.dll!GetThreadPreferredUILanguages +kernel32.dll!GetThreadPriority +kernel32.dll!GetThreadPriorityBoost +kernel32.dll!GetThreadSelectorEntry +kernel32.dll!GetThreadTimes +kernel32.dll!GetThreadUILanguage +kernel32.dll!GetTickCount +kernel32.dll!GetTickCount64 +kernel32.dll!GetTimeFormatA +kernel32.dll!GetTimeFormatEx +kernel32.dll!GetTimeFormatW +kernel32.dll!GetTimeZoneInformation +kernel32.dll!GetTimeZoneInformationForYear +kernel32.dll!GetUILanguageInfo +kernel32.dll!GetUserDefaultLangID +kernel32.dll!GetUserDefaultLCID +kernel32.dll!GetUserDefaultLocaleName +kernel32.dll!GetUserDefaultUILanguage +kernel32.dll!GetUserGeoID +kernel32.dll!GetUserPreferredUILanguages +kernel32.dll!GetVersion +kernel32.dll!GetVersionExA +kernel32.dll!GetVersionExW +kernel32.dll!GetVolumeInformationA +kernel32.dll!GetVolumeInformationByHandleW +kernel32.dll!GetVolumeInformationW +kernel32.dll!GetVolumeNameForVolumeMountPointA +kernel32.dll!GetVolumeNameForVolumeMountPointW +kernel32.dll!GetVolumePathNameA +kernel32.dll!GetVolumePathNamesForVolumeNameA +kernel32.dll!GetVolumePathNamesForVolumeNameW +kernel32.dll!GetVolumePathNameW +kernel32.dll!GetWindowsDirectoryA +kernel32.dll!GetWindowsDirectoryW +kernel32.dll!GetWriteWatch +kernel32.dll!GetXStateFeaturesMask +kernel32.dll!GlobalAddAtomA +kernel32.dll!GlobalAddAtomExA +kernel32.dll!GlobalAddAtomExW +kernel32.dll!GlobalAddAtomW +kernel32.dll!GlobalAlloc +kernel32.dll!GlobalDeleteAtom +kernel32.dll!GlobalFindAtomA +kernel32.dll!GlobalFindAtomW +kernel32.dll!GlobalFlags +kernel32.dll!GlobalFree +kernel32.dll!GlobalGetAtomNameA +kernel32.dll!GlobalGetAtomNameW +kernel32.dll!GlobalHandle +kernel32.dll!GlobalLock +kernel32.dll!GlobalMemoryStatus +kernel32.dll!GlobalMemoryStatusEx +kernel32.dll!GlobalReAlloc +kernel32.dll!GlobalSize +kernel32.dll!GlobalUnlock +kernel32.dll!HeapAlloc +kernel32.dll!HeapCompact +kernel32.dll!HeapCreate +kernel32.dll!HeapDestroy +kernel32.dll!HeapFree +kernel32.dll!HeapLock +kernel32.dll!HeapQueryInformation +kernel32.dll!HeapReAlloc +kernel32.dll!HeapSetInformation +kernel32.dll!HeapSize +kernel32.dll!HeapUnlock +kernel32.dll!HeapValidate +kernel32.dll!HeapWalk +kernel32.dll!InitAtomTable +kernel32.dll!InitializeConditionVariable +kernel32.dll!InitializeContext +kernel32.dll!InitializeCriticalSection +kernel32.dll!InitializeCriticalSectionAndSpinCount +kernel32.dll!InitializeCriticalSectionEx +kernel32.dll!InitializeProcThreadAttributeList +kernel32.dll!InitializeSListHead +kernel32.dll!InitializeSRWLock +kernel32.dll!InitializeSynchronizationBarrier +kernel32.dll!InitOnceBeginInitialize +kernel32.dll!InitOnceComplete +kernel32.dll!InitOnceExecuteOnce +kernel32.dll!InitOnceInitialize +kernel32.dll!InstallELAMCertificateInfo +kernel32.dll!InterlockedFlushSList +kernel32.dll!InterlockedPopEntrySList +kernel32.dll!InterlockedPushEntrySList +kernel32.dll!InterlockedPushListSListEx +kernel32.dll!IsDBCSLeadByte +kernel32.dll!IsDBCSLeadByteEx +kernel32.dll!IsDebuggerPresent +kernel32.dll!IsNLSDefinedString +kernel32.dll!IsNormalizedString +kernel32.dll!IsProcessCritical +kernel32.dll!IsProcessInJob +kernel32.dll!IsProcessorFeaturePresent +kernel32.dll!IsThreadAFiber +kernel32.dll!IsThreadpoolTimerSet +kernel32.dll!IsValidCodePage +kernel32.dll!IsValidLanguageGroup +kernel32.dll!IsValidLocale +kernel32.dll!IsValidLocaleName +kernel32.dll!IsValidNLSVersion +kernel32.dll!IsWow64Process +kernel32.dll!K32EmptyWorkingSet +kernel32.dll!K32EnumDeviceDrivers +kernel32.dll!K32EnumPageFilesA +kernel32.dll!K32EnumPageFilesW +kernel32.dll!K32EnumProcesses +kernel32.dll!K32EnumProcessModules +kernel32.dll!K32EnumProcessModulesEx +kernel32.dll!K32GetDeviceDriverBaseNameA +kernel32.dll!K32GetDeviceDriverBaseNameW +kernel32.dll!K32GetDeviceDriverFileNameA +kernel32.dll!K32GetDeviceDriverFileNameW +kernel32.dll!K32GetMappedFileNameA +kernel32.dll!K32GetMappedFileNameW +kernel32.dll!K32GetModuleBaseNameA +kernel32.dll!K32GetModuleBaseNameW +kernel32.dll!K32GetModuleFileNameExA +kernel32.dll!K32GetModuleFileNameExW +kernel32.dll!K32GetModuleInformation +kernel32.dll!K32GetPerformanceInfo +kernel32.dll!K32GetProcessImageFileNameA +kernel32.dll!K32GetProcessImageFileNameW +kernel32.dll!K32GetProcessMemoryInfo +kernel32.dll!K32GetWsChanges +kernel32.dll!K32GetWsChangesEx +kernel32.dll!K32InitializeProcessForWsWatch +kernel32.dll!K32QueryWorkingSet +kernel32.dll!K32QueryWorkingSetEx +kernel32.dll!LCIDToLocaleName +kernel32.dll!LCMapStringA +kernel32.dll!LCMapStringEx +kernel32.dll!LCMapStringW +kernel32.dll!LeaveCriticalSection +kernel32.dll!LeaveCriticalSectionWhenCallbackReturns +kernel32.dll!LoadAppInitDlls +kernel32.dll!LoadLibraryA +kernel32.dll!LoadLibraryExA +kernel32.dll!LoadLibraryExW +kernel32.dll!LoadLibraryW +kernel32.dll!LoadPackagedLibrary +kernel32.dll!LoadResource +kernel32.dll!LocalAlloc +kernel32.dll!LocaleNameToLCID +kernel32.dll!LocalFileTimeToFileTime +kernel32.dll!LocalFlags +kernel32.dll!LocalFree +kernel32.dll!LocalLock +kernel32.dll!LocalReAlloc +kernel32.dll!LocalSize +kernel32.dll!LocalUnlock +kernel32.dll!LocateXStateFeature +kernel32.dll!LockFile +kernel32.dll!LockFileEx +kernel32.dll!LockResource +kernel32.dll!lstrcatA +kernel32.dll!lstrcatW +kernel32.dll!lstrcmpA +kernel32.dll!lstrcmpiA +kernel32.dll!lstrcmpiW +kernel32.dll!lstrcmpW +kernel32.dll!lstrcpyA +kernel32.dll!lstrcpynA +kernel32.dll!lstrcpynW +kernel32.dll!lstrcpyW +kernel32.dll!lstrlenA +kernel32.dll!lstrlenW +kernel32.dll!MapUserPhysicalPages +kernel32.dll!MapViewOfFile +kernel32.dll!MapViewOfFileEx +kernel32.dll!MapViewOfFileFromApp +kernel32.dll!Module32First +kernel32.dll!Module32FirstW +kernel32.dll!Module32Next +kernel32.dll!Module32NextW +kernel32.dll!MoveFileA +kernel32.dll!MoveFileExA +kernel32.dll!MoveFileExW +kernel32.dll!MoveFileW +kernel32.dll!MoveFileWithProgressA +kernel32.dll!MoveFileWithProgressW +kernel32.dll!MulDiv +kernel32.dll!MultiByteToWideChar +kernel32.dll!NeedCurrentDirectoryForExePathA +kernel32.dll!NeedCurrentDirectoryForExePathW +kernel32.dll!NormalizeString +kernel32.dll!OfferVirtualMemory +kernel32.dll!OpenEventA +kernel32.dll!OpenEventW +kernel32.dll!OpenFile +kernel32.dll!OpenFileById +kernel32.dll!OpenFileMappingA +kernel32.dll!OpenFileMappingW +kernel32.dll!OpenJobObjectA +kernel32.dll!OpenJobObjectW +kernel32.dll!OpenMutexA +kernel32.dll!OpenMutexW +kernel32.dll!OpenPrivateNamespaceA +kernel32.dll!OpenPrivateNamespaceW +kernel32.dll!OpenProcess +kernel32.dll!OpenSemaphoreA +kernel32.dll!OpenSemaphoreW +kernel32.dll!OpenThread +kernel32.dll!OpenWaitableTimerA +kernel32.dll!OpenWaitableTimerW +kernel32.dll!OutputDebugStringA +kernel32.dll!OutputDebugStringW +kernel32.dll!PeekConsoleInputA +kernel32.dll!PeekConsoleInputW +kernel32.dll!PeekNamedPipe +kernel32.dll!PostQueuedCompletionStatus +kernel32.dll!PowerClearRequest +kernel32.dll!PowerCreateRequest +kernel32.dll!PowerSetRequest +kernel32.dll!PrefetchVirtualMemory +kernel32.dll!Process32First +kernel32.dll!Process32FirstW +kernel32.dll!Process32Next +kernel32.dll!Process32NextW +kernel32.dll!ProcessIdToSessionId +kernel32.dll!PssCaptureSnapshot +kernel32.dll!PssDuplicateSnapshot +kernel32.dll!PssFreeSnapshot +kernel32.dll!PssQuerySnapshot +kernel32.dll!PssWalkMarkerCreate +kernel32.dll!PssWalkMarkerFree +kernel32.dll!PssWalkMarkerGetPosition +kernel32.dll!PssWalkMarkerSeekToBeginning +kernel32.dll!PssWalkMarkerSetPosition +kernel32.dll!PssWalkSnapshot +kernel32.dll!PulseEvent +kernel32.dll!PurgeComm +kernel32.dll!QueryActCtxSettingsW +kernel32.dll!QueryActCtxW +kernel32.dll!QueryDepthSList +kernel32.dll!QueryDosDeviceA +kernel32.dll!QueryDosDeviceW +kernel32.dll!QueryFullProcessImageNameA +kernel32.dll!QueryFullProcessImageNameW +kernel32.dll!QueryIdleProcessorCycleTime +kernel32.dll!QueryIdleProcessorCycleTimeEx +kernel32.dll!QueryInformationJobObject +kernel32.dll!QueryMemoryResourceNotification +kernel32.dll!QueryPerformanceCounter +kernel32.dll!QueryPerformanceFrequency +kernel32.dll!QueryProcessAffinityUpdateMode +kernel32.dll!QueryProcessCycleTime +kernel32.dll!QueryProtectedPolicy +kernel32.dll!QueryThreadCycleTime +kernel32.dll!QueryThreadpoolStackInformation +kernel32.dll!QueryUnbiasedInterruptTime +kernel32.dll!QueueUserAPC +kernel32.dll!QueueUserWorkItem +kernel32.dll!RaiseException +kernel32.dll!RaiseFailFastException +kernel32.dll!ReadConsoleA +kernel32.dll!ReadConsoleInputA +kernel32.dll!ReadConsoleInputW +kernel32.dll!ReadConsoleOutputA +kernel32.dll!ReadConsoleOutputAttribute +kernel32.dll!ReadConsoleOutputCharacterA +kernel32.dll!ReadConsoleOutputCharacterW +kernel32.dll!ReadConsoleOutputW +kernel32.dll!ReadConsoleW +kernel32.dll!ReadDirectoryChangesW +kernel32.dll!ReadFile +kernel32.dll!ReadFileEx +kernel32.dll!ReadFileScatter +kernel32.dll!ReadProcessMemory +kernel32.dll!ReclaimVirtualMemory +kernel32.dll!RegisterBadMemoryNotification +kernel32.dll!RegisterWaitForInputIdle +kernel32.dll!RegisterWaitForSingleObject +kernel32.dll!RegisterWaitForSingleObjectEx +kernel32.dll!ReleaseActCtx +kernel32.dll!ReleaseMutex +kernel32.dll!ReleaseMutexWhenCallbackReturns +kernel32.dll!ReleaseSemaphore +kernel32.dll!ReleaseSemaphoreWhenCallbackReturns +kernel32.dll!ReleaseSRWLockExclusive +kernel32.dll!ReleaseSRWLockShared +kernel32.dll!RemoveDirectoryA +kernel32.dll!RemoveDirectoryW +kernel32.dll!RemoveDllDirectory +kernel32.dll!RemoveLocalAlternateComputerNameW +kernel32.dll!RemoveVectoredContinueHandler +kernel32.dll!RemoveVectoredExceptionHandler +kernel32.dll!ReOpenFile +kernel32.dll!ReplaceFileA +kernel32.dll!ReplaceFileW +kernel32.dll!ResetEvent +kernel32.dll!ResetWriteWatch +kernel32.dll!ResolveDelayLoadedAPI +kernel32.dll!ResolveDelayLoadsFromDll +kernel32.dll!ResolveLocaleName +kernel32.dll!RestoreLastError +kernel32.dll!ResumeThread +kernel32.dll!RtlCaptureContext +kernel32.dll!RtlCaptureStackBackTrace +kernel32.dll!RtlCompareMemory +kernel32.dll!RtlPcToFileHeader +kernel32.dll!RtlRaiseException +kernel32.dll!RtlUnwind +kernel32.dll!ScrollConsoleScreenBufferA +kernel32.dll!ScrollConsoleScreenBufferW +kernel32.dll!SearchPathA +kernel32.dll!SearchPathW +kernel32.dll!SetCachedSigningLevel +kernel32.dll!SetCalendarInfoA +kernel32.dll!SetCalendarInfoW +kernel32.dll!SetCommBreak +kernel32.dll!SetCommConfig +kernel32.dll!SetCommMask +kernel32.dll!SetCommState +kernel32.dll!SetCommTimeouts +kernel32.dll!SetComputerNameA +kernel32.dll!SetComputerNameEx2W +kernel32.dll!SetComputerNameExA +kernel32.dll!SetComputerNameExW +kernel32.dll!SetComputerNameW +kernel32.dll!SetConsoleActiveScreenBuffer +kernel32.dll!SetConsoleCP +kernel32.dll!SetConsoleCtrlHandler +kernel32.dll!SetConsoleCursorInfo +kernel32.dll!SetConsoleCursorPosition +kernel32.dll!SetConsoleMode +kernel32.dll!SetConsoleOutputCP +kernel32.dll!SetConsoleScreenBufferInfoEx +kernel32.dll!SetConsoleScreenBufferSize +kernel32.dll!SetConsoleTextAttribute +kernel32.dll!SetConsoleTitleA +kernel32.dll!SetConsoleTitleW +kernel32.dll!SetConsoleWindowInfo +kernel32.dll!SetCriticalSectionSpinCount +kernel32.dll!SetCurrentDirectoryA +kernel32.dll!SetCurrentDirectoryW +kernel32.dll!SetDefaultDllDirectories +kernel32.dll!SetDllDirectoryA +kernel32.dll!SetDllDirectoryW +kernel32.dll!SetDynamicTimeZoneInformation +kernel32.dll!SetEndOfFile +kernel32.dll!SetEnvironmentStringsA +kernel32.dll!SetEnvironmentStringsW +kernel32.dll!SetEnvironmentVariableA +kernel32.dll!SetEnvironmentVariableW +kernel32.dll!SetErrorMode +kernel32.dll!SetEvent +kernel32.dll!SetEventWhenCallbackReturns +kernel32.dll!SetFileApisToANSI +kernel32.dll!SetFileApisToOEM +kernel32.dll!SetFileAttributesA +kernel32.dll!SetFileAttributesW +kernel32.dll!SetFileCompletionNotificationModes +kernel32.dll!SetFileInformationByHandle +kernel32.dll!SetFileIoOverlappedRange +kernel32.dll!SetFilePointer +kernel32.dll!SetFilePointerEx +kernel32.dll!SetFileTime +kernel32.dll!SetFileValidData +kernel32.dll!SetFirmwareEnvironmentVariableExW +kernel32.dll!SetFirmwareEnvironmentVariableW +kernel32.dll!SetHandleCount +kernel32.dll!SetHandleInformation +kernel32.dll!SetInformationJobObject +kernel32.dll!SetLastError +kernel32.dll!SetLocaleInfoA +kernel32.dll!SetLocaleInfoW +kernel32.dll!SetLocalPrimaryComputerNameW +kernel32.dll!SetLocalTime +kernel32.dll!SetMailslotInfo +kernel32.dll!SetNamedPipeHandleState +kernel32.dll!SetPriorityClass +kernel32.dll!SetProcessAffinityMask +kernel32.dll!SetProcessAffinityUpdateMode +kernel32.dll!SetProcessInformation +kernel32.dll!SetProcessMitigationPolicy +kernel32.dll!SetProcessPreferredUILanguages +kernel32.dll!SetProcessPriorityBoost +kernel32.dll!SetProcessShutdownParameters +kernel32.dll!SetProcessWorkingSetSizeEx +kernel32.dll!SetProtectedPolicy +kernel32.dll!SetStdHandle +kernel32.dll!SetStdHandleEx +kernel32.dll!SetSystemFileCacheSize +kernel32.dll!SetSystemTime +kernel32.dll!SetSystemTimeAdjustment +kernel32.dll!SetThreadAffinityMask +kernel32.dll!SetThreadContext +kernel32.dll!SetThreadErrorMode +kernel32.dll!SetThreadGroupAffinity +kernel32.dll!SetThreadIdealProcessor +kernel32.dll!SetThreadIdealProcessorEx +kernel32.dll!SetThreadInformation +kernel32.dll!SetThreadLocale +kernel32.dll!SetThreadpoolStackInformation +kernel32.dll!SetThreadpoolThreadMaximum +kernel32.dll!SetThreadpoolThreadMinimum +kernel32.dll!SetThreadpoolTimer +kernel32.dll!SetThreadpoolTimerEx +kernel32.dll!SetThreadpoolWait +kernel32.dll!SetThreadpoolWaitEx +kernel32.dll!SetThreadPreferredUILanguages +kernel32.dll!SetThreadPriority +kernel32.dll!SetThreadPriorityBoost +kernel32.dll!SetThreadStackGuarantee +kernel32.dll!SetThreadUILanguage +kernel32.dll!SetTimeZoneInformation +kernel32.dll!SetUnhandledExceptionFilter +kernel32.dll!SetupComm +kernel32.dll!SetUserGeoID +kernel32.dll!SetVolumeLabelA +kernel32.dll!SetVolumeLabelW +kernel32.dll!SetVolumeMountPointA +kernel32.dll!SetVolumeMountPointW +kernel32.dll!SetWaitableTimer +kernel32.dll!SetWaitableTimerEx +kernel32.dll!SetXStateFeaturesMask +kernel32.dll!SignalObjectAndWait +kernel32.dll!SizeofResource +kernel32.dll!Sleep +kernel32.dll!SleepConditionVariableCS +kernel32.dll!SleepConditionVariableSRW +kernel32.dll!SleepEx +kernel32.dll!StartThreadpoolIo +kernel32.dll!SubmitThreadpoolWork +kernel32.dll!SuspendThread +kernel32.dll!SwitchToFiber +kernel32.dll!SwitchToThread +kernel32.dll!SystemTimeToFileTime +kernel32.dll!SystemTimeToTzSpecificLocalTime +kernel32.dll!SystemTimeToTzSpecificLocalTimeEx +kernel32.dll!TerminateJobObject +kernel32.dll!TerminateProcess +kernel32.dll!TerminateThread +kernel32.dll!Thread32First +kernel32.dll!Thread32Next +kernel32.dll!TlsAlloc +kernel32.dll!TlsFree +kernel32.dll!TlsGetValue +kernel32.dll!TlsSetValue +kernel32.dll!TransactNamedPipe +kernel32.dll!TransmitCommChar +kernel32.dll!TryAcquireSRWLockExclusive +kernel32.dll!TryAcquireSRWLockShared +kernel32.dll!TryEnterCriticalSection +kernel32.dll!TrySubmitThreadpoolCallback +kernel32.dll!TzSpecificLocalTimeToSystemTime +kernel32.dll!TzSpecificLocalTimeToSystemTimeEx +kernel32.dll!UnhandledExceptionFilter +kernel32.dll!UnlockFile +kernel32.dll!UnlockFileEx +kernel32.dll!UnmapViewOfFile +kernel32.dll!UnmapViewOfFileEx +kernel32.dll!UnregisterBadMemoryNotification +kernel32.dll!UnregisterWait +kernel32.dll!UnregisterWaitEx +kernel32.dll!UpdateProcThreadAttribute +kernel32.dll!VerifyScripts +kernel32.dll!VerifyVersionInfoA +kernel32.dll!VerifyVersionInfoW +kernel32.dll!VerLanguageNameA +kernel32.dll!VerLanguageNameW +kernel32.dll!VerSetConditionMask +kernel32.dll!VirtualAlloc +kernel32.dll!VirtualAllocEx +kernel32.dll!VirtualAllocExNuma +kernel32.dll!VirtualFree +kernel32.dll!VirtualFreeEx +kernel32.dll!VirtualLock +kernel32.dll!VirtualProtect +kernel32.dll!VirtualProtectEx +kernel32.dll!VirtualQuery +kernel32.dll!VirtualQueryEx +kernel32.dll!VirtualUnlock +kernel32.dll!WaitCommEvent +kernel32.dll!WaitForDebugEvent +kernel32.dll!WaitForDebugEventEx +kernel32.dll!WaitForMultipleObjects +kernel32.dll!WaitForMultipleObjectsEx +kernel32.dll!WaitForSingleObject +kernel32.dll!WaitForSingleObjectEx +kernel32.dll!WaitForThreadpoolIoCallbacks +kernel32.dll!WaitForThreadpoolTimerCallbacks +kernel32.dll!WaitForThreadpoolWaitCallbacks +kernel32.dll!WaitForThreadpoolWorkCallbacks +kernel32.dll!WaitNamedPipeA +kernel32.dll!WaitNamedPipeW +kernel32.dll!WakeAllConditionVariable +kernel32.dll!WakeConditionVariable +kernel32.dll!WerGetFlags +kernel32.dll!WerRegisterFile +kernel32.dll!WerRegisterMemoryBlock +kernel32.dll!WerRegisterRuntimeExceptionModule +kernel32.dll!WerSetFlags +kernel32.dll!WerUnregisterFile +kernel32.dll!WerUnregisterMemoryBlock +kernel32.dll!WerUnregisterRuntimeExceptionModule +kernel32.dll!WideCharToMultiByte +kernel32.dll!Wow64DisableWow64FsRedirection +kernel32.dll!Wow64EnableWow64FsRedirection +kernel32.dll!Wow64RevertWow64FsRedirection +kernel32.dll!WriteConsoleA +kernel32.dll!WriteConsoleInputA +kernel32.dll!WriteConsoleInputW +kernel32.dll!WriteConsoleOutputA +kernel32.dll!WriteConsoleOutputAttribute +kernel32.dll!WriteConsoleOutputCharacterA +kernel32.dll!WriteConsoleOutputCharacterW +kernel32.dll!WriteConsoleOutputW +kernel32.dll!WriteConsoleW +kernel32.dll!WriteFile +kernel32.dll!WriteFileEx +kernel32.dll!WriteFileGather +kernel32.dll!WritePrivateProfileSectionA +kernel32.dll!WritePrivateProfileSectionW +kernel32.dll!WritePrivateProfileStringA +kernel32.dll!WritePrivateProfileStringW +kernel32.dll!WriteProcessMemory +kernel32.dll!WTSGetActiveConsoleSessionId +kernel32.dll!ZombifyActCtx +normaliz.dll!IdnToAscii +normaliz.dll!IdnToNameprepUnicode +normaliz.dll!IdnToUnicode +ole32.dll!BindMoniker +ole32.dll!CLIPFORMAT_UserFree +ole32.dll!CLIPFORMAT_UserMarshal +ole32.dll!CLIPFORMAT_UserSize +ole32.dll!CLIPFORMAT_UserUnmarshal +ole32.dll!CLSIDFromProgID +ole32.dll!CLSIDFromProgIDEx +ole32.dll!CLSIDFromString +ole32.dll!CoAddRefServerProcess +ole32.dll!CoAllowUnmarshalerCLSID +ole32.dll!CoCancelCall +ole32.dll!CoCopyProxy +ole32.dll!CoCreateFreeThreadedMarshaler +ole32.dll!CoCreateGuid +ole32.dll!CoCreateInstance +ole32.dll!CoCreateInstanceEx +ole32.dll!CoCreateInstanceFromApp +ole32.dll!CoCreateObjectInContext +ole32.dll!CoDeactivateObject +ole32.dll!CoDecodeProxy +ole32.dll!CoDecrementMTAUsage +ole32.dll!CoDisableCallCancellation +ole32.dll!CoDisconnectContext +ole32.dll!CoDisconnectObject +ole32.dll!CoEnableCallCancellation +ole32.dll!CoFreeUnusedLibraries +ole32.dll!CoFreeUnusedLibrariesEx +ole32.dll!CoGetApartmentID +ole32.dll!CoGetApartmentType +ole32.dll!CoGetCallContext +ole32.dll!CoGetCallerTID +ole32.dll!CoGetCancelObject +ole32.dll!CoGetClassObject +ole32.dll!CoGetClassVersion +ole32.dll!CoGetContextToken +ole32.dll!CoGetCurrentLogicalThreadId +ole32.dll!CoGetCurrentProcess +ole32.dll!CoGetDefaultContext +ole32.dll!CoGetInstanceFromFile +ole32.dll!CoGetInstanceFromIStorage +ole32.dll!CoGetInterfaceAndReleaseStream +ole32.dll!CoGetMalloc +ole32.dll!CoGetMarshalSizeMax +ole32.dll!CoGetObjectContext +ole32.dll!CoGetProcessIdentifier +ole32.dll!CoGetPSClsid +ole32.dll!CoGetStandardMarshal +ole32.dll!CoGetStdMarshalEx +ole32.dll!CoGetSystemSecurityPermissions +ole32.dll!CoGetTreatAsClass +ole32.dll!CoImpersonateClient +ole32.dll!CoIncrementMTAUsage +ole32.dll!CoInitializeEx +ole32.dll!CoInitializeSecurity +ole32.dll!CoInitializeWOW +ole32.dll!CoInvalidateRemoteMachineBindings +ole32.dll!CoIsHandlerConnected +ole32.dll!CoLockObjectExternal +ole32.dll!CoMarshalHresult +ole32.dll!CoMarshalInterface +ole32.dll!CoMarshalInterThreadInterfaceInStream +ole32.dll!CoQueryAuthenticationServices +ole32.dll!CoQueryClientBlanket +ole32.dll!CoQueryProxyBlanket +ole32.dll!CoReactivateObject +ole32.dll!CoRegisterActivationFilter +ole32.dll!CoRegisterClassObject +ole32.dll!CoRegisterInitializeSpy +ole32.dll!CoRegisterMallocSpy +ole32.dll!CoRegisterMessageFilter +ole32.dll!CoRegisterPSClsid +ole32.dll!CoRegisterSurrogate +ole32.dll!CoRegisterSurrogateEx +ole32.dll!CoReleaseMarshalData +ole32.dll!CoReleaseServerProcess +ole32.dll!CoResumeClassObjects +ole32.dll!CoRetireServer +ole32.dll!CoRevertToSelf +ole32.dll!CoRevokeClassObject +ole32.dll!CoRevokeInitializeSpy +ole32.dll!CoRevokeMallocSpy +ole32.dll!CoSetCancelObject +ole32.dll!CoSetProxyBlanket +ole32.dll!CoSuspendClassObjects +ole32.dll!CoSwitchCallContext +ole32.dll!CoTaskMemAlloc +ole32.dll!CoTaskMemFree +ole32.dll!CoTaskMemRealloc +ole32.dll!CoTestCancel +ole32.dll!CoUninitialize +ole32.dll!CoUnloadingWOW +ole32.dll!CoUnmarshalHresult +ole32.dll!CoUnmarshalInterface +ole32.dll!CoWaitForMultipleHandles +ole32.dll!CoWaitForMultipleObjects +ole32.dll!CreateBindCtx +ole32.dll!CreateStreamOnHGlobal +ole32.dll!CStdAsyncStubBuffer_AddRef +ole32.dll!CStdAsyncStubBuffer_Connect +ole32.dll!CStdAsyncStubBuffer_Disconnect +ole32.dll!CStdAsyncStubBuffer_Invoke +ole32.dll!CStdAsyncStubBuffer_QueryInterface +ole32.dll!CStdAsyncStubBuffer_Release +ole32.dll!CStdAsyncStubBuffer2_Connect +ole32.dll!CStdAsyncStubBuffer2_Disconnect +ole32.dll!CStdAsyncStubBuffer2_Release +ole32.dll!CStdStubBuffer2_Connect +ole32.dll!CStdStubBuffer2_CountRefs +ole32.dll!CStdStubBuffer2_Disconnect +ole32.dll!CStdStubBuffer2_QueryInterface +ole32.dll!DllDebugObjectRPCHook +ole32.dll!EnableHookObject +ole32.dll!FreePropVariantArray +ole32.dll!GetHGlobalFromStream +ole32.dll!GetHookInterface +ole32.dll!HACCEL_UserFree +ole32.dll!HACCEL_UserMarshal +ole32.dll!HACCEL_UserSize +ole32.dll!HACCEL_UserUnmarshal +ole32.dll!HBITMAP_UserFree +ole32.dll!HBITMAP_UserMarshal +ole32.dll!HBITMAP_UserSize +ole32.dll!HBITMAP_UserUnmarshal +ole32.dll!HBRUSH_UserFree +ole32.dll!HBRUSH_UserMarshal +ole32.dll!HBRUSH_UserSize +ole32.dll!HBRUSH_UserUnmarshal +ole32.dll!HDC_UserFree +ole32.dll!HDC_UserMarshal +ole32.dll!HDC_UserSize +ole32.dll!HDC_UserUnmarshal +ole32.dll!HGLOBAL_UserFree +ole32.dll!HGLOBAL_UserMarshal +ole32.dll!HGLOBAL_UserSize +ole32.dll!HGLOBAL_UserUnmarshal +ole32.dll!HICON_UserFree +ole32.dll!HICON_UserMarshal +ole32.dll!HICON_UserSize +ole32.dll!HICON_UserUnmarshal +ole32.dll!HkOleRegisterObject +ole32.dll!HMENU_UserFree +ole32.dll!HMENU_UserMarshal +ole32.dll!HMENU_UserSize +ole32.dll!HMENU_UserUnmarshal +ole32.dll!HMONITOR_UserFree +ole32.dll!HMONITOR_UserMarshal +ole32.dll!HMONITOR_UserSize +ole32.dll!HMONITOR_UserUnmarshal +ole32.dll!HPALETTE_UserFree +ole32.dll!HPALETTE_UserMarshal +ole32.dll!HPALETTE_UserSize +ole32.dll!HPALETTE_UserUnmarshal +ole32.dll!HWND_UserFree +ole32.dll!HWND_UserMarshal +ole32.dll!HWND_UserSize +ole32.dll!HWND_UserUnmarshal +ole32.dll!IIDFromString +ole32.dll!MkParseDisplayName +ole32.dll!NdrProxyForwardingFunction10 +ole32.dll!NdrProxyForwardingFunction11 +ole32.dll!NdrProxyForwardingFunction12 +ole32.dll!NdrProxyForwardingFunction13 +ole32.dll!NdrProxyForwardingFunction14 +ole32.dll!NdrProxyForwardingFunction15 +ole32.dll!NdrProxyForwardingFunction16 +ole32.dll!NdrProxyForwardingFunction17 +ole32.dll!NdrProxyForwardingFunction18 +ole32.dll!NdrProxyForwardingFunction19 +ole32.dll!NdrProxyForwardingFunction20 +ole32.dll!NdrProxyForwardingFunction21 +ole32.dll!NdrProxyForwardingFunction22 +ole32.dll!NdrProxyForwardingFunction23 +ole32.dll!NdrProxyForwardingFunction24 +ole32.dll!NdrProxyForwardingFunction25 +ole32.dll!NdrProxyForwardingFunction26 +ole32.dll!NdrProxyForwardingFunction27 +ole32.dll!NdrProxyForwardingFunction28 +ole32.dll!NdrProxyForwardingFunction29 +ole32.dll!NdrProxyForwardingFunction3 +ole32.dll!NdrProxyForwardingFunction30 +ole32.dll!NdrProxyForwardingFunction31 +ole32.dll!NdrProxyForwardingFunction32 +ole32.dll!NdrProxyForwardingFunction4 +ole32.dll!NdrProxyForwardingFunction5 +ole32.dll!NdrProxyForwardingFunction6 +ole32.dll!NdrProxyForwardingFunction7 +ole32.dll!NdrProxyForwardingFunction8 +ole32.dll!NdrProxyForwardingFunction9 +ole32.dll!ObjectStublessClient10 +ole32.dll!ObjectStublessClient11 +ole32.dll!ObjectStublessClient12 +ole32.dll!ObjectStublessClient13 +ole32.dll!ObjectStublessClient14 +ole32.dll!ObjectStublessClient15 +ole32.dll!ObjectStublessClient16 +ole32.dll!ObjectStublessClient17 +ole32.dll!ObjectStublessClient18 +ole32.dll!ObjectStublessClient19 +ole32.dll!ObjectStublessClient20 +ole32.dll!ObjectStublessClient21 +ole32.dll!ObjectStublessClient22 +ole32.dll!ObjectStublessClient23 +ole32.dll!ObjectStublessClient24 +ole32.dll!ObjectStublessClient25 +ole32.dll!ObjectStublessClient26 +ole32.dll!ObjectStublessClient27 +ole32.dll!ObjectStublessClient28 +ole32.dll!ObjectStublessClient29 +ole32.dll!ObjectStublessClient3 +ole32.dll!ObjectStublessClient30 +ole32.dll!ObjectStublessClient31 +ole32.dll!ObjectStublessClient32 +ole32.dll!ObjectStublessClient4 +ole32.dll!ObjectStublessClient5 +ole32.dll!ObjectStublessClient6 +ole32.dll!ObjectStublessClient7 +ole32.dll!ObjectStublessClient8 +ole32.dll!ObjectStublessClient9 +ole32.dll!ProgIDFromCLSID +ole32.dll!PropVariantClear +ole32.dll!PropVariantCopy +ole32.dll!RoGetAgileReference +ole32.dll!StringFromCLSID +ole32.dll!StringFromGUID2 +ole32.dll!StringFromIID +ole32.dll!UpdateDCOMSettings +secur32.dll!GetUserNameExW +shell32.dll!CommandLineToArgvW +shell32.dll!GetCurrentProcessExplicitAppUserModelID +shell32.dll!PathCleanupSpec +shell32.dll!PathIsExe +shell32.dll!SetCurrentProcessExplicitAppUserModelID +shell32.dll!SHCoCreateInstance +shell32.dll!SHCreateDirectory +shell32.dll!SHCreateDirectoryExA +shell32.dll!SHCreateDirectoryExW +shell32.dll!SHGetDesktopFolder +shell32.dll!SHGetFileInfoW +shell32.dll!SHGetFolderLocation +shell32.dll!SHGetFolderPathA +shell32.dll!SHGetFolderPathAndSubDirW +shell32.dll!SHGetFolderPathW +shell32.dll!SHGetInstanceExplorer +shell32.dll!SHGetKnownFolderPath +shell32.dll!SHGetSpecialFolderPathA +shell32.dll!SHGetSpecialFolderPathW +shell32.dll!SHSetKnownFolderPath +shlwapi.dll!GetAcceptLanguagesA +shlwapi.dll!GetAcceptLanguagesW +shlwapi.dll!HashData +shlwapi.dll!IsCharSpaceA +shlwapi.dll!IsCharSpaceW +shlwapi.dll!IsInternetESCEnabled +shlwapi.dll!IsOS +shlwapi.dll!IStream_Copy +shlwapi.dll!IStream_Read +shlwapi.dll!IStream_ReadStr +shlwapi.dll!IStream_Reset +shlwapi.dll!IStream_Size +shlwapi.dll!IStream_Write +shlwapi.dll!IStream_WriteStr +shlwapi.dll!IUnknown_AtomicRelease +shlwapi.dll!IUnknown_GetSite +shlwapi.dll!IUnknown_QueryService +shlwapi.dll!IUnknown_Set +shlwapi.dll!IUnknown_SetSite +shlwapi.dll!ParseURLA +shlwapi.dll!ParseURLW +shlwapi.dll!PathAddBackslashA +shlwapi.dll!PathAddBackslashW +shlwapi.dll!PathAddExtensionA +shlwapi.dll!PathAddExtensionW +shlwapi.dll!PathAppendA +shlwapi.dll!PathAppendW +shlwapi.dll!PathCanonicalizeA +shlwapi.dll!PathCanonicalizeW +shlwapi.dll!PathCombineA +shlwapi.dll!PathCombineW +shlwapi.dll!PathCommonPrefixA +shlwapi.dll!PathCommonPrefixW +shlwapi.dll!PathCreateFromUrlA +shlwapi.dll!PathCreateFromUrlAlloc +shlwapi.dll!PathCreateFromUrlW +shlwapi.dll!PathFileExistsA +shlwapi.dll!PathFileExistsW +shlwapi.dll!PathFindExtensionA +shlwapi.dll!PathFindExtensionW +shlwapi.dll!PathFindFileNameA +shlwapi.dll!PathFindFileNameW +shlwapi.dll!PathFindNextComponentA +shlwapi.dll!PathFindNextComponentW +shlwapi.dll!PathGetArgsA +shlwapi.dll!PathGetArgsW +shlwapi.dll!PathGetCharTypeA +shlwapi.dll!PathGetCharTypeW +shlwapi.dll!PathGetDriveNumberA +shlwapi.dll!PathGetDriveNumberW +shlwapi.dll!PathIsFileSpecA +shlwapi.dll!PathIsFileSpecW +shlwapi.dll!PathIsLFNFileSpecA +shlwapi.dll!PathIsLFNFileSpecW +shlwapi.dll!PathIsPrefixA +shlwapi.dll!PathIsPrefixW +shlwapi.dll!PathIsRelativeA +shlwapi.dll!PathIsRelativeW +shlwapi.dll!PathIsRootA +shlwapi.dll!PathIsRootW +shlwapi.dll!PathIsSameRootA +shlwapi.dll!PathIsSameRootW +shlwapi.dll!PathIsUNCA +shlwapi.dll!PathIsUNCServerA +shlwapi.dll!PathIsUNCServerShareA +shlwapi.dll!PathIsUNCServerShareW +shlwapi.dll!PathIsUNCServerW +shlwapi.dll!PathIsUNCW +shlwapi.dll!PathIsURLA +shlwapi.dll!PathIsURLW +shlwapi.dll!PathMatchSpecA +shlwapi.dll!PathMatchSpecExA +shlwapi.dll!PathMatchSpecExW +shlwapi.dll!PathMatchSpecW +shlwapi.dll!PathParseIconLocationA +shlwapi.dll!PathParseIconLocationW +shlwapi.dll!PathQuoteSpacesA +shlwapi.dll!PathQuoteSpacesW +shlwapi.dll!PathRelativePathToA +shlwapi.dll!PathRelativePathToW +shlwapi.dll!PathRemoveBackslashA +shlwapi.dll!PathRemoveBackslashW +shlwapi.dll!PathRemoveBlanksA +shlwapi.dll!PathRemoveBlanksW +shlwapi.dll!PathRemoveExtensionA +shlwapi.dll!PathRemoveExtensionW +shlwapi.dll!PathRemoveFileSpecA +shlwapi.dll!PathRemoveFileSpecW +shlwapi.dll!PathRenameExtensionA +shlwapi.dll!PathRenameExtensionW +shlwapi.dll!PathSearchAndQualifyA +shlwapi.dll!PathSearchAndQualifyW +shlwapi.dll!PathSkipRootA +shlwapi.dll!PathSkipRootW +shlwapi.dll!PathStripPathA +shlwapi.dll!PathStripPathW +shlwapi.dll!PathStripToRootA +shlwapi.dll!PathStripToRootW +shlwapi.dll!PathUnExpandEnvStringsA +shlwapi.dll!PathUnExpandEnvStringsW +shlwapi.dll!PathUnquoteSpacesA +shlwapi.dll!PathUnquoteSpacesW +shlwapi.dll!QISearch +shlwapi.dll!SHAnsiToAnsi +shlwapi.dll!SHAnsiToUnicode +shlwapi.dll!SHCopyKeyA +shlwapi.dll!SHCopyKeyW +shlwapi.dll!SHCreateMemStream +shlwapi.dll!SHCreateStreamOnFileA +shlwapi.dll!SHCreateStreamOnFileEx +shlwapi.dll!SHCreateStreamOnFileW +shlwapi.dll!SHCreateThread +shlwapi.dll!SHCreateThreadRef +shlwapi.dll!SHCreateThreadWithHandle +shlwapi.dll!SHDeleteEmptyKeyA +shlwapi.dll!SHDeleteEmptyKeyW +shlwapi.dll!SHDeleteKeyA +shlwapi.dll!SHDeleteKeyW +shlwapi.dll!SHDeleteValueA +shlwapi.dll!SHDeleteValueW +shlwapi.dll!SHEnumKeyExA +shlwapi.dll!SHEnumKeyExW +shlwapi.dll!SHEnumValueA +shlwapi.dll!SHEnumValueW +shlwapi.dll!SHGetThreadRef +shlwapi.dll!SHGetValueA +shlwapi.dll!SHGetValueW +shlwapi.dll!SHLoadIndirectString +shlwapi.dll!SHOpenRegStream2A +shlwapi.dll!SHOpenRegStream2W +shlwapi.dll!SHOpenRegStreamA +shlwapi.dll!SHOpenRegStreamW +shlwapi.dll!SHQueryInfoKeyA +shlwapi.dll!SHQueryInfoKeyW +shlwapi.dll!SHQueryValueExA +shlwapi.dll!SHQueryValueExW +shlwapi.dll!SHRegCloseUSKey +shlwapi.dll!SHRegCreateUSKeyA +shlwapi.dll!SHRegCreateUSKeyW +shlwapi.dll!SHRegDeleteEmptyUSKeyA +shlwapi.dll!SHRegDeleteEmptyUSKeyW +shlwapi.dll!SHRegDeleteUSValueA +shlwapi.dll!SHRegDeleteUSValueW +shlwapi.dll!SHRegDuplicateHKey +shlwapi.dll!SHRegEnumUSKeyA +shlwapi.dll!SHRegEnumUSKeyW +shlwapi.dll!SHRegEnumUSValueA +shlwapi.dll!SHRegEnumUSValueW +shlwapi.dll!SHRegGetBoolUSValueA +shlwapi.dll!SHRegGetBoolUSValueW +shlwapi.dll!SHRegGetIntW +shlwapi.dll!SHRegGetPathA +shlwapi.dll!SHRegGetPathW +shlwapi.dll!SHRegGetUSValueA +shlwapi.dll!SHRegGetUSValueW +shlwapi.dll!SHRegGetValueA +shlwapi.dll!SHRegGetValueW +shlwapi.dll!SHRegOpenUSKeyA +shlwapi.dll!SHRegOpenUSKeyW +shlwapi.dll!SHRegQueryInfoUSKeyA +shlwapi.dll!SHRegQueryInfoUSKeyW +shlwapi.dll!SHRegQueryUSValueA +shlwapi.dll!SHRegQueryUSValueW +shlwapi.dll!SHRegSetPathA +shlwapi.dll!SHRegSetPathW +shlwapi.dll!SHRegSetUSValueA +shlwapi.dll!SHRegSetUSValueW +shlwapi.dll!SHRegWriteUSValueA +shlwapi.dll!SHRegWriteUSValueW +shlwapi.dll!SHReleaseThreadRef +shlwapi.dll!SHSetThreadRef +shlwapi.dll!SHSetValueA +shlwapi.dll!SHSetValueW +shlwapi.dll!SHStrDupA +shlwapi.dll!SHStrDupW +shlwapi.dll!SHUnicodeToAnsi +shlwapi.dll!SHUnicodeToUnicode +shlwapi.dll!StrCatBuffA +shlwapi.dll!StrCatBuffW +shlwapi.dll!StrCatChainW +shlwapi.dll!StrChrA +shlwapi.dll!StrChrIA +shlwapi.dll!StrChrIW +shlwapi.dll!StrChrNIW +shlwapi.dll!StrChrNW +shlwapi.dll!StrChrW +shlwapi.dll!StrCmpCA +shlwapi.dll!StrCmpCW +shlwapi.dll!StrCmpICA +shlwapi.dll!StrCmpICW +shlwapi.dll!StrCmpIW +shlwapi.dll!StrCmpLogicalW +shlwapi.dll!StrCmpNA +shlwapi.dll!StrCmpNCA +shlwapi.dll!StrCmpNCW +shlwapi.dll!StrCmpNIA +shlwapi.dll!StrCmpNICA +shlwapi.dll!StrCmpNICW +shlwapi.dll!StrCmpNIW +shlwapi.dll!StrCmpNW +shlwapi.dll!StrCmpW +shlwapi.dll!StrCpyNW +shlwapi.dll!StrCSpnA +shlwapi.dll!StrCSpnIA +shlwapi.dll!StrCSpnIW +shlwapi.dll!StrCSpnW +shlwapi.dll!StrDupA +shlwapi.dll!StrDupW +shlwapi.dll!StrIsIntlEqualA +shlwapi.dll!StrIsIntlEqualW +shlwapi.dll!StrPBrkA +shlwapi.dll!StrPBrkW +shlwapi.dll!StrRChrA +shlwapi.dll!StrRChrIA +shlwapi.dll!StrRChrIW +shlwapi.dll!StrRChrW +shlwapi.dll!StrRStrIA +shlwapi.dll!StrRStrIW +shlwapi.dll!StrSpnA +shlwapi.dll!StrSpnW +shlwapi.dll!StrStrA +shlwapi.dll!StrStrIA +shlwapi.dll!StrStrIW +shlwapi.dll!StrStrNIW +shlwapi.dll!StrStrNW +shlwapi.dll!StrStrW +shlwapi.dll!StrToInt64ExA +shlwapi.dll!StrToInt64ExW +shlwapi.dll!StrToIntA +shlwapi.dll!StrToIntExA +shlwapi.dll!StrToIntExW +shlwapi.dll!StrToIntW +shlwapi.dll!StrTrimA +shlwapi.dll!StrTrimW +shlwapi.dll!UrlApplySchemeA +shlwapi.dll!UrlApplySchemeW +shlwapi.dll!UrlCanonicalizeA +shlwapi.dll!UrlCanonicalizeW +shlwapi.dll!UrlCombineA +shlwapi.dll!UrlCombineW +shlwapi.dll!UrlCompareA +shlwapi.dll!UrlCompareW +shlwapi.dll!UrlCreateFromPathA +shlwapi.dll!UrlCreateFromPathW +shlwapi.dll!UrlEscapeA +shlwapi.dll!UrlEscapeW +shlwapi.dll!UrlFixupW +shlwapi.dll!UrlGetLocationA +shlwapi.dll!UrlGetLocationW +shlwapi.dll!UrlGetPartA +shlwapi.dll!UrlGetPartW +shlwapi.dll!UrlHashA +shlwapi.dll!UrlHashW +shlwapi.dll!UrlIsA +shlwapi.dll!UrlIsNoHistoryA +shlwapi.dll!UrlIsNoHistoryW +shlwapi.dll!UrlIsOpaqueA +shlwapi.dll!UrlIsOpaqueW +shlwapi.dll!UrlIsW +shlwapi.dll!UrlUnescapeA +shlwapi.dll!UrlUnescapeW +user32.dll!LoadStringW +user32.dll!SendMessageTimeoutW +version.dll!GetFileVersionInfoA +version.dll!GetFileVersionInfoExW +version.dll!GetFileVersionInfoSizeA +version.dll!GetFileVersionInfoSizeExW +version.dll!GetFileVersionInfoSizeW +version.dll!GetFileVersionInfoW +version.dll!VerFindFileA +version.dll!VerFindFileW +version.dll!VerQueryValueA +version.dll!VerQueryValueW +api-ms-win-core-memory-l1-1-3.dll!OpenFileMappingFromApp +api-ms-win-core-memory-l1-1-3.dll!SetProcessValidCallTargets +api-ms-win-core-memory-l1-1-3.dll!VirtualAllocFromApp +api-ms-win-core-memory-l1-1-3.dll!VirtualProtectFromApp +api-ms-win-core-winrt-error-l1-1-0.dll!GetRestrictedErrorInfo +api-ms-win-core-winrt-error-l1-1-0.dll!RoCaptureErrorContext +api-ms-win-core-winrt-error-l1-1-0.dll!RoFailFastWithErrorContext +api-ms-win-core-winrt-error-l1-1-0.dll!RoGetErrorReportingFlags +api-ms-win-core-winrt-error-l1-1-0.dll!RoOriginateError +api-ms-win-core-winrt-error-l1-1-0.dll!RoOriginateErrorW +api-ms-win-core-winrt-error-l1-1-1.dll!RoOriginateLanguageException +api-ms-win-core-winrt-error-l1-1-1.dll!RoReportUnhandledError +api-ms-win-core-winrt-error-l1-1-0.dll!RoResolveRestrictedErrorInfoReference +api-ms-win-core-winrt-error-l1-1-0.dll!RoSetErrorReportingFlags +api-ms-win-core-winrt-error-l1-1-0.dll!RoTransformError +api-ms-win-core-winrt-error-l1-1-0.dll!RoTransformErrorW +api-ms-win-core-winrt-error-l1-1-0.dll!SetRestrictedErrorInfo +api-ms-win-core-winrt-robuffer-l1-1-0.dll!RoGetBufferMarshaler +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsCreateString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsCreateStringReference +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsDeleteString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsGetStringRawBuffer +api-ms-win-core-winrt-l1-1-0.dll!RoGetActivationFactory diff --git a/Tools/PinvokeAnalyzer_Win32UWPApis.txt b/Tools/PinvokeAnalyzer_Win32UWPApis.txt new file mode 100755 index 0000000000..c40f1738ce --- /dev/null +++ b/Tools/PinvokeAnalyzer_Win32UWPApis.txt @@ -0,0 +1,5386 @@ +advapi32.dll!AddAccessAllowedAce +advapi32.dll!AddAccessAllowedAceEx +advapi32.dll!AddAce +advapi32.dll!AddMandatoryAce +advapi32.dll!AdjustTokenGroups +advapi32.dll!AdjustTokenPrivileges +advapi32.dll!AllocateAndInitializeSid +advapi32.dll!AllocateLocallyUniqueId +advapi32.dll!CheckTokenMembership +advapi32.dll!CloseTrace +advapi32.dll!ControlTraceW +advapi32.dll!ConvertSecurityDescriptorToStringSecurityDescriptorW +advapi32.dll!ConvertSidToStringSidA +advapi32.dll!ConvertSidToStringSidW +advapi32.dll!ConvertStringSecurityDescriptorToSecurityDescriptorW +advapi32.dll!ConvertStringSidToSidA +advapi32.dll!ConvertStringSidToSidW +advapi32.dll!CopySid +advapi32.dll!CreateProcessWithLogonW +advapi32.dll!CreateWellKnownSid +advapi32.dll!CryptAcquireContextA +advapi32.dll!CryptAcquireContextW +advapi32.dll!CryptCreateHash +advapi32.dll!CryptDecrypt +advapi32.dll!CryptDeriveKey +advapi32.dll!CryptDestroyHash +advapi32.dll!CryptDestroyKey +advapi32.dll!CryptEncrypt +advapi32.dll!CryptExportKey +advapi32.dll!CryptGenKey +advapi32.dll!CryptGetDefaultProviderA +advapi32.dll!CryptGetDefaultProviderW +advapi32.dll!CryptGetHashParam +advapi32.dll!CryptGetKeyParam +advapi32.dll!CryptGetProvParam +advapi32.dll!CryptGetUserKey +advapi32.dll!CryptHashData +advapi32.dll!CryptImportKey +advapi32.dll!CryptReleaseContext +advapi32.dll!CryptSetHashParam +advapi32.dll!CryptSetKeyParam +advapi32.dll!CryptSetProvParam +advapi32.dll!CryptSignHashA +advapi32.dll!CryptSignHashW +advapi32.dll!CryptVerifySignatureA +advapi32.dll!CryptVerifySignatureW +advapi32.dll!CveEventWrite +advapi32.dll!DeleteAce +advapi32.dll!DuplicateToken +advapi32.dll!DuplicateTokenEx +advapi32.dll!EnableTrace +advapi32.dll!EnableTraceEx +advapi32.dll!EnableTraceEx2 +advapi32.dll!EnumDynamicTimeZoneInformation +advapi32.dll!EnumerateTraceGuidsEx +advapi32.dll!EqualDomainSid +advapi32.dll!EventActivityIdControl +advapi32.dll!EventRegister +advapi32.dll!EventSetInformation +advapi32.dll!EventUnregister +advapi32.dll!EventWrite +advapi32.dll!EventWriteEx +advapi32.dll!EventWriteString +advapi32.dll!EventWriteTransfer +advapi32.dll!FlushTraceW +advapi32.dll!FreeSid +advapi32.dll!GetAce +advapi32.dll!GetAclInformation +advapi32.dll!GetDynamicTimeZoneInformationEffectiveYears +advapi32.dll!GetExplicitEntriesFromAclA +advapi32.dll!GetExplicitEntriesFromAclW +advapi32.dll!GetKernelObjectSecurity +advapi32.dll!GetLengthSid +advapi32.dll!GetNamedSecurityInfoA +advapi32.dll!GetNamedSecurityInfoW +advapi32.dll!GetSecurityDescriptorControl +advapi32.dll!GetSecurityDescriptorDacl +advapi32.dll!GetSecurityDescriptorGroup +advapi32.dll!GetSecurityDescriptorLength +advapi32.dll!GetSecurityDescriptorOwner +advapi32.dll!GetSecurityDescriptorRMControl +advapi32.dll!GetSecurityDescriptorSacl +advapi32.dll!GetSecurityInfo +advapi32.dll!GetSidIdentifierAuthority +advapi32.dll!GetSidLengthRequired +advapi32.dll!GetSidSubAuthority +advapi32.dll!GetSidSubAuthorityCount +advapi32.dll!GetTokenInformation +advapi32.dll!GetTraceEnableFlags +advapi32.dll!GetTraceEnableLevel +advapi32.dll!GetTraceLoggerHandle +advapi32.dll!GetWindowsAccountDomainSid +advapi32.dll!ImpersonateLoggedOnUser +advapi32.dll!ImpersonateNamedPipeClient +advapi32.dll!InitializeAcl +advapi32.dll!InitializeSecurityDescriptor +advapi32.dll!InitializeSid +advapi32.dll!IsValidAcl +advapi32.dll!IsValidSecurityDescriptor +advapi32.dll!IsValidSid +advapi32.dll!IsWellKnownSid +advapi32.dll!LookupAccountNameA +advapi32.dll!LookupAccountNameW +advapi32.dll!LookupAccountSidA +advapi32.dll!LookupAccountSidW +advapi32.dll!LookupPrivilegeDisplayNameA +advapi32.dll!LookupPrivilegeDisplayNameW +advapi32.dll!LookupPrivilegeNameA +advapi32.dll!LookupPrivilegeNameW +advapi32.dll!LookupPrivilegeValueA +advapi32.dll!LookupPrivilegeValueW +advapi32.dll!LsaClose +advapi32.dll!LsaFreeMemory +advapi32.dll!LsaLookupNames2 +advapi32.dll!LsaLookupSids +advapi32.dll!LsaNtStatusToWinError +advapi32.dll!LsaOpenPolicy +advapi32.dll!MakeAbsoluteSD +advapi32.dll!MakeSelfRelativeSD +advapi32.dll!OpenProcessToken +advapi32.dll!OpenThreadToken +advapi32.dll!OpenTraceW +advapi32.dll!ProcessTrace +advapi32.dll!QueryTraceW +advapi32.dll!RegisterTraceGuidsW +advapi32.dll!RevertToSelf +advapi32.dll!SetEntriesInAclA +advapi32.dll!SetEntriesInAclW +advapi32.dll!SetKernelObjectSecurity +advapi32.dll!SetNamedSecurityInfoA +advapi32.dll!SetNamedSecurityInfoW +advapi32.dll!SetSecurityDescriptorControl +advapi32.dll!SetSecurityDescriptorDacl +advapi32.dll!SetSecurityDescriptorGroup +advapi32.dll!SetSecurityDescriptorOwner +advapi32.dll!SetSecurityDescriptorRMControl +advapi32.dll!SetSecurityDescriptorSacl +advapi32.dll!SetSecurityInfo +advapi32.dll!SetThreadToken +advapi32.dll!SetTokenInformation +advapi32.dll!StartTraceW +advapi32.dll!StopTraceW +advapi32.dll!TraceMessage +advapi32.dll!UnregisterTraceGuids +api-ms-win-appmodel-runtime-l1-1-1.dll!FormatApplicationUserModelId +api-ms-win-appmodel-runtime-l1-1-1.dll!ParseApplicationUserModelId +api-ms-win-appmodel-runtime-l1-1-2.dll!VerifyApplicationUserModelId +api-ms-win-appmodel-runtime-l1-1-2.dll!VerifyPackageFamilyName +api-ms-win-appmodel-runtime-l1-1-2.dll!VerifyPackageFullName +api-ms-win-appmodel-runtime-l1-1-2.dll!VerifyPackageId +api-ms-win-appmodel-runtime-l1-1-2.dll!VerifyPackageRelativeApplicationId +api-ms-win-core-comm-l1-1-1.dll!OpenCommPort +api-ms-win-core-comm-l1-1-2.dll!GetCommPorts +api-ms-win-core-enclave-l1-1-0.dll!CreateEnclave +api-ms-win-core-enclave-l1-1-0.dll!InitializeEnclave +api-ms-win-core-enclave-l1-1-0.dll!IsEnclaveTypeSupported +api-ms-win-core-enclave-l1-1-0.dll!LoadEnclaveData +api-ms-win-core-featurestaging-l1-1-0.dll!GetFeatureEnabledState +api-ms-win-core-featurestaging-l1-1-0.dll!RecordFeatureError +api-ms-win-core-featurestaging-l1-1-0.dll!RecordFeatureUsage +api-ms-win-core-featurestaging-l1-1-0.dll!SubscribeFeatureStateChangeNotification +api-ms-win-core-featurestaging-l1-1-0.dll!UnsubscribeFeatureStateChangeNotification +api-ms-win-core-featurestaging-l1-1-1.dll!GetFeatureVariant +api-ms-win-core-localization-l1-2-0.dll!VerLanguageNameA +api-ms-win-core-localization-l1-2-0.dll!VerLanguageNameW +api-ms-win-core-memory-l1-1-2.dll!DiscardVirtualMemory +api-ms-win-core-memory-l1-1-2.dll!OfferVirtualMemory +api-ms-win-core-memory-l1-1-2.dll!ReclaimVirtualMemory +api-ms-win-core-memory-l1-1-3.dll!OpenFileMappingFromApp +api-ms-win-core-memory-l1-1-3.dll!SetProcessValidCallTargets +api-ms-win-core-memory-l1-1-3.dll!VirtualAllocFromApp +api-ms-win-core-memory-l1-1-3.dll!VirtualProtectFromApp +api-ms-win-core-slapi-l1-1-0.dll!SLQueryLicenseValueFromApp +api-ms-win-core-synch-l1-2-0.dll!WaitOnAddress +api-ms-win-core-synch-l1-2-0.dll!WakeByAddressAll +api-ms-win-core-synch-l1-2-0.dll!WakeByAddressSingle +api-ms-win-core-version-l1-1-0.dll!GetFileVersionInfoExW +api-ms-win-core-version-l1-1-0.dll!GetFileVersionInfoSizeExW +api-ms-win-core-version-l1-1-0.dll!VerQueryValueW +api-ms-win-core-versionansi-l1-1-0.dll!GetFileVersionInfoExA +api-ms-win-core-versionansi-l1-1-0.dll!GetFileVersionInfoSizeExA +api-ms-win-core-versionansi-l1-1-0.dll!VerQueryValueA +api-ms-win-core-winrt-error-l1-1-0.dll!GetRestrictedErrorInfo +api-ms-win-core-winrt-error-l1-1-0.dll!RoCaptureErrorContext +api-ms-win-core-winrt-error-l1-1-0.dll!RoFailFastWithErrorContext +api-ms-win-core-winrt-error-l1-1-0.dll!RoGetErrorReportingFlags +api-ms-win-core-winrt-error-l1-1-0.dll!RoOriginateError +api-ms-win-core-winrt-error-l1-1-0.dll!RoOriginateErrorW +api-ms-win-core-winrt-error-l1-1-0.dll!RoSetErrorReportingFlags +api-ms-win-core-winrt-error-l1-1-0.dll!RoTransformError +api-ms-win-core-winrt-error-l1-1-0.dll!RoTransformErrorW +api-ms-win-core-winrt-error-l1-1-0.dll!SetRestrictedErrorInfo +api-ms-win-core-winrt-error-l1-1-1.dll!RoOriginateLanguageException +api-ms-win-core-winrt-error-l1-1-1.dll!RoReportUnhandledError +api-ms-win-core-winrt-l1-1-0.dll!RoActivateInstance +api-ms-win-core-winrt-l1-1-0.dll!RoGetActivationFactory +api-ms-win-core-winrt-l1-1-0.dll!RoGetApartmentIdentifier +api-ms-win-core-winrt-l1-1-0.dll!RoInitialize +api-ms-win-core-winrt-l1-1-0.dll!RoRegisterActivationFactories +api-ms-win-core-winrt-l1-1-0.dll!RoRegisterForApartmentShutdown +api-ms-win-core-winrt-l1-1-0.dll!RoRevokeActivationFactories +api-ms-win-core-winrt-l1-1-0.dll!RoUninitialize +api-ms-win-core-winrt-l1-1-0.dll!RoUnregisterForApartmentShutdown +api-ms-win-core-winrt-registration-l1-1-0.dll!RoGetActivatableClassRegistration +api-ms-win-core-winrt-registration-l1-1-0.dll!RoGetServerActivatableClasses +api-ms-win-core-winrt-robuffer-l1-1-0.dll!RoGetBufferMarshaler +api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll!RoFreeParameterizedTypeExtra +api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll!RoGetParameterizedTypeInstanceIID +api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll!RoParameterizedTypeExtraGetTypeSignature +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserFree +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserFree64 +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserMarshal +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserMarshal64 +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserSize +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserSize64 +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserUnmarshal +api-ms-win-core-winrt-string-l1-1-0.dll!HSTRING_UserUnmarshal64 +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsCompareStringOrdinal +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsConcatString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsCreateString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsCreateStringReference +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsDeleteString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsDeleteStringBuffer +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsDuplicateString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsGetStringLen +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsGetStringRawBuffer +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsIsStringEmpty +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsPreallocateStringBuffer +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsPromoteStringBuffer +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsReplaceString +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsStringHasEmbeddedNull +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsSubstring +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsSubstringWithSpecifiedLength +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsTrimStringEnd +api-ms-win-core-winrt-string-l1-1-0.dll!WindowsTrimStringStart +api-ms-win-crt-convert-l1-1-0.dll!__toascii +api-ms-win-crt-convert-l1-1-0.dll!_atodbl +api-ms-win-crt-convert-l1-1-0.dll!_atodbl_l +api-ms-win-crt-convert-l1-1-0.dll!_atof_l +api-ms-win-crt-convert-l1-1-0.dll!_atoflt +api-ms-win-crt-convert-l1-1-0.dll!_atoflt_l +api-ms-win-crt-convert-l1-1-0.dll!_atoi64 +api-ms-win-crt-convert-l1-1-0.dll!_atoi64_l +api-ms-win-crt-convert-l1-1-0.dll!_atoi_l +api-ms-win-crt-convert-l1-1-0.dll!_atol_l +api-ms-win-crt-convert-l1-1-0.dll!_atoldbl +api-ms-win-crt-convert-l1-1-0.dll!_atoldbl_l +api-ms-win-crt-convert-l1-1-0.dll!_atoll_l +api-ms-win-crt-convert-l1-1-0.dll!_ecvt +api-ms-win-crt-convert-l1-1-0.dll!_ecvt_s +api-ms-win-crt-convert-l1-1-0.dll!_fcvt +api-ms-win-crt-convert-l1-1-0.dll!_fcvt_s +api-ms-win-crt-convert-l1-1-0.dll!_gcvt +api-ms-win-crt-convert-l1-1-0.dll!_gcvt_s +api-ms-win-crt-convert-l1-1-0.dll!_i64toa +api-ms-win-crt-convert-l1-1-0.dll!_i64toa_s +api-ms-win-crt-convert-l1-1-0.dll!_i64tow +api-ms-win-crt-convert-l1-1-0.dll!_i64tow_s +api-ms-win-crt-convert-l1-1-0.dll!_itoa +api-ms-win-crt-convert-l1-1-0.dll!_itoa_s +api-ms-win-crt-convert-l1-1-0.dll!_itow +api-ms-win-crt-convert-l1-1-0.dll!_itow_s +api-ms-win-crt-convert-l1-1-0.dll!_ltoa +api-ms-win-crt-convert-l1-1-0.dll!_ltoa_s +api-ms-win-crt-convert-l1-1-0.dll!_ltow +api-ms-win-crt-convert-l1-1-0.dll!_ltow_s +api-ms-win-crt-convert-l1-1-0.dll!_strtod_l +api-ms-win-crt-convert-l1-1-0.dll!_strtof_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoi64 +api-ms-win-crt-convert-l1-1-0.dll!_strtoi64_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoimax_l +api-ms-win-crt-convert-l1-1-0.dll!_strtol_l +api-ms-win-crt-convert-l1-1-0.dll!_strtold_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoll_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoui64 +api-ms-win-crt-convert-l1-1-0.dll!_strtoui64_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoul_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoull_l +api-ms-win-crt-convert-l1-1-0.dll!_strtoumax_l +api-ms-win-crt-convert-l1-1-0.dll!_ui64toa +api-ms-win-crt-convert-l1-1-0.dll!_ui64toa_s +api-ms-win-crt-convert-l1-1-0.dll!_ui64tow +api-ms-win-crt-convert-l1-1-0.dll!_ui64tow_s +api-ms-win-crt-convert-l1-1-0.dll!_ultoa +api-ms-win-crt-convert-l1-1-0.dll!_ultoa_s +api-ms-win-crt-convert-l1-1-0.dll!_ultow +api-ms-win-crt-convert-l1-1-0.dll!_ultow_s +api-ms-win-crt-convert-l1-1-0.dll!_wcstod_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstof_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoi64 +api-ms-win-crt-convert-l1-1-0.dll!_wcstoi64_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoimax_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstol_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstold_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoll_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstombs_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstombs_s_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoui64 +api-ms-win-crt-convert-l1-1-0.dll!_wcstoui64_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoul_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoull_l +api-ms-win-crt-convert-l1-1-0.dll!_wcstoumax_l +api-ms-win-crt-convert-l1-1-0.dll!_wctomb_l +api-ms-win-crt-convert-l1-1-0.dll!_wctomb_s_l +api-ms-win-crt-convert-l1-1-0.dll!_wtof +api-ms-win-crt-convert-l1-1-0.dll!_wtof_l +api-ms-win-crt-convert-l1-1-0.dll!_wtoi +api-ms-win-crt-convert-l1-1-0.dll!_wtoi64 +api-ms-win-crt-convert-l1-1-0.dll!_wtoi64_l +api-ms-win-crt-convert-l1-1-0.dll!_wtoi_l +api-ms-win-crt-convert-l1-1-0.dll!_wtol +api-ms-win-crt-convert-l1-1-0.dll!_wtol_l +api-ms-win-crt-convert-l1-1-0.dll!_wtoll +api-ms-win-crt-convert-l1-1-0.dll!_wtoll_l +api-ms-win-crt-convert-l1-1-0.dll!atof +api-ms-win-crt-convert-l1-1-0.dll!atoi +api-ms-win-crt-convert-l1-1-0.dll!atol +api-ms-win-crt-convert-l1-1-0.dll!atoll +api-ms-win-crt-convert-l1-1-0.dll!btowc +api-ms-win-crt-convert-l1-1-0.dll!c16rtomb +api-ms-win-crt-convert-l1-1-0.dll!c32rtomb +api-ms-win-crt-convert-l1-1-0.dll!mbrtoc16 +api-ms-win-crt-convert-l1-1-0.dll!mbrtoc32 +api-ms-win-crt-convert-l1-1-0.dll!mbrtowc +api-ms-win-crt-convert-l1-1-0.dll!mbsrtowcs +api-ms-win-crt-convert-l1-1-0.dll!mbsrtowcs_s +api-ms-win-crt-convert-l1-1-0.dll!mbstowcs +api-ms-win-crt-convert-l1-1-0.dll!mbstowcs_s +api-ms-win-crt-convert-l1-1-0.dll!mbtowc +api-ms-win-crt-convert-l1-1-0.dll!strtod +api-ms-win-crt-convert-l1-1-0.dll!strtof +api-ms-win-crt-convert-l1-1-0.dll!strtoimax +api-ms-win-crt-convert-l1-1-0.dll!strtol +api-ms-win-crt-convert-l1-1-0.dll!strtold +api-ms-win-crt-convert-l1-1-0.dll!strtoll +api-ms-win-crt-convert-l1-1-0.dll!strtoul +api-ms-win-crt-convert-l1-1-0.dll!strtoull +api-ms-win-crt-convert-l1-1-0.dll!strtoumax +api-ms-win-crt-convert-l1-1-0.dll!wcrtomb +api-ms-win-crt-convert-l1-1-0.dll!wcrtomb_s +api-ms-win-crt-convert-l1-1-0.dll!wcsrtombs +api-ms-win-crt-convert-l1-1-0.dll!wcsrtombs_s +api-ms-win-crt-convert-l1-1-0.dll!wcstod +api-ms-win-crt-convert-l1-1-0.dll!wcstof +api-ms-win-crt-convert-l1-1-0.dll!wcstoimax +api-ms-win-crt-convert-l1-1-0.dll!wcstol +api-ms-win-crt-convert-l1-1-0.dll!wcstold +api-ms-win-crt-convert-l1-1-0.dll!wcstoll +api-ms-win-crt-convert-l1-1-0.dll!wcstombs +api-ms-win-crt-convert-l1-1-0.dll!wcstombs_s +api-ms-win-crt-convert-l1-1-0.dll!wcstoul +api-ms-win-crt-convert-l1-1-0.dll!wcstoull +api-ms-win-crt-convert-l1-1-0.dll!wcstoumax +api-ms-win-crt-convert-l1-1-0.dll!wctob +api-ms-win-crt-convert-l1-1-0.dll!wctomb +api-ms-win-crt-convert-l1-1-0.dll!wctomb_s +api-ms-win-crt-convert-l1-1-0.dll!wctrans +api-ms-win-crt-environment-l1-1-0.dll!__p__environ +api-ms-win-crt-environment-l1-1-0.dll!__p__wenviron +api-ms-win-crt-filesystem-l1-1-0.dll!_access +api-ms-win-crt-filesystem-l1-1-0.dll!_access_s +api-ms-win-crt-filesystem-l1-1-0.dll!_chdir +api-ms-win-crt-filesystem-l1-1-0.dll!_chmod +api-ms-win-crt-filesystem-l1-1-0.dll!_findclose +api-ms-win-crt-filesystem-l1-1-0.dll!_findfirst32 +api-ms-win-crt-filesystem-l1-1-0.dll!_findfirst32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_findfirst64 +api-ms-win-crt-filesystem-l1-1-0.dll!_findfirst64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_findnext32 +api-ms-win-crt-filesystem-l1-1-0.dll!_findnext32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_findnext64 +api-ms-win-crt-filesystem-l1-1-0.dll!_findnext64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_fstat32 +api-ms-win-crt-filesystem-l1-1-0.dll!_fstat32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_fstat64 +api-ms-win-crt-filesystem-l1-1-0.dll!_fstat64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_fullpath +api-ms-win-crt-filesystem-l1-1-0.dll!_getcwd +api-ms-win-crt-filesystem-l1-1-0.dll!_getdcwd +api-ms-win-crt-filesystem-l1-1-0.dll!_lock_file +api-ms-win-crt-filesystem-l1-1-0.dll!_makepath +api-ms-win-crt-filesystem-l1-1-0.dll!_makepath_s +api-ms-win-crt-filesystem-l1-1-0.dll!_mkdir +api-ms-win-crt-filesystem-l1-1-0.dll!_rmdir +api-ms-win-crt-filesystem-l1-1-0.dll!_splitpath +api-ms-win-crt-filesystem-l1-1-0.dll!_splitpath_s +api-ms-win-crt-filesystem-l1-1-0.dll!_stat32 +api-ms-win-crt-filesystem-l1-1-0.dll!_stat32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_stat64 +api-ms-win-crt-filesystem-l1-1-0.dll!_stat64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_umask +api-ms-win-crt-filesystem-l1-1-0.dll!_umask_s +api-ms-win-crt-filesystem-l1-1-0.dll!_unlink +api-ms-win-crt-filesystem-l1-1-0.dll!_unlock_file +api-ms-win-crt-filesystem-l1-1-0.dll!_waccess +api-ms-win-crt-filesystem-l1-1-0.dll!_waccess_s +api-ms-win-crt-filesystem-l1-1-0.dll!_wchdir +api-ms-win-crt-filesystem-l1-1-0.dll!_wchmod +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindfirst32 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindfirst32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindfirst64 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindfirst64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindnext32 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindnext32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindnext64 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfindnext64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_wfullpath +api-ms-win-crt-filesystem-l1-1-0.dll!_wgetcwd +api-ms-win-crt-filesystem-l1-1-0.dll!_wgetdcwd +api-ms-win-crt-filesystem-l1-1-0.dll!_wmakepath +api-ms-win-crt-filesystem-l1-1-0.dll!_wmakepath_s +api-ms-win-crt-filesystem-l1-1-0.dll!_wmkdir +api-ms-win-crt-filesystem-l1-1-0.dll!_wremove +api-ms-win-crt-filesystem-l1-1-0.dll!_wrename +api-ms-win-crt-filesystem-l1-1-0.dll!_wrmdir +api-ms-win-crt-filesystem-l1-1-0.dll!_wsplitpath +api-ms-win-crt-filesystem-l1-1-0.dll!_wsplitpath_s +api-ms-win-crt-filesystem-l1-1-0.dll!_wstat32 +api-ms-win-crt-filesystem-l1-1-0.dll!_wstat32i64 +api-ms-win-crt-filesystem-l1-1-0.dll!_wstat64 +api-ms-win-crt-filesystem-l1-1-0.dll!_wstat64i32 +api-ms-win-crt-filesystem-l1-1-0.dll!_wunlink +api-ms-win-crt-filesystem-l1-1-0.dll!remove +api-ms-win-crt-filesystem-l1-1-0.dll!rename +api-ms-win-crt-heap-l1-1-0.dll!_aligned_free +api-ms-win-crt-heap-l1-1-0.dll!_aligned_malloc +api-ms-win-crt-heap-l1-1-0.dll!_aligned_msize +api-ms-win-crt-heap-l1-1-0.dll!_aligned_offset_malloc +api-ms-win-crt-heap-l1-1-0.dll!_aligned_offset_realloc +api-ms-win-crt-heap-l1-1-0.dll!_aligned_offset_recalloc +api-ms-win-crt-heap-l1-1-0.dll!_aligned_realloc +api-ms-win-crt-heap-l1-1-0.dll!_aligned_recalloc +api-ms-win-crt-heap-l1-1-0.dll!_callnewh +api-ms-win-crt-heap-l1-1-0.dll!_calloc_base +api-ms-win-crt-heap-l1-1-0.dll!_expand +api-ms-win-crt-heap-l1-1-0.dll!_free_base +api-ms-win-crt-heap-l1-1-0.dll!_get_heap_handle +api-ms-win-crt-heap-l1-1-0.dll!_heapmin +api-ms-win-crt-heap-l1-1-0.dll!_malloc_base +api-ms-win-crt-heap-l1-1-0.dll!_msize +api-ms-win-crt-heap-l1-1-0.dll!_query_new_handler +api-ms-win-crt-heap-l1-1-0.dll!_query_new_mode +api-ms-win-crt-heap-l1-1-0.dll!_realloc_base +api-ms-win-crt-heap-l1-1-0.dll!_recalloc +api-ms-win-crt-heap-l1-1-0.dll!_resetstkoflw +api-ms-win-crt-heap-l1-1-0.dll!_set_new_mode +api-ms-win-crt-heap-l1-1-0.dll!calloc +api-ms-win-crt-heap-l1-1-0.dll!free +api-ms-win-crt-heap-l1-1-0.dll!malloc +api-ms-win-crt-heap-l1-1-0.dll!realloc +api-ms-win-crt-locale-l1-1-0.dll!___lc_codepage_func +api-ms-win-crt-locale-l1-1-0.dll!___lc_collate_cp_func +api-ms-win-crt-locale-l1-1-0.dll!___lc_locale_name_func +api-ms-win-crt-locale-l1-1-0.dll!___mb_cur_max_func +api-ms-win-crt-locale-l1-1-0.dll!___mb_cur_max_l_func +api-ms-win-crt-locale-l1-1-0.dll!__pctype_func +api-ms-win-crt-locale-l1-1-0.dll!__pwctype_func +api-ms-win-crt-locale-l1-1-0.dll!_configthreadlocale +api-ms-win-crt-locale-l1-1-0.dll!_create_locale +api-ms-win-crt-locale-l1-1-0.dll!_free_locale +api-ms-win-crt-locale-l1-1-0.dll!_get_current_locale +api-ms-win-crt-locale-l1-1-0.dll!_getmbcp +api-ms-win-crt-locale-l1-1-0.dll!_lock_locales +api-ms-win-crt-locale-l1-1-0.dll!_setmbcp +api-ms-win-crt-locale-l1-1-0.dll!_unlock_locales +api-ms-win-crt-locale-l1-1-0.dll!_wcreate_locale +api-ms-win-crt-locale-l1-1-0.dll!_wsetlocale +api-ms-win-crt-locale-l1-1-0.dll!localeconv +api-ms-win-crt-locale-l1-1-0.dll!setlocale +api-ms-win-crt-math-l1-1-0.dll!__setusermatherr +api-ms-win-crt-math-l1-1-0.dll!_cabs +api-ms-win-crt-math-l1-1-0.dll!_Cbuild +api-ms-win-crt-math-l1-1-0.dll!_chgsign +api-ms-win-crt-math-l1-1-0.dll!_chgsignf +api-ms-win-crt-math-l1-1-0.dll!_Cmulcc +api-ms-win-crt-math-l1-1-0.dll!_Cmulcr +api-ms-win-crt-math-l1-1-0.dll!_copysign +api-ms-win-crt-math-l1-1-0.dll!_copysignf +api-ms-win-crt-math-l1-1-0.dll!_d_int +api-ms-win-crt-math-l1-1-0.dll!_dclass +api-ms-win-crt-math-l1-1-0.dll!_dexp +api-ms-win-crt-math-l1-1-0.dll!_dlog +api-ms-win-crt-math-l1-1-0.dll!_dnorm +api-ms-win-crt-math-l1-1-0.dll!_dpcomp +api-ms-win-crt-math-l1-1-0.dll!_dpoly +api-ms-win-crt-math-l1-1-0.dll!_dscale +api-ms-win-crt-math-l1-1-0.dll!_dsign +api-ms-win-crt-math-l1-1-0.dll!_dsin +api-ms-win-crt-math-l1-1-0.dll!_dtest +api-ms-win-crt-math-l1-1-0.dll!_dunscale +api-ms-win-crt-math-l1-1-0.dll!_FCbuild +api-ms-win-crt-math-l1-1-0.dll!_FCmulcc +api-ms-win-crt-math-l1-1-0.dll!_FCmulcr +api-ms-win-crt-math-l1-1-0.dll!_fd_int +api-ms-win-crt-math-l1-1-0.dll!_fdclass +api-ms-win-crt-math-l1-1-0.dll!_fdexp +api-ms-win-crt-math-l1-1-0.dll!_fdlog +api-ms-win-crt-math-l1-1-0.dll!_fdnorm +api-ms-win-crt-math-l1-1-0.dll!_fdopen +api-ms-win-crt-math-l1-1-0.dll!_fdpcomp +api-ms-win-crt-math-l1-1-0.dll!_fdpoly +api-ms-win-crt-math-l1-1-0.dll!_fdscale +api-ms-win-crt-math-l1-1-0.dll!_fdsign +api-ms-win-crt-math-l1-1-0.dll!_fdsin +api-ms-win-crt-math-l1-1-0.dll!_fdtest +api-ms-win-crt-math-l1-1-0.dll!_fdunscale +api-ms-win-crt-math-l1-1-0.dll!_finite +api-ms-win-crt-math-l1-1-0.dll!_finitef +api-ms-win-crt-math-l1-1-0.dll!_fpclass +api-ms-win-crt-math-l1-1-0.dll!_fpclassf +api-ms-win-crt-math-l1-1-0.dll!_get_FMA3_enable +api-ms-win-crt-math-l1-1-0.dll!_hypot +api-ms-win-crt-math-l1-1-0.dll!_hypotf +api-ms-win-crt-math-l1-1-0.dll!_isnan +api-ms-win-crt-math-l1-1-0.dll!_isnanf +api-ms-win-crt-math-l1-1-0.dll!_j0 +api-ms-win-crt-math-l1-1-0.dll!_j1 +api-ms-win-crt-math-l1-1-0.dll!_jn +api-ms-win-crt-math-l1-1-0.dll!_LCbuild +api-ms-win-crt-math-l1-1-0.dll!_LCmulcc +api-ms-win-crt-math-l1-1-0.dll!_LCmulcr +api-ms-win-crt-math-l1-1-0.dll!_ld_int +api-ms-win-crt-math-l1-1-0.dll!_ldclass +api-ms-win-crt-math-l1-1-0.dll!_ldexp +api-ms-win-crt-math-l1-1-0.dll!_ldlog +api-ms-win-crt-math-l1-1-0.dll!_ldpcomp +api-ms-win-crt-math-l1-1-0.dll!_ldpoly +api-ms-win-crt-math-l1-1-0.dll!_ldscale +api-ms-win-crt-math-l1-1-0.dll!_ldsign +api-ms-win-crt-math-l1-1-0.dll!_ldsin +api-ms-win-crt-math-l1-1-0.dll!_ldtest +api-ms-win-crt-math-l1-1-0.dll!_ldunscale +api-ms-win-crt-math-l1-1-0.dll!_logb +api-ms-win-crt-math-l1-1-0.dll!_logbf +api-ms-win-crt-math-l1-1-0.dll!_nextafter +api-ms-win-crt-math-l1-1-0.dll!_nextafterf +api-ms-win-crt-math-l1-1-0.dll!_scalb +api-ms-win-crt-math-l1-1-0.dll!_scalbf +api-ms-win-crt-math-l1-1-0.dll!_set_FMA3_enable +api-ms-win-crt-math-l1-1-0.dll!_set_SSE2_enable +api-ms-win-crt-math-l1-1-0.dll!_y0 +api-ms-win-crt-math-l1-1-0.dll!_y1 +api-ms-win-crt-math-l1-1-0.dll!_yn +api-ms-win-crt-math-l1-1-0.dll!acos +api-ms-win-crt-math-l1-1-0.dll!acosf +api-ms-win-crt-math-l1-1-0.dll!acosh +api-ms-win-crt-math-l1-1-0.dll!acoshf +api-ms-win-crt-math-l1-1-0.dll!acoshl +api-ms-win-crt-math-l1-1-0.dll!asin +api-ms-win-crt-math-l1-1-0.dll!asinf +api-ms-win-crt-math-l1-1-0.dll!asinh +api-ms-win-crt-math-l1-1-0.dll!asinhf +api-ms-win-crt-math-l1-1-0.dll!asinhl +api-ms-win-crt-math-l1-1-0.dll!atan +api-ms-win-crt-math-l1-1-0.dll!atan2 +api-ms-win-crt-math-l1-1-0.dll!atan2f +api-ms-win-crt-math-l1-1-0.dll!atanf +api-ms-win-crt-math-l1-1-0.dll!atanh +api-ms-win-crt-math-l1-1-0.dll!atanhf +api-ms-win-crt-math-l1-1-0.dll!atanhl +api-ms-win-crt-math-l1-1-0.dll!cabs +api-ms-win-crt-math-l1-1-0.dll!cabsf +api-ms-win-crt-math-l1-1-0.dll!cabsl +api-ms-win-crt-math-l1-1-0.dll!cacos +api-ms-win-crt-math-l1-1-0.dll!cacosf +api-ms-win-crt-math-l1-1-0.dll!cacosh +api-ms-win-crt-math-l1-1-0.dll!cacoshf +api-ms-win-crt-math-l1-1-0.dll!cacoshl +api-ms-win-crt-math-l1-1-0.dll!cacosl +api-ms-win-crt-math-l1-1-0.dll!carg +api-ms-win-crt-math-l1-1-0.dll!cargf +api-ms-win-crt-math-l1-1-0.dll!cargl +api-ms-win-crt-math-l1-1-0.dll!casin +api-ms-win-crt-math-l1-1-0.dll!casinf +api-ms-win-crt-math-l1-1-0.dll!casinh +api-ms-win-crt-math-l1-1-0.dll!casinhf +api-ms-win-crt-math-l1-1-0.dll!casinhl +api-ms-win-crt-math-l1-1-0.dll!casinl +api-ms-win-crt-math-l1-1-0.dll!catan +api-ms-win-crt-math-l1-1-0.dll!catanf +api-ms-win-crt-math-l1-1-0.dll!catanh +api-ms-win-crt-math-l1-1-0.dll!catanhf +api-ms-win-crt-math-l1-1-0.dll!catanhl +api-ms-win-crt-math-l1-1-0.dll!catanl +api-ms-win-crt-math-l1-1-0.dll!cbrt +api-ms-win-crt-math-l1-1-0.dll!cbrtf +api-ms-win-crt-math-l1-1-0.dll!cbrtl +api-ms-win-crt-math-l1-1-0.dll!ccos +api-ms-win-crt-math-l1-1-0.dll!ccosf +api-ms-win-crt-math-l1-1-0.dll!ccosh +api-ms-win-crt-math-l1-1-0.dll!ccoshf +api-ms-win-crt-math-l1-1-0.dll!ccoshl +api-ms-win-crt-math-l1-1-0.dll!ccosl +api-ms-win-crt-math-l1-1-0.dll!ceil +api-ms-win-crt-math-l1-1-0.dll!ceilf +api-ms-win-crt-math-l1-1-0.dll!cexp +api-ms-win-crt-math-l1-1-0.dll!cexpf +api-ms-win-crt-math-l1-1-0.dll!cexpl +api-ms-win-crt-math-l1-1-0.dll!cimag +api-ms-win-crt-math-l1-1-0.dll!cimagf +api-ms-win-crt-math-l1-1-0.dll!cimagl +api-ms-win-crt-math-l1-1-0.dll!clog +api-ms-win-crt-math-l1-1-0.dll!clog10 +api-ms-win-crt-math-l1-1-0.dll!clog10f +api-ms-win-crt-math-l1-1-0.dll!clog10l +api-ms-win-crt-math-l1-1-0.dll!clogf +api-ms-win-crt-math-l1-1-0.dll!clogl +api-ms-win-crt-math-l1-1-0.dll!conj +api-ms-win-crt-math-l1-1-0.dll!conjf +api-ms-win-crt-math-l1-1-0.dll!conjl +api-ms-win-crt-math-l1-1-0.dll!copysign +api-ms-win-crt-math-l1-1-0.dll!copysignf +api-ms-win-crt-math-l1-1-0.dll!copysignl +api-ms-win-crt-math-l1-1-0.dll!cos +api-ms-win-crt-math-l1-1-0.dll!cosf +api-ms-win-crt-math-l1-1-0.dll!cosh +api-ms-win-crt-math-l1-1-0.dll!coshf +api-ms-win-crt-math-l1-1-0.dll!cpow +api-ms-win-crt-math-l1-1-0.dll!cpowf +api-ms-win-crt-math-l1-1-0.dll!cpowl +api-ms-win-crt-math-l1-1-0.dll!cproj +api-ms-win-crt-math-l1-1-0.dll!cprojf +api-ms-win-crt-math-l1-1-0.dll!cprojl +api-ms-win-crt-math-l1-1-0.dll!creal +api-ms-win-crt-math-l1-1-0.dll!crealf +api-ms-win-crt-math-l1-1-0.dll!creall +api-ms-win-crt-math-l1-1-0.dll!csin +api-ms-win-crt-math-l1-1-0.dll!csinf +api-ms-win-crt-math-l1-1-0.dll!csinh +api-ms-win-crt-math-l1-1-0.dll!csinhf +api-ms-win-crt-math-l1-1-0.dll!csinhl +api-ms-win-crt-math-l1-1-0.dll!csinl +api-ms-win-crt-math-l1-1-0.dll!csqrt +api-ms-win-crt-math-l1-1-0.dll!csqrtf +api-ms-win-crt-math-l1-1-0.dll!csqrtl +api-ms-win-crt-math-l1-1-0.dll!ctan +api-ms-win-crt-math-l1-1-0.dll!ctanf +api-ms-win-crt-math-l1-1-0.dll!ctanh +api-ms-win-crt-math-l1-1-0.dll!ctanhf +api-ms-win-crt-math-l1-1-0.dll!ctanhl +api-ms-win-crt-math-l1-1-0.dll!ctanl +api-ms-win-crt-math-l1-1-0.dll!erf +api-ms-win-crt-math-l1-1-0.dll!erfc +api-ms-win-crt-math-l1-1-0.dll!erfcf +api-ms-win-crt-math-l1-1-0.dll!erfcl +api-ms-win-crt-math-l1-1-0.dll!erff +api-ms-win-crt-math-l1-1-0.dll!erfl +api-ms-win-crt-math-l1-1-0.dll!exp +api-ms-win-crt-math-l1-1-0.dll!exp2 +api-ms-win-crt-math-l1-1-0.dll!exp2f +api-ms-win-crt-math-l1-1-0.dll!exp2l +api-ms-win-crt-math-l1-1-0.dll!expf +api-ms-win-crt-math-l1-1-0.dll!expm1 +api-ms-win-crt-math-l1-1-0.dll!expm1f +api-ms-win-crt-math-l1-1-0.dll!expm1l +api-ms-win-crt-math-l1-1-0.dll!fabs +api-ms-win-crt-math-l1-1-0.dll!fabsf +api-ms-win-crt-math-l1-1-0.dll!fdim +api-ms-win-crt-math-l1-1-0.dll!fdimf +api-ms-win-crt-math-l1-1-0.dll!fdiml +api-ms-win-crt-math-l1-1-0.dll!floor +api-ms-win-crt-math-l1-1-0.dll!floorf +api-ms-win-crt-math-l1-1-0.dll!fma +api-ms-win-crt-math-l1-1-0.dll!fmaf +api-ms-win-crt-math-l1-1-0.dll!fmal +api-ms-win-crt-math-l1-1-0.dll!fmax +api-ms-win-crt-math-l1-1-0.dll!fmaxf +api-ms-win-crt-math-l1-1-0.dll!fmaxl +api-ms-win-crt-math-l1-1-0.dll!fmin +api-ms-win-crt-math-l1-1-0.dll!fminf +api-ms-win-crt-math-l1-1-0.dll!fminl +api-ms-win-crt-math-l1-1-0.dll!fmod +api-ms-win-crt-math-l1-1-0.dll!fmodf +api-ms-win-crt-math-l1-1-0.dll!frexp +api-ms-win-crt-math-l1-1-0.dll!hypot +api-ms-win-crt-math-l1-1-0.dll!ilogb +api-ms-win-crt-math-l1-1-0.dll!ilogbf +api-ms-win-crt-math-l1-1-0.dll!ilogbl +api-ms-win-crt-math-l1-1-0.dll!ldexp +api-ms-win-crt-math-l1-1-0.dll!lgamma +api-ms-win-crt-math-l1-1-0.dll!lgammaf +api-ms-win-crt-math-l1-1-0.dll!lgammal +api-ms-win-crt-math-l1-1-0.dll!llrint +api-ms-win-crt-math-l1-1-0.dll!llrintf +api-ms-win-crt-math-l1-1-0.dll!llrintl +api-ms-win-crt-math-l1-1-0.dll!llround +api-ms-win-crt-math-l1-1-0.dll!llroundf +api-ms-win-crt-math-l1-1-0.dll!llroundl +api-ms-win-crt-math-l1-1-0.dll!log +api-ms-win-crt-math-l1-1-0.dll!log10 +api-ms-win-crt-math-l1-1-0.dll!log10f +api-ms-win-crt-math-l1-1-0.dll!log1p +api-ms-win-crt-math-l1-1-0.dll!log1pf +api-ms-win-crt-math-l1-1-0.dll!log1pl +api-ms-win-crt-math-l1-1-0.dll!log2 +api-ms-win-crt-math-l1-1-0.dll!log2f +api-ms-win-crt-math-l1-1-0.dll!log2l +api-ms-win-crt-math-l1-1-0.dll!logb +api-ms-win-crt-math-l1-1-0.dll!logbf +api-ms-win-crt-math-l1-1-0.dll!logbl +api-ms-win-crt-math-l1-1-0.dll!logf +api-ms-win-crt-math-l1-1-0.dll!lrint +api-ms-win-crt-math-l1-1-0.dll!lrintf +api-ms-win-crt-math-l1-1-0.dll!lrintl +api-ms-win-crt-math-l1-1-0.dll!lround +api-ms-win-crt-math-l1-1-0.dll!lroundf +api-ms-win-crt-math-l1-1-0.dll!lroundl +api-ms-win-crt-math-l1-1-0.dll!modf +api-ms-win-crt-math-l1-1-0.dll!modff +api-ms-win-crt-math-l1-1-0.dll!nan +api-ms-win-crt-math-l1-1-0.dll!nanf +api-ms-win-crt-math-l1-1-0.dll!nanl +api-ms-win-crt-math-l1-1-0.dll!nearbyint +api-ms-win-crt-math-l1-1-0.dll!nearbyintf +api-ms-win-crt-math-l1-1-0.dll!nearbyintl +api-ms-win-crt-math-l1-1-0.dll!nextafter +api-ms-win-crt-math-l1-1-0.dll!nextafterf +api-ms-win-crt-math-l1-1-0.dll!nextafterl +api-ms-win-crt-math-l1-1-0.dll!nexttoward +api-ms-win-crt-math-l1-1-0.dll!nexttowardf +api-ms-win-crt-math-l1-1-0.dll!nexttowardl +api-ms-win-crt-math-l1-1-0.dll!norm +api-ms-win-crt-math-l1-1-0.dll!normf +api-ms-win-crt-math-l1-1-0.dll!norml +api-ms-win-crt-math-l1-1-0.dll!pow +api-ms-win-crt-math-l1-1-0.dll!powf +api-ms-win-crt-math-l1-1-0.dll!remainder +api-ms-win-crt-math-l1-1-0.dll!remainderf +api-ms-win-crt-math-l1-1-0.dll!remainderl +api-ms-win-crt-math-l1-1-0.dll!remquo +api-ms-win-crt-math-l1-1-0.dll!remquof +api-ms-win-crt-math-l1-1-0.dll!remquol +api-ms-win-crt-math-l1-1-0.dll!rint +api-ms-win-crt-math-l1-1-0.dll!rintf +api-ms-win-crt-math-l1-1-0.dll!rintl +api-ms-win-crt-math-l1-1-0.dll!round +api-ms-win-crt-math-l1-1-0.dll!roundf +api-ms-win-crt-math-l1-1-0.dll!roundl +api-ms-win-crt-math-l1-1-0.dll!scalbln +api-ms-win-crt-math-l1-1-0.dll!scalblnf +api-ms-win-crt-math-l1-1-0.dll!scalblnl +api-ms-win-crt-math-l1-1-0.dll!scalbn +api-ms-win-crt-math-l1-1-0.dll!scalbnf +api-ms-win-crt-math-l1-1-0.dll!scalbnl +api-ms-win-crt-math-l1-1-0.dll!sin +api-ms-win-crt-math-l1-1-0.dll!sinf +api-ms-win-crt-math-l1-1-0.dll!sinh +api-ms-win-crt-math-l1-1-0.dll!sinhf +api-ms-win-crt-math-l1-1-0.dll!sqrt +api-ms-win-crt-math-l1-1-0.dll!sqrtf +api-ms-win-crt-math-l1-1-0.dll!tan +api-ms-win-crt-math-l1-1-0.dll!tanf +api-ms-win-crt-math-l1-1-0.dll!tanh +api-ms-win-crt-math-l1-1-0.dll!tanhf +api-ms-win-crt-math-l1-1-0.dll!tgamma +api-ms-win-crt-math-l1-1-0.dll!tgammaf +api-ms-win-crt-math-l1-1-0.dll!tgammal +api-ms-win-crt-math-l1-1-0.dll!trunc +api-ms-win-crt-math-l1-1-0.dll!truncf +api-ms-win-crt-math-l1-1-0.dll!truncl +api-ms-win-crt-multibyte-l1-1-0.dll!__p__mbcasemap +api-ms-win-crt-multibyte-l1-1-0.dll!__p__mbctype +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbalnum +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbalnum_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbalpha +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbalpha_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbblank +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbblank_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbgraph +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbgraph_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkalnum +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkalnum_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkana +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkana_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkprint +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkprint_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkpunct +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbkpunct_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbblead +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbblead_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbprint +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbprint_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbpunct +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbpunct_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbtrail +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbbtrail_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbslead +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbslead_l +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbstrail +api-ms-win-crt-multibyte-l1-1-0.dll!_ismbstrail_l +api-ms-win-crt-multibyte-l1-1-0.dll!_mbcasemap +api-ms-win-crt-multibyte-l1-1-0.dll!_mblen_l +api-ms-win-crt-multibyte-l1-1-0.dll!_mbsdup +api-ms-win-crt-multibyte-l1-1-0.dll!_mbstowcs_l +api-ms-win-crt-multibyte-l1-1-0.dll!_mbstowcs_s_l +api-ms-win-crt-multibyte-l1-1-0.dll!_mbstrlen +api-ms-win-crt-multibyte-l1-1-0.dll!_mbstrlen_l +api-ms-win-crt-multibyte-l1-1-0.dll!_mbstrnlen +api-ms-win-crt-multibyte-l1-1-0.dll!_mbstrnlen_l +api-ms-win-crt-multibyte-l1-1-0.dll!_mbtowc_l +api-ms-win-crt-runtime-l1-1-0.dll!__control87_2 +api-ms-win-crt-runtime-l1-1-0.dll!__doserrno +api-ms-win-crt-runtime-l1-1-0.dll!__fpe_flt_rounds +api-ms-win-crt-runtime-l1-1-0.dll!__fpecode +api-ms-win-crt-runtime-l1-1-0.dll!__p___argc +api-ms-win-crt-runtime-l1-1-0.dll!__p___argv +api-ms-win-crt-runtime-l1-1-0.dll!__p___wargv +api-ms-win-crt-runtime-l1-1-0.dll!__p__acmdln +api-ms-win-crt-runtime-l1-1-0.dll!__p__pgmptr +api-ms-win-crt-runtime-l1-1-0.dll!__p__wcmdln +api-ms-win-crt-runtime-l1-1-0.dll!__p__wpgmptr +api-ms-win-crt-runtime-l1-1-0.dll!__pxcptinfoptrs +api-ms-win-crt-runtime-l1-1-0.dll!__sys_errlist +api-ms-win-crt-runtime-l1-1-0.dll!__sys_nerr +api-ms-win-crt-runtime-l1-1-0.dll!__threadhandle +api-ms-win-crt-runtime-l1-1-0.dll!__threadid +api-ms-win-crt-runtime-l1-1-0.dll!__wcserror +api-ms-win-crt-runtime-l1-1-0.dll!__wcserror_s +api-ms-win-crt-runtime-l1-1-0.dll!_beginthread +api-ms-win-crt-runtime-l1-1-0.dll!_beginthreadex +api-ms-win-crt-runtime-l1-1-0.dll!_c_exit +api-ms-win-crt-runtime-l1-1-0.dll!_cexit +api-ms-win-crt-runtime-l1-1-0.dll!_clearfp +api-ms-win-crt-runtime-l1-1-0.dll!_configure_narrow_argv +api-ms-win-crt-runtime-l1-1-0.dll!_configure_wide_argv +api-ms-win-crt-runtime-l1-1-0.dll!_control87 +api-ms-win-crt-runtime-l1-1-0.dll!_controlfp +api-ms-win-crt-runtime-l1-1-0.dll!_controlfp_s +api-ms-win-crt-runtime-l1-1-0.dll!_crt_at_quick_exit +api-ms-win-crt-runtime-l1-1-0.dll!_crt_atexit +api-ms-win-crt-runtime-l1-1-0.dll!_endthread +api-ms-win-crt-runtime-l1-1-0.dll!_endthreadex +api-ms-win-crt-runtime-l1-1-0.dll!_errno +api-ms-win-crt-runtime-l1-1-0.dll!_execute_onexit_table +api-ms-win-crt-runtime-l1-1-0.dll!_exit +api-ms-win-crt-runtime-l1-1-0.dll!_fpieee_flt +api-ms-win-crt-runtime-l1-1-0.dll!_fpreset +api-ms-win-crt-runtime-l1-1-0.dll!_get_doserrno +api-ms-win-crt-runtime-l1-1-0.dll!_get_errno +api-ms-win-crt-runtime-l1-1-0.dll!_get_initial_narrow_environment +api-ms-win-crt-runtime-l1-1-0.dll!_get_initial_wide_environment +api-ms-win-crt-runtime-l1-1-0.dll!_get_invalid_parameter_handler +api-ms-win-crt-runtime-l1-1-0.dll!_get_narrow_winmain_command_line +api-ms-win-crt-runtime-l1-1-0.dll!_get_pgmptr +api-ms-win-crt-runtime-l1-1-0.dll!_get_terminate +api-ms-win-crt-runtime-l1-1-0.dll!_get_thread_local_invalid_parameter_handler +api-ms-win-crt-runtime-l1-1-0.dll!_get_wide_winmain_command_line +api-ms-win-crt-runtime-l1-1-0.dll!_get_wpgmptr +api-ms-win-crt-runtime-l1-1-0.dll!_getpid +api-ms-win-crt-runtime-l1-1-0.dll!_initialize_narrow_environment +api-ms-win-crt-runtime-l1-1-0.dll!_initialize_onexit_table +api-ms-win-crt-runtime-l1-1-0.dll!_initialize_wide_environment +api-ms-win-crt-runtime-l1-1-0.dll!_initterm +api-ms-win-crt-runtime-l1-1-0.dll!_initterm_e +api-ms-win-crt-runtime-l1-1-0.dll!_query_app_type +api-ms-win-crt-runtime-l1-1-0.dll!_register_onexit_function +api-ms-win-crt-runtime-l1-1-0.dll!_register_thread_local_exe_atexit_callback +api-ms-win-crt-runtime-l1-1-0.dll!_seh_filter_dll +api-ms-win-crt-runtime-l1-1-0.dll!_seh_filter_exe +api-ms-win-crt-runtime-l1-1-0.dll!_set_abort_behavior +api-ms-win-crt-runtime-l1-1-0.dll!_set_app_type +api-ms-win-crt-runtime-l1-1-0.dll!_set_controlfp +api-ms-win-crt-runtime-l1-1-0.dll!_set_doserrno +api-ms-win-crt-runtime-l1-1-0.dll!_set_errno +api-ms-win-crt-runtime-l1-1-0.dll!_set_error_mode +api-ms-win-crt-runtime-l1-1-0.dll!_set_invalid_parameter_handler +api-ms-win-crt-runtime-l1-1-0.dll!_set_new_handler +api-ms-win-crt-runtime-l1-1-0.dll!_set_thread_local_invalid_parameter_handler +api-ms-win-crt-runtime-l1-1-0.dll!_sleep +api-ms-win-crt-runtime-l1-1-0.dll!_statusfp +api-ms-win-crt-runtime-l1-1-0.dll!_statusfp2 +api-ms-win-crt-runtime-l1-1-0.dll!_strerror +api-ms-win-crt-runtime-l1-1-0.dll!_strerror_s +api-ms-win-crt-runtime-l1-1-0.dll!_wassert +api-ms-win-crt-runtime-l1-1-0.dll!_wcserror +api-ms-win-crt-runtime-l1-1-0.dll!_wcserror_s +api-ms-win-crt-runtime-l1-1-0.dll!_wperror +api-ms-win-crt-runtime-l1-1-0.dll!abort +api-ms-win-crt-runtime-l1-1-0.dll!exit +api-ms-win-crt-runtime-l1-1-0.dll!feclearexcept +api-ms-win-crt-runtime-l1-1-0.dll!fegetenv +api-ms-win-crt-runtime-l1-1-0.dll!fegetexceptflag +api-ms-win-crt-runtime-l1-1-0.dll!fegetround +api-ms-win-crt-runtime-l1-1-0.dll!feholdexcept +api-ms-win-crt-runtime-l1-1-0.dll!fesetenv +api-ms-win-crt-runtime-l1-1-0.dll!fesetexceptflag +api-ms-win-crt-runtime-l1-1-0.dll!fesetround +api-ms-win-crt-runtime-l1-1-0.dll!fetestexcept +api-ms-win-crt-runtime-l1-1-0.dll!perror +api-ms-win-crt-runtime-l1-1-0.dll!quick_exit +api-ms-win-crt-runtime-l1-1-0.dll!raise +api-ms-win-crt-runtime-l1-1-0.dll!set_terminate +api-ms-win-crt-runtime-l1-1-0.dll!signal +api-ms-win-crt-runtime-l1-1-0.dll!strerror +api-ms-win-crt-runtime-l1-1-0.dll!strerror_s +api-ms-win-crt-runtime-l1-1-0.dll!terminate +api-ms-win-crt-stdio-l1-1-0.dll!__acrt_iob_func +api-ms-win-crt-stdio-l1-1-0.dll!__p__commode +api-ms-win-crt-stdio-l1-1-0.dll!__p__fmode +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfprintf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfprintf_p +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfprintf_s +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfscanf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfwprintf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfwprintf_p +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfwprintf_s +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vfwscanf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vsnprintf_s +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vsnwprintf_s +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vsprintf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vsprintf_p +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vsprintf_s +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vsscanf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vswprintf +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vswprintf_p +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vswprintf_s +api-ms-win-crt-stdio-l1-1-0.dll!__stdio_common_vswscanf +api-ms-win-crt-stdio-l1-1-0.dll!_chsize +api-ms-win-crt-stdio-l1-1-0.dll!_chsize_s +api-ms-win-crt-stdio-l1-1-0.dll!_close +api-ms-win-crt-stdio-l1-1-0.dll!_commit +api-ms-win-crt-stdio-l1-1-0.dll!_creat +api-ms-win-crt-stdio-l1-1-0.dll!_dup +api-ms-win-crt-stdio-l1-1-0.dll!_dup2 +api-ms-win-crt-stdio-l1-1-0.dll!_eof +api-ms-win-crt-stdio-l1-1-0.dll!_fclose_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fcloseall +api-ms-win-crt-stdio-l1-1-0.dll!_fflush_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fgetc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fgetchar +api-ms-win-crt-stdio-l1-1-0.dll!_fgetwc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fgetwchar +api-ms-win-crt-stdio-l1-1-0.dll!_filelength +api-ms-win-crt-stdio-l1-1-0.dll!_filelengthi64 +api-ms-win-crt-stdio-l1-1-0.dll!_fileno +api-ms-win-crt-stdio-l1-1-0.dll!_flushall +api-ms-win-crt-stdio-l1-1-0.dll!_fputc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fputchar +api-ms-win-crt-stdio-l1-1-0.dll!_fputwc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fputwchar +api-ms-win-crt-stdio-l1-1-0.dll!_fread_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fread_nolock_s +api-ms-win-crt-stdio-l1-1-0.dll!_fseek_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fseeki64 +api-ms-win-crt-stdio-l1-1-0.dll!_fseeki64_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fsopen +api-ms-win-crt-stdio-l1-1-0.dll!_ftell_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_ftelli64 +api-ms-win-crt-stdio-l1-1-0.dll!_ftelli64_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_fwrite_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_get_fmode +api-ms-win-crt-stdio-l1-1-0.dll!_get_osfhandle +api-ms-win-crt-stdio-l1-1-0.dll!_get_printf_count_output +api-ms-win-crt-stdio-l1-1-0.dll!_get_stream_buffer_pointers +api-ms-win-crt-stdio-l1-1-0.dll!_getc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_getmaxstdio +api-ms-win-crt-stdio-l1-1-0.dll!_getw +api-ms-win-crt-stdio-l1-1-0.dll!_getwc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_getws +api-ms-win-crt-stdio-l1-1-0.dll!_getws_s +api-ms-win-crt-stdio-l1-1-0.dll!_isatty +api-ms-win-crt-stdio-l1-1-0.dll!_locking +api-ms-win-crt-stdio-l1-1-0.dll!_lseek +api-ms-win-crt-stdio-l1-1-0.dll!_lseeki64 +api-ms-win-crt-stdio-l1-1-0.dll!_mktemp +api-ms-win-crt-stdio-l1-1-0.dll!_mktemp_s +api-ms-win-crt-stdio-l1-1-0.dll!_open +api-ms-win-crt-stdio-l1-1-0.dll!_open_osfhandle +api-ms-win-crt-stdio-l1-1-0.dll!_putc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_putw +api-ms-win-crt-stdio-l1-1-0.dll!_putwc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_putws +api-ms-win-crt-stdio-l1-1-0.dll!_read +api-ms-win-crt-stdio-l1-1-0.dll!_rmtmp +api-ms-win-crt-stdio-l1-1-0.dll!_set_fmode +api-ms-win-crt-stdio-l1-1-0.dll!_set_printf_count_output +api-ms-win-crt-stdio-l1-1-0.dll!_setmaxstdio +api-ms-win-crt-stdio-l1-1-0.dll!_setmode +api-ms-win-crt-stdio-l1-1-0.dll!_sopen +api-ms-win-crt-stdio-l1-1-0.dll!_sopen_dispatch +api-ms-win-crt-stdio-l1-1-0.dll!_sopen_s +api-ms-win-crt-stdio-l1-1-0.dll!_tell +api-ms-win-crt-stdio-l1-1-0.dll!_telli64 +api-ms-win-crt-stdio-l1-1-0.dll!_tempnam +api-ms-win-crt-stdio-l1-1-0.dll!_ungetc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_ungetwc_nolock +api-ms-win-crt-stdio-l1-1-0.dll!_wcreat +api-ms-win-crt-stdio-l1-1-0.dll!_wfdopen +api-ms-win-crt-stdio-l1-1-0.dll!_wfopen +api-ms-win-crt-stdio-l1-1-0.dll!_wfopen_s +api-ms-win-crt-stdio-l1-1-0.dll!_wfreopen +api-ms-win-crt-stdio-l1-1-0.dll!_wfreopen_s +api-ms-win-crt-stdio-l1-1-0.dll!_wfsopen +api-ms-win-crt-stdio-l1-1-0.dll!_wmktemp +api-ms-win-crt-stdio-l1-1-0.dll!_wmktemp_s +api-ms-win-crt-stdio-l1-1-0.dll!_wopen +api-ms-win-crt-stdio-l1-1-0.dll!_write +api-ms-win-crt-stdio-l1-1-0.dll!_wsopen +api-ms-win-crt-stdio-l1-1-0.dll!_wsopen_dispatch +api-ms-win-crt-stdio-l1-1-0.dll!_wsopen_s +api-ms-win-crt-stdio-l1-1-0.dll!_wtempnam +api-ms-win-crt-stdio-l1-1-0.dll!_wtmpnam +api-ms-win-crt-stdio-l1-1-0.dll!_wtmpnam_s +api-ms-win-crt-stdio-l1-1-0.dll!clearerr +api-ms-win-crt-stdio-l1-1-0.dll!clearerr_s +api-ms-win-crt-stdio-l1-1-0.dll!fclose +api-ms-win-crt-stdio-l1-1-0.dll!feof +api-ms-win-crt-stdio-l1-1-0.dll!ferror +api-ms-win-crt-stdio-l1-1-0.dll!fflush +api-ms-win-crt-stdio-l1-1-0.dll!fgetc +api-ms-win-crt-stdio-l1-1-0.dll!fgetpos +api-ms-win-crt-stdio-l1-1-0.dll!fgets +api-ms-win-crt-stdio-l1-1-0.dll!fgetwc +api-ms-win-crt-stdio-l1-1-0.dll!fgetws +api-ms-win-crt-stdio-l1-1-0.dll!fopen +api-ms-win-crt-stdio-l1-1-0.dll!fopen_s +api-ms-win-crt-stdio-l1-1-0.dll!fputc +api-ms-win-crt-stdio-l1-1-0.dll!fputs +api-ms-win-crt-stdio-l1-1-0.dll!fputwc +api-ms-win-crt-stdio-l1-1-0.dll!fputws +api-ms-win-crt-stdio-l1-1-0.dll!fread +api-ms-win-crt-stdio-l1-1-0.dll!fread_s +api-ms-win-crt-stdio-l1-1-0.dll!freopen +api-ms-win-crt-stdio-l1-1-0.dll!freopen_s +api-ms-win-crt-stdio-l1-1-0.dll!fseek +api-ms-win-crt-stdio-l1-1-0.dll!fsetpos +api-ms-win-crt-stdio-l1-1-0.dll!ftell +api-ms-win-crt-stdio-l1-1-0.dll!fwrite +api-ms-win-crt-stdio-l1-1-0.dll!getc +api-ms-win-crt-stdio-l1-1-0.dll!getchar +api-ms-win-crt-stdio-l1-1-0.dll!gets_s +api-ms-win-crt-stdio-l1-1-0.dll!getwc +api-ms-win-crt-stdio-l1-1-0.dll!getwchar +api-ms-win-crt-stdio-l1-1-0.dll!putc +api-ms-win-crt-stdio-l1-1-0.dll!putchar +api-ms-win-crt-stdio-l1-1-0.dll!puts +api-ms-win-crt-stdio-l1-1-0.dll!putwc +api-ms-win-crt-stdio-l1-1-0.dll!putwchar +api-ms-win-crt-stdio-l1-1-0.dll!rewind +api-ms-win-crt-stdio-l1-1-0.dll!setbuf +api-ms-win-crt-stdio-l1-1-0.dll!setvbuf +api-ms-win-crt-stdio-l1-1-0.dll!tmpfile +api-ms-win-crt-stdio-l1-1-0.dll!tmpfile_s +api-ms-win-crt-stdio-l1-1-0.dll!tmpnam +api-ms-win-crt-stdio-l1-1-0.dll!tmpnam_s +api-ms-win-crt-stdio-l1-1-0.dll!ungetc +api-ms-win-crt-stdio-l1-1-0.dll!ungetwc +api-ms-win-crt-string-l1-1-0.dll!__isascii +api-ms-win-crt-string-l1-1-0.dll!__iscsym +api-ms-win-crt-string-l1-1-0.dll!__iscsymf +api-ms-win-crt-string-l1-1-0.dll!__iswcsym +api-ms-win-crt-string-l1-1-0.dll!__iswcsymf +api-ms-win-crt-string-l1-1-0.dll!__strncnt +api-ms-win-crt-string-l1-1-0.dll!__wcsncnt +api-ms-win-crt-string-l1-1-0.dll!_isalnum_l +api-ms-win-crt-string-l1-1-0.dll!_isalpha_l +api-ms-win-crt-string-l1-1-0.dll!_isblank_l +api-ms-win-crt-string-l1-1-0.dll!_iscntrl_l +api-ms-win-crt-string-l1-1-0.dll!_isctype +api-ms-win-crt-string-l1-1-0.dll!_isctype_l +api-ms-win-crt-string-l1-1-0.dll!_isdigit_l +api-ms-win-crt-string-l1-1-0.dll!_isgraph_l +api-ms-win-crt-string-l1-1-0.dll!_isleadbyte_l +api-ms-win-crt-string-l1-1-0.dll!_islower_l +api-ms-win-crt-string-l1-1-0.dll!_isprint_l +api-ms-win-crt-string-l1-1-0.dll!_ispunct_l +api-ms-win-crt-string-l1-1-0.dll!_isspace_l +api-ms-win-crt-string-l1-1-0.dll!_isupper_l +api-ms-win-crt-string-l1-1-0.dll!_iswalnum_l +api-ms-win-crt-string-l1-1-0.dll!_iswalpha_l +api-ms-win-crt-string-l1-1-0.dll!_iswblank_l +api-ms-win-crt-string-l1-1-0.dll!_iswcntrl_l +api-ms-win-crt-string-l1-1-0.dll!_iswcsym_l +api-ms-win-crt-string-l1-1-0.dll!_iswcsymf_l +api-ms-win-crt-string-l1-1-0.dll!_iswctype_l +api-ms-win-crt-string-l1-1-0.dll!_iswdigit_l +api-ms-win-crt-string-l1-1-0.dll!_iswgraph_l +api-ms-win-crt-string-l1-1-0.dll!_iswlower_l +api-ms-win-crt-string-l1-1-0.dll!_iswprint_l +api-ms-win-crt-string-l1-1-0.dll!_iswpunct_l +api-ms-win-crt-string-l1-1-0.dll!_iswspace_l +api-ms-win-crt-string-l1-1-0.dll!_iswupper_l +api-ms-win-crt-string-l1-1-0.dll!_iswxdigit_l +api-ms-win-crt-string-l1-1-0.dll!_isxdigit_l +api-ms-win-crt-string-l1-1-0.dll!_memccpy +api-ms-win-crt-string-l1-1-0.dll!_memicmp +api-ms-win-crt-string-l1-1-0.dll!_memicmp_l +api-ms-win-crt-string-l1-1-0.dll!_strcoll_l +api-ms-win-crt-string-l1-1-0.dll!_strdup +api-ms-win-crt-string-l1-1-0.dll!_stricmp +api-ms-win-crt-string-l1-1-0.dll!_stricmp_l +api-ms-win-crt-string-l1-1-0.dll!_stricoll +api-ms-win-crt-string-l1-1-0.dll!_stricoll_l +api-ms-win-crt-string-l1-1-0.dll!_strlwr +api-ms-win-crt-string-l1-1-0.dll!_strlwr_l +api-ms-win-crt-string-l1-1-0.dll!_strlwr_s +api-ms-win-crt-string-l1-1-0.dll!_strlwr_s_l +api-ms-win-crt-string-l1-1-0.dll!_strncoll +api-ms-win-crt-string-l1-1-0.dll!_strncoll_l +api-ms-win-crt-string-l1-1-0.dll!_strnicmp +api-ms-win-crt-string-l1-1-0.dll!_strnicmp_l +api-ms-win-crt-string-l1-1-0.dll!_strnicoll +api-ms-win-crt-string-l1-1-0.dll!_strnicoll_l +api-ms-win-crt-string-l1-1-0.dll!_strnset +api-ms-win-crt-string-l1-1-0.dll!_strnset_s +api-ms-win-crt-string-l1-1-0.dll!_strrev +api-ms-win-crt-string-l1-1-0.dll!_strset +api-ms-win-crt-string-l1-1-0.dll!_strset_s +api-ms-win-crt-string-l1-1-0.dll!_strupr +api-ms-win-crt-string-l1-1-0.dll!_strupr_l +api-ms-win-crt-string-l1-1-0.dll!_strupr_s +api-ms-win-crt-string-l1-1-0.dll!_strupr_s_l +api-ms-win-crt-string-l1-1-0.dll!_strxfrm_l +api-ms-win-crt-string-l1-1-0.dll!_tolower +api-ms-win-crt-string-l1-1-0.dll!_tolower_l +api-ms-win-crt-string-l1-1-0.dll!_toupper +api-ms-win-crt-string-l1-1-0.dll!_toupper_l +api-ms-win-crt-string-l1-1-0.dll!_towlower_l +api-ms-win-crt-string-l1-1-0.dll!_towupper_l +api-ms-win-crt-string-l1-1-0.dll!_wcscoll_l +api-ms-win-crt-string-l1-1-0.dll!_wcsdup +api-ms-win-crt-string-l1-1-0.dll!_wcsicmp +api-ms-win-crt-string-l1-1-0.dll!_wcsicmp_l +api-ms-win-crt-string-l1-1-0.dll!_wcsicoll +api-ms-win-crt-string-l1-1-0.dll!_wcsicoll_l +api-ms-win-crt-string-l1-1-0.dll!_wcslwr +api-ms-win-crt-string-l1-1-0.dll!_wcslwr_l +api-ms-win-crt-string-l1-1-0.dll!_wcslwr_s +api-ms-win-crt-string-l1-1-0.dll!_wcslwr_s_l +api-ms-win-crt-string-l1-1-0.dll!_wcsncoll +api-ms-win-crt-string-l1-1-0.dll!_wcsncoll_l +api-ms-win-crt-string-l1-1-0.dll!_wcsnicmp +api-ms-win-crt-string-l1-1-0.dll!_wcsnicmp_l +api-ms-win-crt-string-l1-1-0.dll!_wcsnicoll +api-ms-win-crt-string-l1-1-0.dll!_wcsnicoll_l +api-ms-win-crt-string-l1-1-0.dll!_wcsnset +api-ms-win-crt-string-l1-1-0.dll!_wcsnset_s +api-ms-win-crt-string-l1-1-0.dll!_wcsrev +api-ms-win-crt-string-l1-1-0.dll!_wcsset +api-ms-win-crt-string-l1-1-0.dll!_wcsset_s +api-ms-win-crt-string-l1-1-0.dll!_wcsupr +api-ms-win-crt-string-l1-1-0.dll!_wcsupr_l +api-ms-win-crt-string-l1-1-0.dll!_wcsupr_s +api-ms-win-crt-string-l1-1-0.dll!_wcsupr_s_l +api-ms-win-crt-string-l1-1-0.dll!_wcsxfrm_l +api-ms-win-crt-string-l1-1-0.dll!isalnum +api-ms-win-crt-string-l1-1-0.dll!isalpha +api-ms-win-crt-string-l1-1-0.dll!isblank +api-ms-win-crt-string-l1-1-0.dll!iscntrl +api-ms-win-crt-string-l1-1-0.dll!isdigit +api-ms-win-crt-string-l1-1-0.dll!isgraph +api-ms-win-crt-string-l1-1-0.dll!isleadbyte +api-ms-win-crt-string-l1-1-0.dll!islower +api-ms-win-crt-string-l1-1-0.dll!isprint +api-ms-win-crt-string-l1-1-0.dll!ispunct +api-ms-win-crt-string-l1-1-0.dll!isspace +api-ms-win-crt-string-l1-1-0.dll!isupper +api-ms-win-crt-string-l1-1-0.dll!iswalnum +api-ms-win-crt-string-l1-1-0.dll!iswalpha +api-ms-win-crt-string-l1-1-0.dll!iswascii +api-ms-win-crt-string-l1-1-0.dll!iswblank +api-ms-win-crt-string-l1-1-0.dll!iswcntrl +api-ms-win-crt-string-l1-1-0.dll!iswctype +api-ms-win-crt-string-l1-1-0.dll!iswdigit +api-ms-win-crt-string-l1-1-0.dll!iswgraph +api-ms-win-crt-string-l1-1-0.dll!iswlower +api-ms-win-crt-string-l1-1-0.dll!iswprint +api-ms-win-crt-string-l1-1-0.dll!iswpunct +api-ms-win-crt-string-l1-1-0.dll!iswspace +api-ms-win-crt-string-l1-1-0.dll!iswupper +api-ms-win-crt-string-l1-1-0.dll!iswxdigit +api-ms-win-crt-string-l1-1-0.dll!isxdigit +api-ms-win-crt-string-l1-1-0.dll!mblen +api-ms-win-crt-string-l1-1-0.dll!mbrlen +api-ms-win-crt-string-l1-1-0.dll!memcpy_s +api-ms-win-crt-string-l1-1-0.dll!memmove_s +api-ms-win-crt-string-l1-1-0.dll!memset +api-ms-win-crt-string-l1-1-0.dll!strcat +api-ms-win-crt-string-l1-1-0.dll!strcat_s +api-ms-win-crt-string-l1-1-0.dll!strcmp +api-ms-win-crt-string-l1-1-0.dll!strcoll +api-ms-win-crt-string-l1-1-0.dll!strcpy +api-ms-win-crt-string-l1-1-0.dll!strcpy_s +api-ms-win-crt-string-l1-1-0.dll!strcspn +api-ms-win-crt-string-l1-1-0.dll!strlen +api-ms-win-crt-string-l1-1-0.dll!strncat +api-ms-win-crt-string-l1-1-0.dll!strncat_s +api-ms-win-crt-string-l1-1-0.dll!strncmp +api-ms-win-crt-string-l1-1-0.dll!strncpy +api-ms-win-crt-string-l1-1-0.dll!strncpy_s +api-ms-win-crt-string-l1-1-0.dll!strnlen +api-ms-win-crt-string-l1-1-0.dll!strpbrk +api-ms-win-crt-string-l1-1-0.dll!strspn +api-ms-win-crt-string-l1-1-0.dll!strtok +api-ms-win-crt-string-l1-1-0.dll!strtok_s +api-ms-win-crt-string-l1-1-0.dll!strxfrm +api-ms-win-crt-string-l1-1-0.dll!tolower +api-ms-win-crt-string-l1-1-0.dll!toupper +api-ms-win-crt-string-l1-1-0.dll!towctrans +api-ms-win-crt-string-l1-1-0.dll!towlower +api-ms-win-crt-string-l1-1-0.dll!towupper +api-ms-win-crt-string-l1-1-0.dll!wcscat +api-ms-win-crt-string-l1-1-0.dll!wcscat_s +api-ms-win-crt-string-l1-1-0.dll!wcscmp +api-ms-win-crt-string-l1-1-0.dll!wcscoll +api-ms-win-crt-string-l1-1-0.dll!wcscpy +api-ms-win-crt-string-l1-1-0.dll!wcscpy_s +api-ms-win-crt-string-l1-1-0.dll!wcscspn +api-ms-win-crt-string-l1-1-0.dll!wcslen +api-ms-win-crt-string-l1-1-0.dll!wcsncat +api-ms-win-crt-string-l1-1-0.dll!wcsncat_s +api-ms-win-crt-string-l1-1-0.dll!wcsncmp +api-ms-win-crt-string-l1-1-0.dll!wcsncpy +api-ms-win-crt-string-l1-1-0.dll!wcsncpy_s +api-ms-win-crt-string-l1-1-0.dll!wcsnlen +api-ms-win-crt-string-l1-1-0.dll!wcspbrk +api-ms-win-crt-string-l1-1-0.dll!wcsspn +api-ms-win-crt-string-l1-1-0.dll!wcstok +api-ms-win-crt-string-l1-1-0.dll!wcstok_s +api-ms-win-crt-string-l1-1-0.dll!wcsxfrm +api-ms-win-crt-string-l1-1-0.dll!wctype +api-ms-win-crt-string-l1-1-0.dll!wmemcpy_s +api-ms-win-crt-string-l1-1-0.dll!wmemmove_s +api-ms-win-crt-time-l1-1-0.dll!__daylight +api-ms-win-crt-time-l1-1-0.dll!__dstbias +api-ms-win-crt-time-l1-1-0.dll!__timezone +api-ms-win-crt-time-l1-1-0.dll!__tzname +api-ms-win-crt-time-l1-1-0.dll!_ctime32 +api-ms-win-crt-time-l1-1-0.dll!_ctime32_s +api-ms-win-crt-time-l1-1-0.dll!_ctime64 +api-ms-win-crt-time-l1-1-0.dll!_ctime64_s +api-ms-win-crt-time-l1-1-0.dll!_difftime32 +api-ms-win-crt-time-l1-1-0.dll!_difftime64 +api-ms-win-crt-time-l1-1-0.dll!_ftime32 +api-ms-win-crt-time-l1-1-0.dll!_ftime32_s +api-ms-win-crt-time-l1-1-0.dll!_ftime64 +api-ms-win-crt-time-l1-1-0.dll!_ftime64_s +api-ms-win-crt-time-l1-1-0.dll!_futime32 +api-ms-win-crt-time-l1-1-0.dll!_futime64 +api-ms-win-crt-time-l1-1-0.dll!_get_daylight +api-ms-win-crt-time-l1-1-0.dll!_get_dstbias +api-ms-win-crt-time-l1-1-0.dll!_get_timezone +api-ms-win-crt-time-l1-1-0.dll!_get_tzname +api-ms-win-crt-time-l1-1-0.dll!_gmtime32 +api-ms-win-crt-time-l1-1-0.dll!_gmtime32_s +api-ms-win-crt-time-l1-1-0.dll!_gmtime64 +api-ms-win-crt-time-l1-1-0.dll!_gmtime64_s +api-ms-win-crt-time-l1-1-0.dll!_localtime32 +api-ms-win-crt-time-l1-1-0.dll!_localtime32_s +api-ms-win-crt-time-l1-1-0.dll!_localtime64 +api-ms-win-crt-time-l1-1-0.dll!_localtime64_s +api-ms-win-crt-time-l1-1-0.dll!_mkgmtime32 +api-ms-win-crt-time-l1-1-0.dll!_mkgmtime64 +api-ms-win-crt-time-l1-1-0.dll!_mktime32 +api-ms-win-crt-time-l1-1-0.dll!_mktime64 +api-ms-win-crt-time-l1-1-0.dll!_strdate +api-ms-win-crt-time-l1-1-0.dll!_strdate_s +api-ms-win-crt-time-l1-1-0.dll!_strftime_l +api-ms-win-crt-time-l1-1-0.dll!_strtime +api-ms-win-crt-time-l1-1-0.dll!_strtime_s +api-ms-win-crt-time-l1-1-0.dll!_time32 +api-ms-win-crt-time-l1-1-0.dll!_time64 +api-ms-win-crt-time-l1-1-0.dll!_timespec32_get +api-ms-win-crt-time-l1-1-0.dll!_timespec64_get +api-ms-win-crt-time-l1-1-0.dll!_tzset +api-ms-win-crt-time-l1-1-0.dll!_utime32 +api-ms-win-crt-time-l1-1-0.dll!_utime64 +api-ms-win-crt-time-l1-1-0.dll!_wasctime +api-ms-win-crt-time-l1-1-0.dll!_wasctime_s +api-ms-win-crt-time-l1-1-0.dll!_wcsftime_l +api-ms-win-crt-time-l1-1-0.dll!_wctime32 +api-ms-win-crt-time-l1-1-0.dll!_wctime32_s +api-ms-win-crt-time-l1-1-0.dll!_wctime64 +api-ms-win-crt-time-l1-1-0.dll!_wctime64_s +api-ms-win-crt-time-l1-1-0.dll!_wstrdate +api-ms-win-crt-time-l1-1-0.dll!_wstrdate_s +api-ms-win-crt-time-l1-1-0.dll!_wstrtime +api-ms-win-crt-time-l1-1-0.dll!_wstrtime_s +api-ms-win-crt-time-l1-1-0.dll!_wutime32 +api-ms-win-crt-time-l1-1-0.dll!_wutime64 +api-ms-win-crt-time-l1-1-0.dll!asctime +api-ms-win-crt-time-l1-1-0.dll!asctime_s +api-ms-win-crt-time-l1-1-0.dll!clock +api-ms-win-crt-time-l1-1-0.dll!strftime +api-ms-win-crt-time-l1-1-0.dll!wcsftime +api-ms-win-crt-utility-l1-1-0.dll!_abs64 +api-ms-win-crt-utility-l1-1-0.dll!_byteswap_uint64 +api-ms-win-crt-utility-l1-1-0.dll!_byteswap_ulong +api-ms-win-crt-utility-l1-1-0.dll!_byteswap_ushort +api-ms-win-crt-utility-l1-1-0.dll!_lfind +api-ms-win-crt-utility-l1-1-0.dll!_lfind_s +api-ms-win-crt-utility-l1-1-0.dll!_lrotl +api-ms-win-crt-utility-l1-1-0.dll!_lrotr +api-ms-win-crt-utility-l1-1-0.dll!_lsearch +api-ms-win-crt-utility-l1-1-0.dll!_lsearch_s +api-ms-win-crt-utility-l1-1-0.dll!_rotl +api-ms-win-crt-utility-l1-1-0.dll!_rotl64 +api-ms-win-crt-utility-l1-1-0.dll!_rotr +api-ms-win-crt-utility-l1-1-0.dll!_rotr64 +api-ms-win-crt-utility-l1-1-0.dll!_swab +api-ms-win-crt-utility-l1-1-0.dll!abs +api-ms-win-crt-utility-l1-1-0.dll!bsearch +api-ms-win-crt-utility-l1-1-0.dll!bsearch_s +api-ms-win-crt-utility-l1-1-0.dll!div +api-ms-win-crt-utility-l1-1-0.dll!imaxabs +api-ms-win-crt-utility-l1-1-0.dll!imaxdiv +api-ms-win-crt-utility-l1-1-0.dll!labs +api-ms-win-crt-utility-l1-1-0.dll!ldiv +api-ms-win-crt-utility-l1-1-0.dll!llabs +api-ms-win-crt-utility-l1-1-0.dll!lldiv +api-ms-win-crt-utility-l1-1-0.dll!qsort +api-ms-win-crt-utility-l1-1-0.dll!qsort_s +api-ms-win-crt-utility-l1-1-0.dll!rand +api-ms-win-crt-utility-l1-1-0.dll!rand_s +api-ms-win-crt-utility-l1-1-0.dll!srand +api-ms-win-ro-typeresolution-l1-1-0.dll!RoGetMetaDataFile +api-ms-win-ro-typeresolution-l1-1-0.dll!RoParseTypeName +api-ms-win-ro-typeresolution-l1-1-0.dll!RoResolveNamespace +Bcrypt.dll!BCryptCloseAlgorithmProvider +Bcrypt.dll!BCryptCreateHash +Bcrypt.dll!BCryptCreateMultiHash +Bcrypt.dll!BCryptDecrypt +Bcrypt.dll!BCryptDeriveKey +Bcrypt.dll!BCryptDeriveKeyCapi +Bcrypt.dll!BCryptDeriveKeyPBKDF2 +Bcrypt.dll!BCryptDestroyHash +Bcrypt.dll!BCryptDestroyKey +Bcrypt.dll!BCryptDestroySecret +Bcrypt.dll!BCryptDuplicateHash +Bcrypt.dll!BCryptDuplicateKey +Bcrypt.dll!BCryptEncrypt +Bcrypt.dll!BCryptEnumAlgorithms +Bcrypt.dll!BCryptEnumProviders +Bcrypt.dll!BCryptExportKey +Bcrypt.dll!BCryptFinalizeKeyPair +Bcrypt.dll!BCryptFinishHash +Bcrypt.dll!BCryptFreeBuffer +Bcrypt.dll!BCryptGenerateKeyPair +Bcrypt.dll!BCryptGenerateSymmetricKey +Bcrypt.dll!BCryptGenRandom +Bcrypt.dll!BCryptGetFipsAlgorithmMode +Bcrypt.dll!BCryptGetProperty +Bcrypt.dll!BCryptHash +Bcrypt.dll!BCryptHashData +Bcrypt.dll!BCryptImportKey +Bcrypt.dll!BCryptImportKeyPair +Bcrypt.dll!BCryptKeyDerivation +Bcrypt.dll!BCryptOpenAlgorithmProvider +Bcrypt.dll!BCryptProcessMultiOperations +Bcrypt.dll!BCryptSecretAgreement +Bcrypt.dll!BCryptSetProperty +Bcrypt.dll!BCryptSignHash +Bcrypt.dll!BCryptVerifySignature +cabinet.dll!CloseCompressor +cabinet.dll!CloseDecompressor +cabinet.dll!Compress +cabinet.dll!CreateCompressor +cabinet.dll!CreateDecompressor +cabinet.dll!Decompress +cabinet.dll!FDICopy +cabinet.dll!FDICreate +cabinet.dll!FDIDestroy +cabinet.dll!FDIIsCabinet +cabinet.dll!QueryCompressorInformation +cabinet.dll!QueryDecompressorInformation +cabinet.dll!ResetCompressor +cabinet.dll!ResetDecompressor +cabinet.dll!SetCompressorInformation +cabinet.dll!SetDecompressorInformation +chakra.dll!JsAddRef +chakra.dll!JsBooleanToBool +chakra.dll!JsBoolToBoolean +chakra.dll!JsCallFunction +chakra.dll!JsCollectGarbage +chakra.dll!JsConstructObject +chakra.dll!JsConvertValueToBoolean +chakra.dll!JsConvertValueToNumber +chakra.dll!JsConvertValueToObject +chakra.dll!JsConvertValueToString +chakra.dll!JsCreateArray +chakra.dll!JsCreateArrayBuffer +chakra.dll!JsCreateContext +chakra.dll!JsCreateDataView +chakra.dll!JsCreateError +chakra.dll!JsCreateExternalArrayBuffer +chakra.dll!JsCreateExternalObject +chakra.dll!JsCreateFunction +chakra.dll!JsCreateNamedFunction +chakra.dll!JsCreateObject +chakra.dll!JsCreateRangeError +chakra.dll!JsCreateReferenceError +chakra.dll!JsCreateRuntime +chakra.dll!JsCreateSymbol +chakra.dll!JsCreateSyntaxError +chakra.dll!JsCreateTypedArray +chakra.dll!JsCreateTypeError +chakra.dll!JsCreateURIError +chakra.dll!JsDefineProperty +chakra.dll!JsDeleteIndexedProperty +chakra.dll!JsDeleteProperty +chakra.dll!JsDisableRuntimeExecution +chakra.dll!JsDisposeRuntime +chakra.dll!JsDoubleToNumber +chakra.dll!JsEnableRuntimeExecution +chakra.dll!JsEquals +chakra.dll!JsGetAndClearException +chakra.dll!JsGetArrayBufferStorage +chakra.dll!JsGetContextData +chakra.dll!JsGetContextOfObject +chakra.dll!JsGetCurrentContext +chakra.dll!JsGetDataViewStorage +chakra.dll!JsGetExtensionAllowed +chakra.dll!JsGetExternalData +chakra.dll!JsGetFalseValue +chakra.dll!JsGetGlobalObject +chakra.dll!JsGetIndexedPropertiesExternalData +chakra.dll!JsGetIndexedProperty +chakra.dll!JsGetNullValue +chakra.dll!JsGetOwnPropertyDescriptor +chakra.dll!JsGetOwnPropertyNames +chakra.dll!JsGetOwnPropertySymbols +chakra.dll!JsGetProperty +chakra.dll!JsGetPropertyIdFromName +chakra.dll!JsGetPropertyIdFromSymbol +chakra.dll!JsGetPropertyIdType +chakra.dll!JsGetPropertyNameFromId +chakra.dll!JsGetPrototype +chakra.dll!JsGetRuntime +chakra.dll!JsGetRuntimeMemoryLimit +chakra.dll!JsGetRuntimeMemoryUsage +chakra.dll!JsGetStringLength +chakra.dll!JsGetSymbolFromPropertyId +chakra.dll!JsGetTrueValue +chakra.dll!JsGetTypedArrayInfo +chakra.dll!JsGetTypedArrayStorage +chakra.dll!JsGetUndefinedValue +chakra.dll!JsGetValueType +chakra.dll!JsHasException +chakra.dll!JsHasExternalData +chakra.dll!JsHasIndexedPropertiesExternalData +chakra.dll!JsHasIndexedProperty +chakra.dll!JsHasProperty +chakra.dll!JsIdle +chakra.dll!JsInspectableToObject +chakra.dll!JsInstanceOf +chakra.dll!JsIntToNumber +chakra.dll!JsIsRuntimeExecutionDisabled +chakra.dll!JsNumberToDouble +chakra.dll!JsNumberToInt +chakra.dll!JsObjectToInspectable +chakra.dll!JsParseScript +chakra.dll!JsParseSerializedScript +chakra.dll!JsParseSerializedScriptWithCallback +chakra.dll!JsPointerToString +chakra.dll!JsPreventExtension +chakra.dll!JsProjectWinRTNamespace +chakra.dll!JsRelease +chakra.dll!JsRunScript +chakra.dll!JsRunSerializedScript +chakra.dll!JsRunSerializedScriptWithCallback +chakra.dll!JsSerializeScript +chakra.dll!JsSetContextData +chakra.dll!JsSetCurrentContext +chakra.dll!JsSetException +chakra.dll!JsSetExternalData +chakra.dll!JsSetIndexedPropertiesToExternalData +chakra.dll!JsSetIndexedProperty +chakra.dll!JsSetObjectBeforeCollectCallback +chakra.dll!JsSetProjectionEnqueueCallback +chakra.dll!JsSetPromiseContinuationCallback +chakra.dll!JsSetProperty +chakra.dll!JsSetPrototype +chakra.dll!JsSetRuntimeBeforeCollectCallback +chakra.dll!JsSetRuntimeMemoryAllocationCallback +chakra.dll!JsSetRuntimeMemoryLimit +chakra.dll!JsStartDebugging +chakra.dll!JsStrictEquals +chakra.dll!JsStringToPointer +chakra.dll!JsValueToVariant +chakra.dll!JsVariantToValue +CoreMessaging.dll!CreateDispatcherQueueController +Credui.dll!CredUIParseUserNameW +crypt32.dll!CertAddCertificateContextToStore +crypt32.dll!CertAddCertificateLinkToStore +crypt32.dll!CertAddCRLContextToStore +crypt32.dll!CertAddCRLLinkToStore +crypt32.dll!CertAddCTLContextToStore +crypt32.dll!CertAddCTLLinkToStore +crypt32.dll!CertAddEncodedCertificateToStore +crypt32.dll!CertAddEncodedCRLToStore +crypt32.dll!CertAddEncodedCTLToStore +crypt32.dll!CertAddSerializedElementToStore +crypt32.dll!CertAddStoreToCollection +crypt32.dll!CertCloseStore +crypt32.dll!CertCompareCertificate +crypt32.dll!CertCompareCertificateName +crypt32.dll!CertCompareIntegerBlob +crypt32.dll!CertControlStore +crypt32.dll!CertCreateCertificateChainEngine +crypt32.dll!CertCreateCertificateContext +crypt32.dll!CertCreateContext +crypt32.dll!CertCreateCRLContext +crypt32.dll!CertCreateCTLContext +crypt32.dll!CertCreateSelfSignCertificate +crypt32.dll!CertDeleteCertificateFromStore +crypt32.dll!CertDeleteCRLFromStore +crypt32.dll!CertDeleteCTLFromStore +crypt32.dll!CertDuplicateCertificateChain +crypt32.dll!CertDuplicateCertificateContext +crypt32.dll!CertDuplicateCRLContext +crypt32.dll!CertDuplicateCTLContext +crypt32.dll!CertDuplicateStore +crypt32.dll!CertEnumCertificateContextProperties +crypt32.dll!CertEnumCertificatesInStore +crypt32.dll!CertEnumCRLContextProperties +crypt32.dll!CertEnumCRLsInStore +crypt32.dll!CertEnumCTLContextProperties +crypt32.dll!CertEnumCTLsInStore +crypt32.dll!CertEnumPhysicalStore +crypt32.dll!CertEnumSystemStore +crypt32.dll!CertEnumSystemStoreLocation +crypt32.dll!CertFindAttribute +crypt32.dll!CertFindCertificateInCRL +crypt32.dll!CertFindCertificateInStore +crypt32.dll!CertFindCRLInStore +crypt32.dll!CertFindCTLInStore +crypt32.dll!CertFindExtension +crypt32.dll!CertFindRDNAttr +crypt32.dll!CertFindSubjectInCTL +crypt32.dll!CertFreeCertificateChain +crypt32.dll!CertFreeCertificateChainEngine +crypt32.dll!CertFreeCertificateChainList +crypt32.dll!CertFreeCertificateContext +crypt32.dll!CertFreeCRLContext +crypt32.dll!CertFreeCTLContext +crypt32.dll!CertGetCertificateChain +crypt32.dll!CertGetCertificateContextProperty +crypt32.dll!CertGetCRLContextProperty +crypt32.dll!CertGetCRLFromStore +crypt32.dll!CertGetCTLContextProperty +crypt32.dll!CertGetEnhancedKeyUsage +crypt32.dll!CertGetIntendedKeyUsage +crypt32.dll!CertGetIssuerCertificateFromStore +crypt32.dll!CertGetNameStringA +crypt32.dll!CertGetNameStringW +crypt32.dll!CertGetPublicKeyLength +crypt32.dll!CertGetStoreProperty +crypt32.dll!CertGetSubjectCertificateFromStore +crypt32.dll!CertGetValidUsages +crypt32.dll!CertIsValidCRLForCertificate +crypt32.dll!CertNameToStrA +crypt32.dll!CertNameToStrW +crypt32.dll!CertOpenStore +crypt32.dll!CertRDNValueToStrA +crypt32.dll!CertRDNValueToStrW +crypt32.dll!CertRemoveStoreFromCollection +crypt32.dll!CertResyncCertificateChainEngine +crypt32.dll!CertSaveStore +crypt32.dll!CertSelectCertificateChains +crypt32.dll!CertSerializeCertificateStoreElement +crypt32.dll!CertSerializeCRLStoreElement +crypt32.dll!CertSerializeCTLStoreElement +crypt32.dll!CertSetCertificateContextProperty +crypt32.dll!CertSetCRLContextProperty +crypt32.dll!CertSetCTLContextProperty +crypt32.dll!CertSetStoreProperty +crypt32.dll!CertStrToNameA +crypt32.dll!CertStrToNameW +crypt32.dll!CertVerifyCertificateChainPolicy +crypt32.dll!CertVerifySubjectCertificateContext +crypt32.dll!CertVerifyTimeValidity +crypt32.dll!CryptAcquireCertificatePrivateKey +crypt32.dll!CryptBinaryToStringW +crypt32.dll!CryptDecodeObject +crypt32.dll!CryptDecodeObjectEx +crypt32.dll!CryptEncodeObject +crypt32.dll!CryptEncodeObjectEx +crypt32.dll!CryptEnumOIDFunction +crypt32.dll!CryptEnumOIDInfo +crypt32.dll!CryptFindLocalizedName +crypt32.dll!CryptFindOIDInfo +crypt32.dll!CryptFormatObject +crypt32.dll!CryptFreeOIDFunctionAddress +crypt32.dll!CryptGetDefaultOIDDllList +crypt32.dll!CryptGetDefaultOIDFunctionAddress +crypt32.dll!CryptGetOIDFunctionAddress +crypt32.dll!CryptGetOIDFunctionValue +crypt32.dll!CryptHashCertificate2 +crypt32.dll!CryptHashPublicKeyInfo +crypt32.dll!CryptImportPublicKeyInfoEx2 +crypt32.dll!CryptInitOIDFunctionSet +crypt32.dll!CryptInstallOIDFunctionAddress +crypt32.dll!CryptMsgCalculateEncodedLength +crypt32.dll!CryptMsgClose +crypt32.dll!CryptMsgControl +crypt32.dll!CryptMsgCountersign +crypt32.dll!CryptMsgCountersignEncoded +crypt32.dll!CryptMsgDuplicate +crypt32.dll!CryptMsgGetAndVerifySigner +crypt32.dll!CryptMsgGetParam +crypt32.dll!CryptMsgOpenToDecode +crypt32.dll!CryptMsgOpenToEncode +crypt32.dll!CryptMsgUpdate +crypt32.dll!CryptMsgVerifyCountersignatureEncoded +crypt32.dll!CryptMsgVerifyCountersignatureEncodedEx +crypt32.dll!CryptProtectData +crypt32.dll!CryptProtectMemory +crypt32.dll!CryptQueryObject +crypt32.dll!CryptRetrieveTimeStamp +crypt32.dll!CryptStringToBinaryA +crypt32.dll!CryptUnprotectData +crypt32.dll!CryptUnprotectMemory +crypt32.dll!CryptVerifyTimeStampSignature +crypt32.dll!PFXExportCertStore +crypt32.dll!PFXExportCertStoreEx +crypt32.dll!PFXImportCertStore +crypt32.dll!PFXIsPFXBlob +crypt32.dll!PFXVerifyPassword +d2d1.dll!D2D1ComputeMaximumScaleFactor +d2d1.dll!D2D1ConvertColorSpace +d2d1.dll!D2D1CreateDevice +d2d1.dll!D2D1CreateDeviceContext +d2d1.dll!D2D1CreateFactory +d2d1.dll!D2D1GetGradientMeshInteriorPointsFromCoonsPatch +d2d1.dll!D2D1InvertMatrix +d2d1.dll!D2D1IsMatrixInvertible +d2d1.dll!D2D1MakeRotateMatrix +d2d1.dll!D2D1MakeSkewMatrix +d2d1.dll!D2D1SinCos +d2d1.dll!D2D1Tan +d2d1.dll!D2D1Vec3Length +d3d11.dll!CreateDirect3D11DeviceFromDXGIDevice +d3d11.dll!CreateDirect3D11SurfaceFromDXGISurface +d3d11.dll!D3D11CreateDevice +d3d11.dll!D3D11On12CreateDevice +d3d12.dll!D3D12CreateDevice +d3d12.dll!D3D12CreateRootSignatureDeserializer +d3d12.dll!D3D12CreateVersionedRootSignatureDeserializer +d3d12.dll!D3D12EnableExperimentalFeatures +d3d12.dll!D3D12SerializeRootSignature +d3d12.dll!D3D12SerializeVersionedRootSignature +d3dcompiler_47.dll!D3DCompile +d3dcompiler_47.dll!D3DCompile2 +d3dcompiler_47.dll!D3DCompileFromFile +d3dcompiler_47.dll!D3DCompressShaders +d3dcompiler_47.dll!D3DCreateBlob +d3dcompiler_47.dll!D3DCreateFunctionLinkingGraph +d3dcompiler_47.dll!D3DCreateLinker +d3dcompiler_47.dll!D3DDecompressShaders +d3dcompiler_47.dll!D3DDisassemble +d3dcompiler_47.dll!D3DDisassemble11Trace +d3dcompiler_47.dll!D3DDisassembleRegion +d3dcompiler_47.dll!D3DGetBlobPart +d3dcompiler_47.dll!D3DGetDebugInfo +d3dcompiler_47.dll!D3DGetInputAndOutputSignatureBlob +d3dcompiler_47.dll!D3DGetInputSignatureBlob +d3dcompiler_47.dll!D3DGetOutputSignatureBlob +d3dcompiler_47.dll!D3DGetTraceInstructionOffsets +d3dcompiler_47.dll!D3DLoadModule +d3dcompiler_47.dll!D3DPreprocess +d3dcompiler_47.dll!D3DReadFileToBlob +d3dcompiler_47.dll!D3DReflect +d3dcompiler_47.dll!D3DReflectLibrary +d3dcompiler_47.dll!D3DSetBlobPart +d3dcompiler_47.dll!D3DStripShader +d3dcompiler_47.dll!D3DWriteBlobToFile +deviceaccess.dll!CreateDeviceAccessInstance +dhcpcsvc.dll!DhcpCApiCleanup +dhcpcsvc.dll!DhcpCApiInitialize +dhcpcsvc.dll!DhcpRequestParams +dhcpcsvc6.dll!Dhcpv6CApiCleanup +dhcpcsvc6.dll!Dhcpv6CApiInitialize +dhcpcsvc6.dll!Dhcpv6RequestParams +dmprocessxmlfiltered.dll!DMProcessConfigXMLFiltered +dwrite.dll!DWriteCreateFactory +dxgi.dll!CreateDXGIFactory1 +dxgi.dll!CreateDXGIFactory2 +efswrt.dll!ProtectFileToEnterpriseIdentity +efswrt.dll!UnprotectFile +elscore.dll!MappingFreePropertyBag +elscore.dll!MappingFreeServices +elscore.dll!MappingGetServices +elscore.dll!MappingRecognizeText +esent.dll!JetAddColumnW +esent.dll!JetAttachDatabase2W +esent.dll!JetBackupInstanceW +esent.dll!JetBeginSessionW +esent.dll!JetBeginTransaction3 +esent.dll!JetCloseDatabase +esent.dll!JetCloseTable +esent.dll!JetCommitTransaction +esent.dll!JetCommitTransaction2 +esent.dll!JetCreateDatabase2W +esent.dll!JetCreateIndex4W +esent.dll!JetCreateInstance2W +esent.dll!JetCreateTableColumnIndex4W +esent.dll!JetDefragment2W +esent.dll!JetDelete +esent.dll!JetDeleteColumn2W +esent.dll!JetDeleteIndexW +esent.dll!JetDeleteTableW +esent.dll!JetDetachDatabase2W +esent.dll!JetEndSession +esent.dll!JetEnumerateColumns +esent.dll!JetEscrowUpdate +esent.dll!JetGetBookmark +esent.dll!JetGetColumnInfoW +esent.dll!JetGetCurrentIndexW +esent.dll!JetGetDatabaseFileInfoW +esent.dll!JetGetDatabaseInfoW +esent.dll!JetGetErrorInfoW +esent.dll!JetGetIndexInfoW +esent.dll!JetGetObjectInfoW +esent.dll!JetGetRecordPosition +esent.dll!JetGetSecondaryIndexBookmark +esent.dll!JetGetSessionParameter +esent.dll!JetGetSystemParameterW +esent.dll!JetGetTableColumnInfoW +esent.dll!JetGetTableIndexInfoW +esent.dll!JetGetTableInfoW +esent.dll!JetGetThreadStats +esent.dll!JetGotoBookmark +esent.dll!JetGotoPosition +esent.dll!JetGotoSecondaryIndexBookmark +esent.dll!JetIndexRecordCount +esent.dll!JetInit3W +esent.dll!JetIntersectIndexes +esent.dll!JetMakeKey +esent.dll!JetMove +esent.dll!JetOpenDatabaseW +esent.dll!JetOpenTableW +esent.dll!JetOpenTemporaryTable2 +esent.dll!JetOpenTempTable3 +esent.dll!JetPrepareUpdate +esent.dll!JetPrereadIndexRanges +esent.dll!JetPrereadKeys +esent.dll!JetRegisterCallback +esent.dll!JetRenameColumnW +esent.dll!JetRenameTableW +esent.dll!JetResetSessionContext +esent.dll!JetResetTableSequential +esent.dll!JetResizeDatabase +esent.dll!JetRestoreInstanceW +esent.dll!JetRetrieveColumn +esent.dll!JetRetrieveColumns +esent.dll!JetRetrieveKey +esent.dll!JetRollback +esent.dll!JetSeek +esent.dll!JetSetColumn +esent.dll!JetSetColumns +esent.dll!JetSetCurrentIndex4W +esent.dll!JetSetCursorFilter +esent.dll!JetSetIndexRange +esent.dll!JetSetSessionContext +esent.dll!JetSetSessionParameter +esent.dll!JetSetSystemParameterW +esent.dll!JetSetTableSequential +esent.dll!JetStopBackupInstance +esent.dll!JetStopServiceInstance2 +esent.dll!JetTerm2 +esent.dll!JetUnregisterCallback +esent.dll!JetUpdate2 +gamemode.dll!GetExpandedResourceExclusiveCpuCount +gamemode.dll!GetGamingDeviceModelInformation +gamemode.dll!HasExpandedResources +gamemode.dll!ReleaseExclusiveCpuSets +gamemonitor.dll!EnableActiveGameMonitoring +gamemonitor.dll!GetGameMonitoringPermissionState +gamemonitor.dll!ReportGameActivity +gamemonitor.dll!SetGameActivityCorrelationId +gamingtcui.dll!CheckGamingPrivilegeSilently +gamingtcui.dll!CheckGamingPrivilegeSilentlyForUser +gamingtcui.dll!CheckGamingPrivilegeWithUI +gamingtcui.dll!CheckGamingPrivilegeWithUIForUser +gamingtcui.dll!ProcessPendingGameUI +gamingtcui.dll!ShowChangeFriendRelationshipUI +gamingtcui.dll!ShowChangeFriendRelationshipUIForUser +gamingtcui.dll!ShowCustomizeUserProfileUI +gamingtcui.dll!ShowCustomizeUserProfileUIForUser +gamingtcui.dll!ShowFindFriendsUI +gamingtcui.dll!ShowFindFriendsUIForUser +gamingtcui.dll!ShowGameInfoUI +gamingtcui.dll!ShowGameInfoUIForUser +gamingtcui.dll!ShowGameInviteUI +gamingtcui.dll!ShowGameInviteUIForUser +gamingtcui.dll!ShowGameInviteUIWithContext +gamingtcui.dll!ShowGameInviteUIWithContextForUser +gamingtcui.dll!ShowPlayerPickerUI +gamingtcui.dll!ShowPlayerPickerUIForUser +gamingtcui.dll!ShowProfileCardUI +gamingtcui.dll!ShowProfileCardUIForUser +gamingtcui.dll!ShowTitleAchievementsUI +gamingtcui.dll!ShowTitleAchievementsUIForUser +gamingtcui.dll!ShowUserSettingsUI +gamingtcui.dll!ShowUserSettingsUIForUser +gamingtcui.dll!TryCancelPendingGameUI +hrtfapo.dll!CreateHrtfApo +icuin.dll!u_formatMessage +icuin.dll!u_formatMessageWithError +icuin.dll!u_parseMessage +icuin.dll!u_parseMessageWithError +icuin.dll!u_vformatMessage +icuin.dll!u_vformatMessageWithError +icuin.dll!u_vparseMessage +icuin.dll!u_vparseMessageWithError +icuin.dll!ucal_add +icuin.dll!ucal_clear +icuin.dll!ucal_clearField +icuin.dll!ucal_clone +icuin.dll!ucal_close +icuin.dll!ucal_countAvailable +icuin.dll!ucal_equivalentTo +icuin.dll!ucal_get +icuin.dll!ucal_getAttribute +icuin.dll!ucal_getAvailable +icuin.dll!ucal_getCanonicalTimeZoneID +icuin.dll!ucal_getDayOfWeekType +icuin.dll!ucal_getDefaultTimeZone +icuin.dll!ucal_getDSTSavings +icuin.dll!ucal_getFieldDifference +icuin.dll!ucal_getGregorianChange +icuin.dll!ucal_getKeywordValuesForLocale +icuin.dll!ucal_getLimit +icuin.dll!ucal_getLocaleByType +icuin.dll!ucal_getMillis +icuin.dll!ucal_getNow +icuin.dll!ucal_getTimeZoneDisplayName +icuin.dll!ucal_getTimeZoneID +icuin.dll!ucal_getTimeZoneIDForWindowsID +icuin.dll!ucal_getTimeZoneTransitionDate +icuin.dll!ucal_getType +icuin.dll!ucal_getTZDataVersion +icuin.dll!ucal_getWeekendTransition +icuin.dll!ucal_getWindowsTimeZoneID +icuin.dll!ucal_inDaylightTime +icuin.dll!ucal_isSet +icuin.dll!ucal_isWeekend +icuin.dll!ucal_open +icuin.dll!ucal_openCountryTimeZones +icuin.dll!ucal_openTimeZoneIDEnumeration +icuin.dll!ucal_openTimeZones +icuin.dll!ucal_roll +icuin.dll!ucal_set +icuin.dll!ucal_setAttribute +icuin.dll!ucal_setDate +icuin.dll!ucal_setDateTime +icuin.dll!ucal_setDefaultTimeZone +icuin.dll!ucal_setGregorianChange +icuin.dll!ucal_setMillis +icuin.dll!ucal_setTimeZone +icuin.dll!ucol_cloneBinary +icuin.dll!ucol_close +icuin.dll!ucol_closeElements +icuin.dll!ucol_countAvailable +icuin.dll!ucol_equal +icuin.dll!ucol_getAttribute +icuin.dll!ucol_getAvailable +icuin.dll!ucol_getBound +icuin.dll!ucol_getContractionsAndExpansions +icuin.dll!ucol_getDisplayName +icuin.dll!ucol_getEquivalentReorderCodes +icuin.dll!ucol_getFunctionalEquivalent +icuin.dll!ucol_getKeywords +icuin.dll!ucol_getKeywordValues +icuin.dll!ucol_getKeywordValuesForLocale +icuin.dll!ucol_getLocaleByType +icuin.dll!ucol_getMaxExpansion +icuin.dll!ucol_getMaxVariable +icuin.dll!ucol_getOffset +icuin.dll!ucol_getReorderCodes +icuin.dll!ucol_getRules +icuin.dll!ucol_getRulesEx +icuin.dll!ucol_getSortKey +icuin.dll!ucol_getStrength +icuin.dll!ucol_getTailoredSet +icuin.dll!ucol_getUCAVersion +icuin.dll!ucol_getVariableTop +icuin.dll!ucol_getVersion +icuin.dll!ucol_greater +icuin.dll!ucol_greaterOrEqual +icuin.dll!ucol_keyHashCode +icuin.dll!ucol_mergeSortkeys +icuin.dll!ucol_next +icuin.dll!ucol_nextSortKeyPart +icuin.dll!ucol_open +icuin.dll!ucol_openAvailableLocales +icuin.dll!ucol_openBinary +icuin.dll!ucol_openElements +icuin.dll!ucol_openRules +icuin.dll!ucol_previous +icuin.dll!ucol_primaryOrder +icuin.dll!ucol_reset +icuin.dll!ucol_safeClone +icuin.dll!ucol_secondaryOrder +icuin.dll!ucol_setAttribute +icuin.dll!ucol_setMaxVariable +icuin.dll!ucol_setOffset +icuin.dll!ucol_setReorderCodes +icuin.dll!ucol_setStrength +icuin.dll!ucol_setText +icuin.dll!ucol_strcoll +icuin.dll!ucol_strcollIter +icuin.dll!ucol_strcollUTF8 +icuin.dll!ucol_tertiaryOrder +icuin.dll!ucsdet_close +icuin.dll!ucsdet_detect +icuin.dll!ucsdet_detectAll +icuin.dll!ucsdet_enableInputFilter +icuin.dll!ucsdet_getAllDetectableCharsets +icuin.dll!ucsdet_getConfidence +icuin.dll!ucsdet_getLanguage +icuin.dll!ucsdet_getName +icuin.dll!ucsdet_getUChars +icuin.dll!ucsdet_isInputFilterEnabled +icuin.dll!ucsdet_open +icuin.dll!ucsdet_setDeclaredEncoding +icuin.dll!ucsdet_setText +icuin.dll!udat_adoptNumberFormat +icuin.dll!udat_adoptNumberFormatForFields +icuin.dll!udat_applyPattern +icuin.dll!udat_clone +icuin.dll!udat_close +icuin.dll!udat_countAvailable +icuin.dll!udat_countSymbols +icuin.dll!udat_format +icuin.dll!udat_formatCalendar +icuin.dll!udat_formatCalendarForFields +icuin.dll!udat_formatForFields +icuin.dll!udat_get2DigitYearStart +icuin.dll!udat_getAvailable +icuin.dll!udat_getBooleanAttribute +icuin.dll!udat_getCalendar +icuin.dll!udat_getContext +icuin.dll!udat_getLocaleByType +icuin.dll!udat_getNumberFormat +icuin.dll!udat_getNumberFormatForField +icuin.dll!udat_getSymbols +icuin.dll!udat_isLenient +icuin.dll!udat_open +icuin.dll!udat_parse +icuin.dll!udat_parseCalendar +icuin.dll!udat_set2DigitYearStart +icuin.dll!udat_setBooleanAttribute +icuin.dll!udat_setCalendar +icuin.dll!udat_setContext +icuin.dll!udat_setLenient +icuin.dll!udat_setNumberFormat +icuin.dll!udat_setSymbols +icuin.dll!udat_toCalendarDateField +icuin.dll!udat_toPattern +icuin.dll!udatpg_addPattern +icuin.dll!udatpg_clone +icuin.dll!udatpg_close +icuin.dll!udatpg_getAppendItemFormat +icuin.dll!udatpg_getAppendItemName +icuin.dll!udatpg_getBaseSkeleton +icuin.dll!udatpg_getBestPattern +icuin.dll!udatpg_getBestPatternWithOptions +icuin.dll!udatpg_getDateTimeFormat +icuin.dll!udatpg_getDecimal +icuin.dll!udatpg_getPatternForSkeleton +icuin.dll!udatpg_getSkeleton +icuin.dll!udatpg_open +icuin.dll!udatpg_openBaseSkeletons +icuin.dll!udatpg_openEmpty +icuin.dll!udatpg_openSkeletons +icuin.dll!udatpg_replaceFieldTypes +icuin.dll!udatpg_replaceFieldTypesWithOptions +icuin.dll!udatpg_setAppendItemFormat +icuin.dll!udatpg_setAppendItemName +icuin.dll!udatpg_setDateTimeFormat +icuin.dll!udatpg_setDecimal +icuin.dll!udtitvfmt_close +icuin.dll!udtitvfmt_format +icuin.dll!udtitvfmt_open +icuin.dll!ufieldpositer_close +icuin.dll!ufieldpositer_next +icuin.dll!ufieldpositer_open +icuin.dll!ufmt_close +icuin.dll!ufmt_getArrayItemByIndex +icuin.dll!ufmt_getArrayLength +icuin.dll!ufmt_getDate +icuin.dll!ufmt_getDecNumChars +icuin.dll!ufmt_getDouble +icuin.dll!ufmt_getInt64 +icuin.dll!ufmt_getLong +icuin.dll!ufmt_getObject +icuin.dll!ufmt_getType +icuin.dll!ufmt_getUChars +icuin.dll!ufmt_isNumeric +icuin.dll!ufmt_open +icuin.dll!ugender_getInstance +icuin.dll!ugender_getListGender +icuin.dll!ulocdata_close +icuin.dll!ulocdata_getCLDRVersion +icuin.dll!ulocdata_getDelimiter +icuin.dll!ulocdata_getExemplarSet +icuin.dll!ulocdata_getLocaleDisplayPattern +icuin.dll!ulocdata_getLocaleSeparator +icuin.dll!ulocdata_getMeasurementSystem +icuin.dll!ulocdata_getNoSubstitute +icuin.dll!ulocdata_getPaperSize +icuin.dll!ulocdata_open +icuin.dll!ulocdata_setNoSubstitute +icuin.dll!umsg_applyPattern +icuin.dll!umsg_autoQuoteApostrophe +icuin.dll!umsg_clone +icuin.dll!umsg_close +icuin.dll!umsg_format +icuin.dll!umsg_getLocale +icuin.dll!umsg_open +icuin.dll!umsg_parse +icuin.dll!umsg_setLocale +icuin.dll!umsg_toPattern +icuin.dll!umsg_vformat +icuin.dll!umsg_vparse +icuin.dll!unum_applyPattern +icuin.dll!unum_clone +icuin.dll!unum_close +icuin.dll!unum_countAvailable +icuin.dll!unum_format +icuin.dll!unum_formatDecimal +icuin.dll!unum_formatDouble +icuin.dll!unum_formatDoubleCurrency +icuin.dll!unum_formatInt64 +icuin.dll!unum_formatUFormattable +icuin.dll!unum_getAttribute +icuin.dll!unum_getAvailable +icuin.dll!unum_getContext +icuin.dll!unum_getDoubleAttribute +icuin.dll!unum_getLocaleByType +icuin.dll!unum_getSymbol +icuin.dll!unum_getTextAttribute +icuin.dll!unum_open +icuin.dll!unum_parse +icuin.dll!unum_parseDecimal +icuin.dll!unum_parseDouble +icuin.dll!unum_parseDoubleCurrency +icuin.dll!unum_parseInt64 +icuin.dll!unum_parseToUFormattable +icuin.dll!unum_setAttribute +icuin.dll!unum_setContext +icuin.dll!unum_setDoubleAttribute +icuin.dll!unum_setSymbol +icuin.dll!unum_setTextAttribute +icuin.dll!unum_toPattern +icuin.dll!unumsys_close +icuin.dll!unumsys_getDescription +icuin.dll!unumsys_getName +icuin.dll!unumsys_getRadix +icuin.dll!unumsys_isAlgorithmic +icuin.dll!unumsys_open +icuin.dll!unumsys_openAvailableNames +icuin.dll!unumsys_openByName +icuin.dll!uplrules_close +icuin.dll!uplrules_open +icuin.dll!uplrules_openForType +icuin.dll!uplrules_select +icuin.dll!uregex_appendReplacement +icuin.dll!uregex_appendReplacementUText +icuin.dll!uregex_appendTail +icuin.dll!uregex_appendTailUText +icuin.dll!uregex_clone +icuin.dll!uregex_close +icuin.dll!uregex_end +icuin.dll!uregex_end64 +icuin.dll!uregex_find +icuin.dll!uregex_find64 +icuin.dll!uregex_findNext +icuin.dll!uregex_flags +icuin.dll!uregex_getFindProgressCallback +icuin.dll!uregex_getMatchCallback +icuin.dll!uregex_getStackLimit +icuin.dll!uregex_getText +icuin.dll!uregex_getTimeLimit +icuin.dll!uregex_getUText +icuin.dll!uregex_group +icuin.dll!uregex_groupCount +icuin.dll!uregex_groupNumberFromCName +icuin.dll!uregex_groupNumberFromName +icuin.dll!uregex_groupUText +icuin.dll!uregex_hasAnchoringBounds +icuin.dll!uregex_hasTransparentBounds +icuin.dll!uregex_hitEnd +icuin.dll!uregex_lookingAt +icuin.dll!uregex_lookingAt64 +icuin.dll!uregex_matches +icuin.dll!uregex_matches64 +icuin.dll!uregex_open +icuin.dll!uregex_openC +icuin.dll!uregex_openUText +icuin.dll!uregex_pattern +icuin.dll!uregex_patternUText +icuin.dll!uregex_refreshUText +icuin.dll!uregex_regionEnd +icuin.dll!uregex_regionEnd64 +icuin.dll!uregex_regionStart +icuin.dll!uregex_regionStart64 +icuin.dll!uregex_replaceAll +icuin.dll!uregex_replaceAllUText +icuin.dll!uregex_replaceFirst +icuin.dll!uregex_replaceFirstUText +icuin.dll!uregex_requireEnd +icuin.dll!uregex_reset +icuin.dll!uregex_reset64 +icuin.dll!uregex_setFindProgressCallback +icuin.dll!uregex_setMatchCallback +icuin.dll!uregex_setRegion +icuin.dll!uregex_setRegion64 +icuin.dll!uregex_setRegionAndStart +icuin.dll!uregex_setStackLimit +icuin.dll!uregex_setText +icuin.dll!uregex_setTimeLimit +icuin.dll!uregex_setUText +icuin.dll!uregex_split +icuin.dll!uregex_splitUText +icuin.dll!uregex_start +icuin.dll!uregex_start64 +icuin.dll!uregex_useAnchoringBounds +icuin.dll!uregex_useTransparentBounds +icuin.dll!uregion_areEqual +icuin.dll!uregion_contains +icuin.dll!uregion_getAvailable +icuin.dll!uregion_getContainedRegions +icuin.dll!uregion_getContainedRegionsOfType +icuin.dll!uregion_getContainingRegion +icuin.dll!uregion_getContainingRegionOfType +icuin.dll!uregion_getNumericCode +icuin.dll!uregion_getPreferredValues +icuin.dll!uregion_getRegionCode +icuin.dll!uregion_getRegionFromCode +icuin.dll!uregion_getRegionFromNumericCode +icuin.dll!uregion_getType +icuin.dll!ureldatefmt_close +icuin.dll!ureldatefmt_combineDateAndTime +icuin.dll!ureldatefmt_format +icuin.dll!ureldatefmt_formatNumeric +icuin.dll!ureldatefmt_open +icuin.dll!usearch_close +icuin.dll!usearch_first +icuin.dll!usearch_following +icuin.dll!usearch_getAttribute +icuin.dll!usearch_getBreakIterator +icuin.dll!usearch_getCollator +icuin.dll!usearch_getMatchedLength +icuin.dll!usearch_getMatchedStart +icuin.dll!usearch_getMatchedText +icuin.dll!usearch_getOffset +icuin.dll!usearch_getPattern +icuin.dll!usearch_getText +icuin.dll!usearch_last +icuin.dll!usearch_next +icuin.dll!usearch_open +icuin.dll!usearch_openFromCollator +icuin.dll!usearch_preceding +icuin.dll!usearch_previous +icuin.dll!usearch_reset +icuin.dll!usearch_setAttribute +icuin.dll!usearch_setBreakIterator +icuin.dll!usearch_setCollator +icuin.dll!usearch_setOffset +icuin.dll!usearch_setPattern +icuin.dll!usearch_setText +icuin.dll!uspoof_areConfusable +icuin.dll!uspoof_areConfusableUTF8 +icuin.dll!uspoof_check +icuin.dll!uspoof_checkUTF8 +icuin.dll!uspoof_clone +icuin.dll!uspoof_close +icuin.dll!uspoof_getAllowedChars +icuin.dll!uspoof_getAllowedLocales +icuin.dll!uspoof_getChecks +icuin.dll!uspoof_getInclusionSet +icuin.dll!uspoof_getRecommendedSet +icuin.dll!uspoof_getRestrictionLevel +icuin.dll!uspoof_getSkeleton +icuin.dll!uspoof_getSkeletonUTF8 +icuin.dll!uspoof_open +icuin.dll!uspoof_openFromSerialized +icuin.dll!uspoof_openFromSource +icuin.dll!uspoof_serialize +icuin.dll!uspoof_setAllowedChars +icuin.dll!uspoof_setAllowedLocales +icuin.dll!uspoof_setChecks +icuin.dll!uspoof_setRestrictionLevel +icuin.dll!utmscale_fromInt64 +icuin.dll!utmscale_getTimeScaleValue +icuin.dll!utmscale_toInt64 +icuin.dll!utrans_clone +icuin.dll!utrans_close +icuin.dll!utrans_countAvailableIDs +icuin.dll!utrans_getSourceSet +icuin.dll!utrans_getUnicodeID +icuin.dll!utrans_openIDs +icuin.dll!utrans_openInverse +icuin.dll!utrans_openU +icuin.dll!utrans_register +icuin.dll!utrans_setFilter +icuin.dll!utrans_toRules +icuin.dll!utrans_trans +icuin.dll!utrans_transIncremental +icuin.dll!utrans_transIncrementalUChars +icuin.dll!utrans_transUChars +icuin.dll!utrans_unregisterID +icuuc.dll!u_austrcpy +icuuc.dll!u_austrncpy +icuuc.dll!u_catclose +icuuc.dll!u_catgets +icuuc.dll!u_catopen +icuuc.dll!u_charAge +icuuc.dll!u_charDigitValue +icuuc.dll!u_charDirection +icuuc.dll!u_charFromName +icuuc.dll!u_charMirror +icuuc.dll!u_charName +icuuc.dll!u_charsToUChars +icuuc.dll!u_charType +icuuc.dll!u_cleanup +icuuc.dll!u_countChar32 +icuuc.dll!u_digit +icuuc.dll!u_enumCharNames +icuuc.dll!u_enumCharTypes +icuuc.dll!u_errorName +icuuc.dll!u_foldCase +icuuc.dll!u_forDigit +icuuc.dll!u_getBidiPairedBracket +icuuc.dll!u_getCombiningClass +icuuc.dll!u_getDataVersion +icuuc.dll!u_getFC_NFKC_Closure +icuuc.dll!u_getIntPropertyMaxValue +icuuc.dll!u_getIntPropertyMinValue +icuuc.dll!u_getIntPropertyValue +icuuc.dll!u_getNumericValue +icuuc.dll!u_getPropertyEnum +icuuc.dll!u_getPropertyName +icuuc.dll!u_getPropertyValueEnum +icuuc.dll!u_getPropertyValueName +icuuc.dll!u_getUnicodeVersion +icuuc.dll!u_getVersion +icuuc.dll!u_hasBinaryProperty +icuuc.dll!u_init +icuuc.dll!u_isalnum +icuuc.dll!u_isalpha +icuuc.dll!u_isbase +icuuc.dll!u_isblank +icuuc.dll!u_iscntrl +icuuc.dll!u_isdefined +icuuc.dll!u_isdigit +icuuc.dll!u_isgraph +icuuc.dll!u_isIDIgnorable +icuuc.dll!u_isIDPart +icuuc.dll!u_isIDStart +icuuc.dll!u_isISOControl +icuuc.dll!u_isJavaIDPart +icuuc.dll!u_isJavaIDStart +icuuc.dll!u_isJavaSpaceChar +icuuc.dll!u_islower +icuuc.dll!u_isMirrored +icuuc.dll!u_isprint +icuuc.dll!u_ispunct +icuuc.dll!u_isspace +icuuc.dll!u_istitle +icuuc.dll!u_isUAlphabetic +icuuc.dll!u_isULowercase +icuuc.dll!u_isupper +icuuc.dll!u_isUUppercase +icuuc.dll!u_isUWhiteSpace +icuuc.dll!u_isWhitespace +icuuc.dll!u_isxdigit +icuuc.dll!u_memcasecmp +icuuc.dll!u_memchr +icuuc.dll!u_memchr32 +icuuc.dll!u_memcmp +icuuc.dll!u_memcmpCodePointOrder +icuuc.dll!u_memcpy +icuuc.dll!u_memmove +icuuc.dll!u_memrchr +icuuc.dll!u_memrchr32 +icuuc.dll!u_memset +icuuc.dll!u_setMemoryFunctions +icuuc.dll!u_shapeArabic +icuuc.dll!u_strcasecmp +icuuc.dll!u_strCaseCompare +icuuc.dll!u_strcat +icuuc.dll!u_strchr +icuuc.dll!u_strchr32 +icuuc.dll!u_strcmp +icuuc.dll!u_strcmpCodePointOrder +icuuc.dll!u_strCompare +icuuc.dll!u_strCompareIter +icuuc.dll!u_strcpy +icuuc.dll!u_strcspn +icuuc.dll!u_strFindFirst +icuuc.dll!u_strFindLast +icuuc.dll!u_strFoldCase +icuuc.dll!u_strFromJavaModifiedUTF8WithSub +icuuc.dll!u_strFromUTF32 +icuuc.dll!u_strFromUTF32WithSub +icuuc.dll!u_strFromUTF8 +icuuc.dll!u_strFromUTF8Lenient +icuuc.dll!u_strFromUTF8WithSub +icuuc.dll!u_strFromWCS +icuuc.dll!u_strHasMoreChar32Than +icuuc.dll!u_strlen +icuuc.dll!u_strncasecmp +icuuc.dll!u_strncat +icuuc.dll!u_strncmp +icuuc.dll!u_strncmpCodePointOrder +icuuc.dll!u_strncpy +icuuc.dll!u_strpbrk +icuuc.dll!u_strrchr +icuuc.dll!u_strrchr32 +icuuc.dll!u_strrstr +icuuc.dll!u_strspn +icuuc.dll!u_strstr +icuuc.dll!u_strToJavaModifiedUTF8 +icuuc.dll!u_strtok_r +icuuc.dll!u_strToLower +icuuc.dll!u_strToTitle +icuuc.dll!u_strToUpper +icuuc |