Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 36 additions & 36 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,73 +14,73 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.GenAPI" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenFacades" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.GenFacades" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.21418.12">
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Test.Sdk" Version="16.9.0-preview-20201201-01">
<Uri>https://github.com/microsoft/vstest</Uri>
Expand Down Expand Up @@ -202,9 +202,9 @@
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>e9669dc84ecd668d3bbb748758103e23b394ffef</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.PackageTesting" Version="6.0.0-beta.21418.12">
<Dependency Name="Microsoft.DotNet.PackageTesting" Version="6.0.0-beta.21427.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ac8b7514ca8bcac1d071a16b7a92cb52f7058871</Sha>
<Sha>474307e526160c813c9fd58060eb8356ccca6099</Sha>
</Dependency>
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.21416.5">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
Expand Down
34 changes: 17 additions & 17 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@
<ProjectServicingConfiguration Include="Microsoft.NETCore.App.Ref" PatchVersion="0" />
</ItemGroup>
<PropertyGroup>
<!-- For source generator support we need to target a pinned version in order to be able to run on older versions of Roslyn -->
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>3.9.0</MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<MicrosoftCodeAnalysisVersion>3.9.0</MicrosoftCodeAnalysisVersion>
<!-- For source generator support we are targeting the latest version of Roslyn for now, until we can support multi-targeting -->
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>4.0.0-3.final</MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<MicrosoftCodeAnalysisVersion>4.0.0-3.final</MicrosoftCodeAnalysisVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Code analysis dependencies -->
Expand All @@ -52,20 +52,20 @@
<!-- SDK dependencies -->
<MicrosoftDotNetCompatibilityVersion>1.0.0-rc.2.21419.17</MicrosoftDotNetCompatibilityVersion>
<!-- Arcade dependencies -->
<MicrosoftDotNetApiCompatVersion>6.0.0-beta.21418.12</MicrosoftDotNetApiCompatVersion>
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.21418.12</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetCodeAnalysisVersion>6.0.0-beta.21418.12</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>6.0.0-beta.21418.12</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>6.0.0-beta.21418.12</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.21418.12</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.21418.12</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.21418.12</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.21418.12</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.21418.12</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>6.0.0-beta.21418.12</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.21418.12</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.21418.12</MicrosoftDotNetVersionToolsTasksVersion>
<MicrosoftDotNetPackageTestingVersion>6.0.0-beta.21418.12</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetApiCompatVersion>6.0.0-beta.21427.6</MicrosoftDotNetApiCompatVersion>
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.21427.6</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetCodeAnalysisVersion>6.0.0-beta.21427.6</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>6.0.0-beta.21427.6</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>6.0.0-beta.21427.6</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.21427.6</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.21427.6</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.21427.6</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.21427.6</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.21427.6</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>6.0.0-beta.21427.6</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.21427.6</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.21427.6</MicrosoftDotNetVersionToolsTasksVersion>
<MicrosoftDotNetPackageTestingVersion>6.0.0-beta.21427.6</MicrosoftDotNetPackageTestingVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
5 changes: 4 additions & 1 deletion eng/common/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,10 @@ function InitializeCustomToolset {
}

function Build {
TryLogClientIpAddress

if [[ "$ci" == true ]]; then
TryLogClientIpAddress
fi
InitializeToolset
InitializeCustomToolset

Expand Down
2 changes: 1 addition & 1 deletion eng/common/init-tools-native.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ force=false
download_retries=5
retry_wait_time_seconds=30
global_json_file="$(dirname "$(dirname "${scriptroot}")")/global.json"
declare -A native_assets
declare -a native_assets

. $scriptroot/pipeline-logging-functions.sh
. $scriptroot/native/common-library.sh
Expand Down
8 changes: 6 additions & 2 deletions eng/common/native/common-library.sh
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,12 @@ function NewScriptShim {
fi

if [[ ! -f $tool_file_path ]]; then
Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Specified tool file path:'$tool_file_path' does not exist"
return 1
# try to see if the path is lower cased
tool_file_path="$(echo $tool_file_path | tr "[:upper:]" "[:lower:]")"
if [[ ! -f $tool_file_path ]]; then
Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Specified tool file path:'$tool_file_path' does not exist"
return 1
fi
fi

local shim_contents=$'#!/usr/bin/env bash\n'
Expand Down
8 changes: 6 additions & 2 deletions eng/common/post-build/sourcelink-validation.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,12 @@ $ValidatePackage = {
try {
$Uri = $Link -as [System.URI]

# Only GitHub links are valid
if ($Uri.AbsoluteURI -ne $null -and ($Uri.Host -match 'github' -or $Uri.Host -match 'githubusercontent')) {
if ($Link -match "submodules") {
# Skip submodule links until sourcelink properly handles submodules
$Status = 200
}
elseif ($Uri.AbsoluteURI -ne $null -and ($Uri.Host -match 'github' -or $Uri.Host -match 'githubusercontent')) {
# Only GitHub links are valid
$Status = (Invoke-WebRequest -Uri $Link -UseBasicParsing -Method HEAD -TimeoutSec 5).StatusCode
}
else {
Expand Down
4 changes: 3 additions & 1 deletion eng/common/sdk-task.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ try {
}

if ($restore) {
Try-LogClientIpAddress
if ($ci) {
Try-LogClientIpAddress
}
Build 'Restore'
}

Expand Down
2 changes: 1 addition & 1 deletion eng/common/templates/job/job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:

- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- task: MicroBuildSigningPlugin@2
- task: MicroBuildSigningPlugin@3
displayName: Install MicroBuild plugin
inputs:
signType: $(_SignType)
Expand Down
6 changes: 3 additions & 3 deletions eng/common/tools.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
return $global:_DotNetInstallDir
}

# In case of network error, try to log the current IP for reference
Try-LogClientIpAddress

# Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism
$env:DOTNET_MULTILEVEL_LOOKUP=0

Expand All @@ -166,6 +163,9 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
# Disable telemetry on CI.
if ($ci) {
$env:DOTNET_CLI_TELEMETRY_OPTOUT=1

# In case of network error, try to log the current IP for reference
Try-LogClientIpAddress
}

# Source Build uses DotNetCoreSdkDir variable
Expand Down
2 changes: 1 addition & 1 deletion eng/common/tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ function StopProcesses {
function TryLogClientIpAddress () {
echo 'Attempting to log this client''s IP for Azure Package feed telemetry purposes'
if command -v curl > /dev/null; then
curl -s 'http://co1.msedge.net/fdv2/diagnostics.aspx' | grep ' IP: '
curl -s 'http://co1.msedge.net/fdv2/diagnostics.aspx' | grep ' IP: ' || true
fi
}

Expand Down
8 changes: 4 additions & 4 deletions global.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
"python3": "3.7.1"
},
"msbuild-sdks": {
"Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21418.12",
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21418.12",
"Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21418.12",
"Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21418.12",
"Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21427.6",
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21427.6",
"Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21427.6",
"Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21427.6",
"Microsoft.Build.NoTargets": "3.1.0",
"Microsoft.Build.Traversal": "3.0.23",
"Microsoft.NET.Sdk.IL": "6.0.0-rc.1.21415.6"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,18 @@
</ItemGroup>
</Target>

<Target Name="AddCrossgen2SymbolFilesToPackage" BeforeTargets="GetFilesToPackage">
<ItemGroup>
<_Crossgen2SymbolFilesToPackage Include="@(Reference->'$(CoreCLRArtifactsPath)PDB\%(FileName).pdb')" />
<!-- Symbol files for JIT libraries are placed in a different location for Windows builds -->
<_Crossgen2SymbolFilesToPackage Include="@(NativeRuntimeAsset->'$(CoreCLRArtifactsPdbDir)%(FileName).pdb')" Condition="'$(TargetOS)' == 'windows' and '%(FileName)' != 'crossgen2'" />
<_Crossgen2SymbolFilesToPackage Include="@(NativeRuntimeAsset->'$(CoreCLRArtifactsPath)%(FileName)%(Extension)$(SymbolsSuffix)')" Condition="'$(TargetOS)' != 'windows' and '%(FileName)' != 'crossgen2'" />
<_Crossgen2SymbolFilesToPackage Remove="@(_Crossgen2SymbolFilesToPackage)" Condition="!Exists('%(Identity)')" />

<_SymbolFilesToPackage Include="@(_Crossgen2SymbolFilesToPackage)" TargetPath="tools/" />
</ItemGroup>
</Target>

<PropertyGroup Condition="'$(TargetOS)' == 'windows'">
<!-- DiaSymReader for the target architecture, which is placed into the package -->
<_diaSymTargetArch>$(TargetArchitecture)</_diaSymTargetArch>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Runtime.InteropServices;

internal static partial class Interop
{
internal static partial class Sys
{
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_SearchPath_TempDirectory")]
internal static extern string SearchPathTempDirectory();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,29 @@ internal static partial class Kernel32
internal const uint SYMLINK_FLAG_RELATIVE = 1;

// https://msdn.microsoft.com/library/windows/hardware/ff552012.aspx
// We don't need all the struct fields; omitting the rest.
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct REPARSE_DATA_BUFFER
internal unsafe struct SymbolicLinkReparseBuffer
{
internal uint ReparseTag;
internal ushort ReparseDataLength;
internal ushort Reserved;
internal SymbolicLinkReparseBuffer ReparseBufferSymbolicLink;
internal ushort SubstituteNameOffset;
internal ushort SubstituteNameLength;
internal ushort PrintNameOffset;
internal ushort PrintNameLength;
internal uint Flags;
}

[StructLayout(LayoutKind.Sequential)]
internal struct SymbolicLinkReparseBuffer
{
internal ushort SubstituteNameOffset;
internal ushort SubstituteNameLength;
internal ushort PrintNameOffset;
internal ushort PrintNameLength;
internal uint Flags;
}
[StructLayout(LayoutKind.Sequential)]
internal struct MountPointReparseBuffer
{
public uint ReparseTag;
public ushort ReparseDataLength;
public ushort Reserved;
public ushort SubstituteNameOffset;
public ushort SubstituteNameLength;
public ushort PrintNameOffset;
public ushort PrintNameLength;
}
}
}
Loading