Merge branch 'main' into mikebattista/gdiplusflat

This commit is contained in:
Mike Battista 2023-05-28 19:19:36 -07:00
Родитель a21741307f 93fbe9eea4
Коммит 104d37c4d5
228 изменённых файлов: 168036 добавлений и 22723 удалений

20
.gitmodules поставляемый
Просмотреть файл

@ -1,4 +1,24 @@
[submodule "ext/Console-Docs"]
path = ext/Console-Docs
url = https://github.com/MicrosoftDocs/Console-Docs
shallow = true
[submodule "ext/office-developer-client-docs"]
path = ext/office-developer-client-docs
url = https://github.com/MicrosoftDocs/office-developer-client-docs
shallow = true
[submodule "ext/sdk-api"]
path = ext/sdk-api
url = https://github.com/MicrosoftDocs/sdk-api
shallow = true
[submodule "ext/sql-docs"]
path = ext/sql-docs
url = https://github.com/MicrosoftDocs/sql-docs
shallow = true
[submodule "ext/Virtualization-Documentation"]
path = ext/Virtualization-Documentation
url = https://github.com/MicrosoftDocs/Virtualization-Documentation
shallow = true
[submodule "ext/win32"]
path = ext/win32
url = https://github.com/MicrosoftDocs/win32
shallow = true

Просмотреть файл

@ -4,7 +4,6 @@
<ProjectReference Include="..\sources\ConstantsScraper\ConstantsScraper.csproj"/>
<ProjectReference Include="..\sources\ClangSharpSourceToWinmd\ClangSharpSourceToWinmd.csproj"/>
<ProjectReference Include="..\sources\WinmdUtils\WinmdUtils.csproj"/>
<ProjectReference Include="..\sources\Win32MetadataInterop\Win32MetadataInterop.csproj"/>
</ItemGroup>
<ItemGroup>
@ -15,6 +14,6 @@
<PackageReference Include="Microsoft.Windows.SDK.Win32Metadata" Version="$(LastWin32MetadataReleaseVersion)" GeneratePathProperty="True">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Direct3D.D3D12" Version="1.608.2" GeneratePathProperty="true"/>
<PackageReference Include="Microsoft.Direct3D.D3D12" Version="1.610.0" GeneratePathProperty="true"/>
</ItemGroup>
</Project>

Просмотреть файл

@ -15,6 +15,7 @@ You can contribute to this project by contributing to:
* [Namespaces](#Namespaces)
* [Enums](#Enums)
* [Constants](#Constants)
* [Typedefs](#Typedefs)
* [Attributes](#Attributes)
* [Projections](docs/projections.md)
@ -154,9 +155,40 @@ The ConstantsScraper uses [regular expression matching](sources/MetadataUtils/Co
Constants are removed from the metadata when they are detected as members of an enum.
## Typedefs
Typedefs are friendly aliases for types that add more intuitive names and type safety to APIs. Typedefs in the metadata are defined in [autotypes.json](generation/WinSDK/autoTypes.json). Each object in the JSON array is a typedef with the following properties:
* `Namespace` - Optional property indicating the namespace for the typedef
* Note: If omitted, the typedef will inherit the namespace of the `CloseApi`
* `Name` - The name of the typedef
* `ValueType` - The type that the typedef represents. In addition to base types, the below [special patterns](https://github.com/microsoft/win32metadata/blob/e49534798f50469837c93dbcefa02c2ca952dd08/sources/GeneratorSdk/MetadataTasks/PrepSettingsForAutoTypes.cs#L40-L73) are recognized:
* `DECLARE_HANDLE` - For typedefs defined with the `DECLARE_HANDLE` macro in the headers
* `typedef struct <TYPE>` - For opaque structs
* Note: These special patterns automatically handle the remaps and exclusions necessary to achieve the optimal result so should always be used when applicable
* `CloseApi` - Optional property indicating the API that must be used to close the handle
* `InvalidHandleValues` - A list of invalid values for the handle
* `NativeTypedef` - Whether this typedef exists in the native headers
* Note: While adding metadata-only typedefs can improve API usability, projections may wish to ignore typedefs that don't exist in the headers to provide an experience closer to the native headers. This property allows projections to differentiate native typedefs vs. metadata typedefs.
In the example below, a native typedef called `BCRYPT_KEY_HANDLE` is defined representing `void*` aligned with the original typedef from the headers `typedef PVOID BCRYPT_KEY_HANDLE;`. The typedef must be closed with `BCryptDestroyKey` and has an `InvalidHandleValue` of `0`. Since no `Namespace` is specified, the typedef will live in the same namespace as `BCryptDestroyKey`.
```json
{
"Name": "BCRYPT_KEY_HANDLE",
"ValueType": "void*",
"CloseApi": "BCryptDestroyKey",
"AlsoUsableFor": "BCRYPT_HANDLE",
"InvalidHandleValues": [ 0 ],
"NativeTypedef": true
}
```
You can add new typedefs or modify existing typedefs by modifying [autotypes.json](generation/WinSDK/autoTypes.json).
## Attributes
Our tooling defines several [attributes](sources/Win32MetadataInterop) that can be applied to APIs to provide useful context to language projections.
Our tooling defines several [attributes](generation/WinSDK/manual/Metadata.cs) that can be applied to APIs to provide useful context to language projections.
To apply an attribute to an API, update the `--memberRemap` section of [emitter.settings.rsp](generation/WinSDK/emitter.settings.rsp) in one of the following ways:
@ -186,7 +218,7 @@ If CI builds pass but local builds of the same commit fail with cryptic error me
### Incremental builds
Run `./DoAll.ps1` in [PowerShell 7](https://aka.ms/powershell-release?tag=stable) to run an incremental build, then inspect the reported winmd diff to ensure all changes were intentional. `./DoAll.ps1` without `-Clean` will recognize what files have changed and build only the necessary components required for those changes.
Run `./DoAll.ps1 -ExcludePackages -ExcludeSamples` in [PowerShell 7](https://aka.ms/powershell-release?tag=stable) to run an incremental build, then inspect the reported winmd diff to ensure all changes were intentional. `./DoAll.ps1` without `-Clean` will recognize what files have changed and build only the necessary components required for those changes. Building NuGet packages and WinmdGenerator samples isn't usually necessary for local builds, so excluding them with `ExcludePackages` and `ExcludeSamples` will provide the fastest build times.
Note that stale artifacts on your system may sometimes result in cryptic errors when attempting incremental builds. If you do encounter cryptic errors during incremental builds that you suspect are the result of previously built changes, reset your system state by running a clean build with `./DoAll.ps1 -Clean`.

Просмотреть файл

@ -25,7 +25,7 @@
<PackageProjectUrl>https://github.com/microsoft/win32metadata</PackageProjectUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageIcon>images/windows.png</PackageIcon>
<LastWin32MetadataReleaseVersion>48.0.19-preview</LastWin32MetadataReleaseVersion>
<LastWin32MetadataReleaseVersion>52.0.65-preview</LastWin32MetadataReleaseVersion>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -14,13 +14,14 @@ To call Win32 APIs from the language of your choice based off of this metadata,
* Beef - https://github.com/jayrulez/Win32-Beef (Community)
* D - https://github.com/rumbu13/windows-d (Community)
* Dart - https://github.com/timsneath/win32 (Community)
* Python - https://github.com/ynkdir/py-win32more (Community)
* Zig - https://github.com/marlersoft/zigwin32 (Community)
Note: Community projects are listed here to help with discovery but are not officially validated by Microsoft.
See the [roadmap](./docs/roadmap.md) and [FAQ](./docs/faq.md) for more details.
If you'd like to browse the metadata to see what we're emitting, extract Windows.Win32.winmd and Windows.Win32.Interop.dll from the [Microsoft.Windows.SDK.Win32Metadata](https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/) NuGet package and load Windows.Win32.winmd in [ILSpy](https://github.com/icsharpcode/ILSpy/releases/latest). Download the package and rename it to .zip to browse and extract its content.
If you'd like to browse the metadata to see what we're emitting, extract Windows.Win32.winmd from the [Microsoft.Windows.SDK.Win32Metadata](https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/) NuGet package and load Windows.Win32.winmd in [ILSpy](https://github.com/icsharpcode/ILSpy/releases/latest). Download the package and rename it to .zip to browse and extract its content.
![ILSpy with winmd](./images/ILSpyWithWinmd.png)
@ -31,89 +32,15 @@ Below are some principles that guide the metadata that we produce:
* Provide the broadest API coverage possible
* Keep the names of the original APIs, but express in metadata additional information that can make them easier to use.
* Convert non-specific types like `uint` that use constants into explicit enums to improve usability and discoverability. Keep enum member names consistent with the original constant names to preserve SEO.
* Express Win32 resources like `HANDLE` and `GDI` objects as strongly-typed structs. The definition of these structs include how to dispose of the resources (like `CloseHandle` or `DeleteObject`). It is up to language projections to make use of this information in a language-specific way. For example, a C# projection could use `SafeHandle` objects for `HANDLE` and `GDI` objects.
* Express Win32 typedefs like `HANDLE` and `GDI` objects as strongly-typed structs. The definition of these structs include how to dispose of the resources (like `CloseHandle` or `DeleteObject`). It is up to language projections to make use of this information in a language-specific way. For example, a C# projection could use `SafeHandle` objects for `HANDLE` and `GDI` objects.
# Architecture
This project uses [ClangSharp](https://github.com/Microsoft/ClangSharp) to scrape Windows SDK headers into C# files. It uses libraries from the Windows SDK to figure out what the DLL imports are for each API function. The project is split into partitions that roughly translate into namespaces. ClangSharp creates a .cs file for each partition that it processes.
See [ARCHITECTURE.md](docs/architecture.md).
Once the C# files are written by ClangSharp, the emitter turns these files into a Windows Metadata (.winmd) file. Although this is an ECMA-335 binary, it is not directly loadable by the CLR.
# Projections
The resulting .winmd is packaged as a NuGet package which can be used to create language projections for other languages such as C#, modern C++, and Rust.
# ClangSharp Overview
ClangSharp emits C# as it encounters types found in C/C++ headers. It will only emit types for headers included in its "traverse" list.
Example for Direct3DDxgi:
[generation/WinSDK/Partitions/Direct3DDxgi/main.cpp](generation/WinSDK/Partitions/Direct3DDxgi/main.cpp):
#include <winnt.h>
#include <winerror.h>
#include <dxgi.h>
#include <dxgi1_2.h>
#include <dxgi1_3.h>
#include <dxgi1_4.h>
#include <dxgi1_5.h>
#include <dxgi1_6.h>
#include <dxgidebug.h>
#include <dxgitype.h>
#include <dxgicommon.h>
#include <dxgiformat.h>
[generation/WinSDK/Partitions/Direct3DDxgi/settings.rsp](generation/WinSDK/Partitions/Direct3DDxgi/settings.rsp):
--traverse
<IncludeRoot>/shared/dxgitype.h
<IncludeRoot>/shared/dxgiformat.h
<IncludeRoot>/shared/dxgicommon.h
<IncludeRoot>/shared/dxgi.h
<IncludeRoot>/shared/dxgi1_2.h
<IncludeRoot>/shared/dxgi1_4.h
<IncludeRoot>/shared/dxgi1_6.h
<IncludeRoot>/um/dxgidebug.h
<IncludeRoot>/shared/dxgi1_3.h
<IncludeRoot>/shared/dxgi1_5.h
--namespace
Windows.Win32.Graphics.Dxgi
This means ClangSharp will emit types from the above list of headers when scraping for dxgi.lib. The compiler will see lots of other headers, like what windows.h brings in, but it will only emit types seen in the list above.
## ClangSharp and Remaps
ClangSharp emits C# code as it goes. For example, when it sees this type:
typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
It starts emitting:
public partial struct tagRect
{
public int left;
It has no way of knowing a typedef is coming (RECT). But, we can feed data into ClangSharp that tells it to rename tagRECT to RECT:
[generation/WinSDK/scraper.settings.rsp](generation/WinSDK/scraper.settings.rsp)
tagRECT=RECT
Now when ClangSharp encounters tagRECT it will automatically change the name it uses to RECT.
# Winmd Emitter Overview
ClangSharp was designed to create C#-compilable code from Win32 headers. Because its goal is to create C#-compilable code while also preserving pointers, it can't always express things in the way we would like for metadata which is meant to be language-agnostic. For example, the CLR will not allow managed types such as "interface" or "delegate" to be on an unsafe struct (a struct that gets pointed to or includes pointers). This means ClangSharp emits COM objects as structs instead of interfaces, so that a COM object can exist on an unsafe struct.
The winmd emitter takes the C#-compilable source created by ClangSharp and emits it into a .winmd. A .winmd can define an interface, have a struct use it as a field type, and have a function parameter point at the struct. However, the CLR will not be able to load it because it's invalid to the CLR.
The emitter also looks at SAL attributes that ClangSharp outputs for parameters and adds metadata attributes for const, in/out, COM out pointers, etc. It will also mark fields and parameters via attributes as null-terminated strings while preserving the original pointer type. It is up to consumers of the fields and parameters to interpret the metadata and turn them into language-appropriate types such as a string.
See [PROJECTIONS.md](docs/projections.md).
# Contributing
@ -123,7 +50,7 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md).
## MIT
* All metadata assemblies (e.g. `Windows.Win32.winmd`)
* All tooling in this repository and in the [Microsoft.Windows.SDK.Win32Metadata NuGet package]([url](https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/))
* All tooling in this repository and in the [Microsoft.Windows.SDK.Win32Metadata NuGet package](https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/)
## Windows SDK
* All Windows headers (e.g. RecompiledIdlHeaders) and Interface Definition Language (IDL) files in this repository and in the aforementioned NuGet package.

Просмотреть файл

@ -20,7 +20,7 @@
Outputs="@(DocOutputPath)"
Condition=" '$(DesignTimeBuild)' != 'true' ">
<Message Importance="high" Text="Generating @(DocOutputPath->'%(FullPath)'). This may take a few minutes..." />
<Exec Command="dotnet @(ScraperTool) ../../ext/sdk-api/sdk-api-src/content @(DocOutputPath)"
<Exec Command="dotnet @(ScraperTool) '../../ext/Console-Docs/docs;../../ext/office-developer-client-docs/docs/outlook/mapi;../../ext/sdk-api/sdk-api-src/content;../../ext/sql-docs/docs/odbc/reference/syntax;../../ext/sql-docs/docs/relational-databases/native-client-odbc-extensions-bulk-copy-functions;../../ext/Virtualization-Documentation;../../ext/win32/desktop-src' @(DocOutputPath)"
StandardOutputImportance="high"/>
</Target>

Просмотреть файл

@ -74,15 +74,15 @@ namespace ScrapeDocs
string? enumName = null;
if (uses.Count == 1)
{
var oneValue = uses[0];
if (oneValue.ParameterName.Contains("flags", StringComparison.OrdinalIgnoreCase))
var (methodName, parameterName, _, _) = uses[0];
if (parameterName.Contains("flags", StringComparison.OrdinalIgnoreCase))
{
// Only appears in one method, on a parameter named something like "flags".
enumName = $"{oneValue.MethodName}Flags";
enumName = $"{methodName}Flags";
}
else
{
enumName = $"{oneValue.MethodName}_{oneValue.ParameterName}Flags";
enumName = $"{methodName}_{parameterName}Flags";
}
}
else
@ -106,7 +106,7 @@ namespace ScrapeDocs
if (commonPrefixLength > 1 && firstName[commonPrefixLength - 1] == '_')
{
// The enum values share a common prefix suitable to imply a name for the enum.
enumName = firstName.Substring(0, commonPrefixLength - 1);
enumName = firstName[..(commonPrefixLength - 1)];
}
}
}

Просмотреть файл

@ -0,0 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "Avoids disrupting code organization.", Scope = "member", Target = "~M:ScrapeDocs.Program.ParseDocFile(System.String)~System.Collections.Generic.List{System.ValueTuple{System.String,Microsoft.Windows.SDK.Win32Docs.ApiDetails,System.Collections.Generic.IReadOnlyDictionary{System.String,ScrapeDocs.DocEnum},System.Collections.Generic.IReadOnlyDictionary{System.String,ScrapeDocs.DocEnum}}}")]

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,8 @@
{
"profiles": {
"ScrapeDocs": {
"commandName": "Project",
"commandLineArgs": "../../../ext/Virtualization-Documentation/virtualization/api/hcs/Reference ../../../bin/Debug/apidocs.msgpack"
}
}
}

Просмотреть файл

@ -7,13 +7,21 @@
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|AnyCPU'">
<LangVersion>10.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0|AnyCPU'">
<LangVersion>10.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\Microsoft.Windows.SDK.Win32Docs\ApiDetails.cs" Link="ApiDetails.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="YamlDotNet" Version="11.1.1" />
<PackageReference Include="MessagePack" Version="2.2.85" />
<PackageReference Include="YamlDotNet" Version="11.1.1" />
</ItemGroup>
</Project>

Просмотреть файл

@ -2,9 +2,10 @@
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"inherit": true,
"version": "0.1-alpha",
"versionHeightOffset": 0, // manually +1 each time the ext/sdk-api submodule tree is updated
"versionHeightOffset": 2, // manually +1 each time the ext/sdk-api submodule tree is updated
"pathFilters": [
".",
"../ext/sdk-api" // doesn't work yet: https://github.com/dotnet/Nerdbank.GitVersioning/issues/625
"../ext/sdk-api", // doesn't work yet: https://github.com/dotnet/Nerdbank.GitVersioning/issues/625
"../ext/win32" // doesn't work yet: https://github.com/dotnet/Nerdbank.GitVersioning/issues/625
]
}

135
azure-pipelines-apidocs.yml Normal file
Просмотреть файл

@ -0,0 +1,135 @@
trigger:
branches:
include:
- main
paths:
include:
- apidocs
batch: true
pr:
branches:
include:
- main
paths:
include:
- apidocs
variables:
BuildConfiguration: Release
jobs:
- job: build_docs
displayName: Build API docs
pool:
vmImage: ubuntu-20.04
steps:
- checkout: self
clean: true
submodules: recursive
- task: UseDotNet@2
displayName: ⚙ Install .NET SDK
inputs:
packageType: sdk
useGlobalJson: true
# ESRP Authenticode sign package DLLs
- task: UseDotNet@2
displayName: ⚙ Install .NET Core 2.1.x
inputs:
packageType: runtime
version: 2.1.x
- powershell: dotnet tool update --global nbgv
displayName: ⚙ Install nbgv
- script: dotnet build -c $(BuildConfiguration)
displayName: 🏭 dotnet build
workingDirectory: apidocs
- task: EsrpCodeSigning@1
displayName: ✒ Assembly sign
inputs:
ConnectedServiceName: Xlang Code Signing
FolderPath: $(System.DefaultWorkingDirectory)/bin/$(BuildConfiguration)/netstandard2.0
Pattern: '*.dll'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"keyCode": "CP-230012",
"operationSetCode": "SigntoolSign",
"parameters": [
{
"parameterName": "OpusName",
"parameterValue": "Microsoft"
},
{
"parameterName": "OpusInfo",
"parameterValue": "http://www.microsoft.com"
},
{
"parameterName": "PageHash",
"parameterValue": "/NPH"
},
{
"parameterName": "FileDigest",
"parameterValue": "/fd sha256"
},
{
"parameterName": "TimeStamp",
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
}
],
"toolName": "signtool.exe",
"toolVersion": "6.2.9304.0"
}
]
SessionTimeout: 60
MaxConcurrency: 50
MaxRetryAttempts: 5
condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
- script: dotnet pack Microsoft.Windows.SDK.Win32Docs --no-build -c $(BuildConfiguration) -p:BuildProjectReferences=false
displayName: 📦 dotnet pack
workingDirectory: apidocs
- task: EsrpCodeSigning@1
displayName: ✒ NuGet sign
inputs:
ConnectedServiceName: Xlang Code Signing
FolderPath: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet
Pattern: '*.nupkg'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"KeyCode" : "CP-401405",
"OperationCode" : "NuGetSign",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
},
{
"KeyCode" : "CP-401405",
"OperationCode" : "NuGetVerify",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
}
]
SessionTimeout: 60
MaxConcurrency: 50
MaxRetryAttempts: 5
condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
- publish: bin/Packages/$(BuildConfiguration)/NuGet
artifact: ApiDocsNuGetPackages
displayName: 📢 Publish package
- publish: bin/$(BuildConfiguration)/netstandard2.0/documentationMappings.rsp
artifact: ApiDocsMetadata
displayName: 📢 Publish metadata
# # There's a problem on microsoft.visualstudio.com that requires the guid instead of NuGetCommand@2
# # Don't publish if we're using pre-generated source
# - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
# displayName: 📤 NuGet push
# inputs:
# command: push
# packagesToPush: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet/*.nupkg
# publishVstsFeed: c1408dcb-1833-4ae4-9af5-1a891a12cc3c
# allowPackageConflicts: true
# condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))

Просмотреть файл

@ -1,10 +1,21 @@
trigger:
batch: true
branches:
include:
- main
paths:
exclude:
- apidocs
- docs
batch: true
pr:
- main
branches:
include:
- main
paths:
exclude:
- apidocs
- docs
variables:
BuildConfiguration: Release
@ -169,7 +180,7 @@ jobs:
inputs:
ConnectedServiceName: 'Xlang Code Signing'
FolderPath: '$(Build.SourcesDirectory)\bin'
Pattern: 'Windows.Win32.Interop.dll,Windows.Win32.winmd'
Pattern: 'Windows.Win32.winmd'
signConfigType: 'inlineSignParams'
inlineOperation: |
[
@ -320,116 +331,4 @@ jobs:
packagesToPush: '$(OutputPackagesDir)/**/*.nupkg;!$(OutputPackagesDir)/**/*.symbols.nupkg'
publishVstsFeed: 'c1408dcb-1833-4ae4-9af5-1a891a12cc3c'
allowPackageConflicts: true
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
- job: build_docs
displayName: Build API docs
pool:
vmImage: ubuntu-20.04
steps:
- checkout: self
clean: true
submodules: recursive
- task: UseDotNet@2
displayName: ⚙ Install .NET SDK
inputs:
packageType: sdk
useGlobalJson: true
# ESRP Authenticode sign package DLLs
- task: UseDotNet@2
displayName: ⚙ Install .NET Core 2.1.x
inputs:
packageType: runtime
version: 2.1.x
- powershell: dotnet tool update --global nbgv
displayName: ⚙ Install nbgv
- script: dotnet build -c $(BuildConfiguration)
displayName: 🏭 dotnet build
workingDirectory: apidocs
- task: EsrpCodeSigning@1
displayName: ✒ Assembly sign
inputs:
ConnectedServiceName: Xlang Code Signing
FolderPath: $(System.DefaultWorkingDirectory)/bin/$(BuildConfiguration)/netstandard2.0
Pattern: '*.dll'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"keyCode": "CP-230012",
"operationSetCode": "SigntoolSign",
"parameters": [
{
"parameterName": "OpusName",
"parameterValue": "Microsoft"
},
{
"parameterName": "OpusInfo",
"parameterValue": "http://www.microsoft.com"
},
{
"parameterName": "PageHash",
"parameterValue": "/NPH"
},
{
"parameterName": "FileDigest",
"parameterValue": "/fd sha256"
},
{
"parameterName": "TimeStamp",
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
}
],
"toolName": "signtool.exe",
"toolVersion": "6.2.9304.0"
}
]
SessionTimeout: 60
MaxConcurrency: 50
MaxRetryAttempts: 5
condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
- script: dotnet pack Microsoft.Windows.SDK.Win32Docs --no-build -c $(BuildConfiguration) -p:BuildProjectReferences=false
displayName: 📦 dotnet pack
workingDirectory: apidocs
- task: EsrpCodeSigning@1
displayName: ✒ NuGet sign
inputs:
ConnectedServiceName: Xlang Code Signing
FolderPath: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet
Pattern: '*.nupkg'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"KeyCode" : "CP-401405",
"OperationCode" : "NuGetSign",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
},
{
"KeyCode" : "CP-401405",
"OperationCode" : "NuGetVerify",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
}
]
SessionTimeout: 60
MaxConcurrency: 50
MaxRetryAttempts: 5
condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
- publish: bin/Packages/$(BuildConfiguration)/NuGet
artifact: ApiDocsNuGetPackages
displayName: 📢 Publish package
# There's a problem on microsoft.visualstudio.com that requires the guid instead of NuGetCommand@2
# Don't publish if we're using pre-generated source
- task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
displayName: 📤 NuGet push
inputs:
command: push
packagesToPush: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet/*.nupkg
publishVstsFeed: c1408dcb-1833-4ae4-9af5-1a891a12cc3c
allowPackageConflicts: true
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))

Просмотреть файл

@ -1,49 +0,0 @@
# Win32 Metadata SDK Overview
## Goals
Provide the public surface area of the Win32 SDK in a language-agnostic format that can be projected into other languages such as modern C++, C# and Rust.
## Motivation
The public API surface area of Win32 is described with C/C++ headers. These are not easily parseable for those who want to make an interop layer from different languages to Win32 APIs. As other languages gain in popularity, we would like to meet developers where they're at and provide a way for them to make use of Win32 APIs in languages other than C/C++. Once we are able to describe the Win32 API surface in metadata, we can create language projections so developers can call Win32 APIs from those languages.
## Metadata Format
### ECMA-335
We have chosen to use [ECMA-335](http://www.ecma-international.org/publications/standards/Ecma-335.htm) to represent Win32 metdata. ECMA-335 is the binary format used for .NET binaries.
#### Pros
- This format is currently used for WinRT metadata (.winmd files) and is already consumed by [C++/WinRT](https://github.com/Microsoft/cppwinrt) and [Rust WinRT](https://github.com/Microsoft/cppwinrt) in order to project WinRT APIs. These two projects already have tooling to parse and consume ECMA-335 binaries, so consuming ECMA-335 metadata for Win32 APIs should be less work than using a completely new format.
- Managed code was originally designed to work well with Win32 interop, so most of the Win32 concepts we need expressed in metadata should already exist.
- It is trivial to write C# code that uses reflection to examine the metadata from a C# binary.
#### Cons
- ECMA-335 can't express all C constructs, such as bit fields or anonymous structs. We do our best to emit metadata that can be intepreted back to what the original headers intended.
## Architecture
### Scraper/Emitter: ClangSharp
A tool that can accurately scrape Win32 C/C++ headers for the information needed to construct language-agnostic metadata. It should be able to capture:
- API functions and which DLL exports each function
- structs, including unions and embedded structs, packing information, and bit fields
- Function pointers for APIs that use callback semantics
- enums
- In/out/optional semantics (like SAL) for each parameter
### Metadata emitter
The emitter will take the output of the scraper and emit metadata. Currently there is information we need emitted that isn't in the current Win32 headers. This could be added to the headers in the future, but for now the emitter will need additional input:
- Which functions call `SetLastError`.
- Which parameters and fields that represent Win32 resources (e.g. handles and GDI objects) are logically grouped together and which Win32 function can be called to release them (e.g. file handles vs. registry handles vs. GDI objects).
- Many functions use a non-enum type, like a DWORD, and then use many #define statements to describe the possible values that function can recognize for tht parameter.
### Language projections
We will need individual tools that turn the ABI represented in metadata into language-specific projections.
- Modern C++ -- someone might ask, why would you need this when you can just use the C-style APIs? This projection could use RAII types for Win32 resources (e.g. handles and GDI objects). It could also potentially use exceptions by interpreting the C-style return codes.
- Rust
- C# -- we would expect this to use SafeHandle abstractions for Win32 resources (e.g. handles and GDI objects), string objects for strings instead of char*/wchar*, etc.

76
docs/architecture.md Normal file
Просмотреть файл

@ -0,0 +1,76 @@
# Architecture
The [Scraper](#scraper) layer is responsible for traversing header files and generating C# files.
The [Emitter](#emitter) layer is responsible for traversing the generated C# files and generating Windows.Win32.winmd.
The [WinmdGenerator](#winmdgenerator) packages the Scraper and Emitter tooling into an [MSBuild project SDK](https://learn.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk) that acts as the interface for converting C/C++ projects to winmds for use with language projections.
## Scraper
The Scraper layer is responsible for traversing header files and generating C# files.
### ClangSharp
[ClangSharp](https://github.com/dotnet/ClangSharp) traverses header files as defined within [Partitions](../generation/WinSDK/Partitions) and generates C# files within [generated](../generation/WinSDK/obj/generated).
The base settings passed into ClangSharp are defined within [baseSettings.rsp](../sources/GeneratorSdk/tools/assets/scraper/baseSettings.rsp) along with adjacent architecture-specific response files.
Project-specific settings are included within [scraper.settings.rsp](../generation/WinSDK/scraper.settings.rsp) along with adjacent domain-specific response files like [libMappings.rsp](../generation/WinSDK/libMappings.rsp), [supportedOS.rsp](../generation/WinSDK/supportedOS.rsp), and [WithSetLastError.rsp](../generation/WinSDK/WithSetLastError.rsp).
[scraper.header.txt](../generation/WinSDK/scraper.header.txt) includes using statements that are added to the generated C# files to resolve cross-namespace dependencies.
### ConstantsScraper
[ConstantsScraper](../sources/MetadataUtils/ConstantsScraper.cs) walks the header files included within [Partitions](../generation/WinSDK/Partitions) and generates C# constants based on regular expression pattern matching.
The base settings passed into ConstantsScraper are defined within [baseSettings.ConstantsScraper.rsp](../sources/GeneratorSdk/tools/assets/scraper/baseSettings.ConstantsScraper.rsp).
Project-specific settings are included within [ConstantsScraper.settings.rsp](../generation/WinSDK/ConstantsScraper.settings.rsp).
[ConstantsScraper.header.txt](../generation/WinSDK/ConstantsScraper.header.txt) includes using statements that are added to the generated C# files to resolve cross-namespace dependencies.
## Emitter
The Emitter layer is responsible for traversing the generated C# files and generating Windows.Win32.winmd.
[ECMA-335](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) defines the format of winmd files. ECMA-335 is the binary format used by .NET binaries.
* WinRT winmd files use this format
* Many Win32 concepts already supported from .NET interop
* Reflection-based APIs provide a simple interface for parsing the metadata directly
* Reflection-based APIs provide a simple means to convert winmd to other formats like JSON
The Emitter layer augments ECMA-335 by applying additional patterns and custom attributes that allow language projections to understand Win32-specific semantics and provide an improved developer experience. See [PROJECTIONS.md](projections.md).
### ClangSharpSourceCompilation
This class orchestrates the manipulation and compilation of the generated C# files.
Project-specific settings are included within [emitter.settings.rsp](../generation/WinSDK/emitter.settings.rsp).
ClangSharp was designed to create C#-compilable code from Win32 headers. Because its goal is to create C#-compilable code while also preserving pointers, it can't always express things in the way we would like for metadata, which is meant to be language-agnostic. For example, the CLR will not allow managed types such as "interface" or "delegate" to be on an unsafe struct (a struct that gets pointed to or includes pointers). This means ClangSharp emits COM objects as structs instead of interfaces, so that a COM object can exist on an unsafe struct. A .winmd does not have such restrictions, so ClangSharpSourceCompilation handles manipulating the generated CLR-compliant C# files into the language-agnostic metadata representation.
#### NamesToCorrectNamespacesMover
This class moves APIs to namespaces based on [requiredNamespacesForNames.rsp](../generation/WinSDK/requiredNamespacesForNames.rsp).
#### MetadataSyntaxTreeCleaner
This class visits each node in the C# abstract syntax trees (AST) and applies modifications such as remaps and custom attributes.
#### CrossArchTreeMerger
This class handles merging C# files from multiple architectures to identify architecture-specific APIs.
### ClangSharpSourceWinmdGenerator
This class walks the final C# abstract syntax trees (AST) and writes each node to Windows.Win32.winmd.
## WinmdGenerator
The WinmdGenerator packages the Scraper and Emitter tooling into an [MSBuild project SDK](https://learn.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk) that acts as the interface for converting C/C++ projects to winmds for use with language projections.
The WinmdGenerator tooling is published to nuget.org as [Microsoft.Windows.WinmdGenerator](https://www.nuget.org/packages/Microsoft.Windows.WinmdGenerator/). As an MSBuild project SDK, it enables a no-code project file based configuration interface for generating winmd files from arbitrary C/C++ projects.
[win32metadata](https://github.com/microsoft/win32metadata/blob/main/generation/WinSDK/Windows.Win32.proj) and [wdkmetadata](https://github.com/microsoft/wdkmetadata/blob/main/generation/WDK/Windows.Wdk.proj) both demonstrate WinmdGenerator project files. The WinmdGenerator version can be controlled as described [here](https://learn.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk#reference-a-project-sdk).

Просмотреть файл

@ -4,10 +4,10 @@
A. Producing metadata for Win32 APIs enables programmatic generation of language projections with maximum API coverage and minimal maintenance. Language projections produced from this metadata will make Win32 APIs more accessible from more languages with improved API coverage and a better developer experience.
**Q. How do I use the metadata to call Win32 APIs from my preferred language?**<br />
A. Most developers will not consume the metadata directly and will instead use [language projections](projections.md) that themselves consume the metadata and project the APIs into the idiomatic patterns of the languages. We intend to support [C#](https://github.com/microsoft/CsWin32), [C++](https://github.com/microsoft/cppwin32), and [Rust](https://github.com/microsoft/windows-rs) projections initially with plans to coordinate with the community to support additional language projections based on demand. Language projections will be developed independently of the metadata tooling and will live in their own repos.
A. Most developers will not consume the metadata directly and will instead use [language projections](projections.md) that themselves consume the metadata and project the APIs into the idiomatic patterns of the languages. We intend to support [C#](https://github.com/microsoft/CsWin32) and [Rust](https://github.com/microsoft/windows-rs) projections initially with plans to coordinate with the community to support additional language projections based on demand. Language projections will be developed independently of the metadata tooling and will live in their own repos.
**Q. Can I generate metadata for my own C and C++ APIs to make them available in more languages?**<br />
A. Yes. The same tooling we use to produce metadata for Win32 APIs can be used to produce metadata for your own APIs. You can use the [Microsoft.Windows.WinmdGenerator](https://www.nuget.org/packages/Microsoft.Windows.WinmdGenerator/) NuGet package produced from this repository to produce a winmd file for your APIs which can then be used with language projections like [C#/Win32](https://github.com/microsoft/CsWin32) and [Rust](https://github.com/microsoft/windows-rs). See the [Windows SDK](../generation/WinSDK) and [WinmdGenerator samples](../sources/GeneratorSdk/samples) in this repository for example usage of the WinmdGenerator. Also see https://withinrafael.com/2023/01/18/generating-metadata-for-the-windows-crate for more details and an example of producing metadata and associated Rust bindings for the C++ DIA SDK.
A. Yes. The same tooling we use to produce metadata for Win32 APIs can be used to produce metadata for your own APIs. You can use the [Microsoft.Windows.WinmdGenerator](https://www.nuget.org/packages/Microsoft.Windows.WinmdGenerator/) NuGet package produced from this repository to produce a winmd file for your APIs which can then be used with language projections like [C#/Win32](https://github.com/microsoft/CsWin32) and [Rust](https://github.com/microsoft/windows-rs). See [ARCHITECTURE.md](architecture.md#winmdgenerator) and https://withinrafael.com/2023/01/18/generating-metadata-for-the-windows-crate for more details and example usage.
**Q. Can .NET code reference the metadata binary and call its APIs directly?**<br />
A. No. While the metadata binary is compiled based on the ECMA-335 standard, it does not contain the same attributes that the .NET runtime requires to successfully P/Invoke into the functions exported by Windows. .NET code should use an appropriate language projection like [C#/Win32](https://github.com/microsoft/CsWin32).

Просмотреть файл

@ -22,6 +22,7 @@ To call Win32 APIs from the language of your choice based off of this metadata,
* Beef - https://github.com/jayrulez/Win32-Beef (Community)
* D - https://github.com/rumbu13/windows-d (Community)
* Dart - https://github.com/timsneath/win32 (Community)
* Python - https://github.com/ynkdir/py-win32more (Community)
* Zig - https://github.com/marlersoft/zigwin32 (Community)
Note: Community projects are listed here to help with discovery but are not officially validated by Microsoft.
@ -43,22 +44,70 @@ Below are scenarios that are represented in the metadata and that language proje
DISCLAIMER: This list is a work in progress and is not yet comprehensive.
* Namespaces allow users to import only the APIs they require and/or to control any code generation that is producing language bindings
* Entry points are assumed to be the same as function names unless the [EntryPoint](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.entrypoint) property of the `DllImport` attribute is specified
* Calling convention is captured in the [CallingConvention](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.callingconvention) property of the `DllImport` attribute
* typedefs (e.g. `BCRYPT_KEY_HANDLE`) are represented as CLR structs with a single field where the `NativeTypedef` attribute is applied to the struct. The type being defined is given by the name of the struct, and the type it is being defined as is the type of the struct field. typedefs can include the attributes `AlsoUsableFor`, `RAIIFree` and `InvalidHandleValue`:
* The [DllImport](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute) attribute is used to define several properties of a function:
* Entry points are assumed to be the same as function names unless the [EntryPoint](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.entrypoint) property is specified
* Calling convention is captured in the [CallingConvention](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.callingconvention) property
* Whether a function calls `SetLastError` before returning is captured in the [SetLastError](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.setlasterror) property
* Architecture-specific types are represented as types with the same name where each type is decorated with the `[SupportedArchitecture]` attribute indicating the architecture(s) where that type is supported
* Ansi and Unicode variants of APIs (-A/-W) are decorated with `[Ansi]` and `[Unicode]` attributes, respectively. Projections can choose to expose one set or the other and remove the suffix to declutter Intellisense and emulate the [unsuffixed macros provided by the headers](https://github.com/microsoft/win32metadata/blob/3608e3fff8cfecfef728bcf1811cdea9f1e86a46/generation/WinSDK/RecompiledIdlHeaders/um/synchapi.h#L446-L451). ([#711](https://github.com/microsoft/win32metadata/issues/711))
* Documentation links are captured in the `[Documentation]` attribute. Rich documentation to power Intellisense can also be loaded from the [Microsoft.Windows.SDK.Win32Docs](https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Docs/) package which provides a [MessagePack](https://msgpack.org/) dictionary where the keys are API names and the values are [ApiDetails](../apidocs/Microsoft.Windows.SDK.Win32Docs/ApiDetails.cs) objects.
* Input and output parameters are decorated with `[In]` and `[Out]` attributes. Parameters that are both input and output will contain both attributes. COM output pointer parameters are also decorated with the `[ComOutPtr]` attribute.
* Optional parameters are decorated with the `[Optional]` attribute. Optional parameters may be `NULL`.
* Reserved parameters are decorated with the `[Reserved]` attribute. Since reserved parameters always expect a `NULL` value, projections can choose to abstract away these parameters to improve the developer experience.
* Pointer parameters that represent arrays are decorated with the `[NativeArrayInfo]` attribute that can contain the size of a fixed-length array (`CountConst`), the 0-based index of the parameter that defines the size of the array (`CountParamIndex`), or the struct field name (`CountFieldName`) that defines the size of the array
* Pointer parameters whose byte size must be specified in another parameter are decorated with the `[MemorySize]` attribute that will contain the 0-based index of the parameter that can be automatically populated with the size of the provided pointer parameter (`BytesParamIndex`) ([#284](https://github.com/microsoft/win32metadata/issues/284))
* Parameters that accept values from an enum but have conflicting types are decorated with the `[AssociatedEnum]` attribute indicating the enum that may be used with the parameter. The enum must exist in the same namespace as the API. This enables the metadata to preserve the original API definition while allowing projections to improve usability of the API with the enum if they choose. ([#1502](https://github.com/microsoft/win32metadata/issues/1502))
* Output parameters that must be closed with a specific function are decorated with the `[FreeWith]` attribute
* Handle parameters that should not be closed are decorated with the `[DoNotRelease]` attribute
* Handle parameters or return values decorated with `[ReturnsUnownedHandle]` are unowned ([#792](https://github.com/microsoft/win32metadata/issues/792))
* Handle parameters decorated with `[IgnoreIfReturn]` are undefined in failure scenarios and should be ignored if the value specified by the attribute is returned. Multiple return values are represented by multiple attributes. ([#1312](https://github.com/microsoft/win32metadata/issues/1312))
* Return value parameters marked with the `_retval_` SAL annotation are decorated with the `[RetVal]` attribute
* Functions that return multiple success values or return errors as success are decorated with `[CanReturnMultipleSuccessValues]` and `[CanReturnErrorsAsSuccess]` ([#1315](https://github.com/microsoft/win32metadata/issues/1315))
* Variadic functions contain `__arglist` as the final parameter
* Agile interfaces are decorated with the `[Agile]` attribute
* Structs decorated with `[StructSizeField("<FIELDNAME>")]` indicate that `<FIELDNAME>` should be automatically populated with the size of the struct ([#433](https://github.com/microsoft/win32metadata/issues/433))
* NOTE: Examples of `"<FIELDNAME>"` include `"cbSize"` for a field on the struct or `"StartupInfo.cb"` for a nested field like `StartupInfo.cb` on the `STARTUPINFOEXW` struct
* Flexible array members at the end of a struct are decorated with `[FlexibleArray]` ([#912](https://github.com/microsoft/win32metadata/issues/912))
* Native unions are represented as CLR structs whose names follow the pattern `_<NAME>_e__Union` and are decorated with `[StructLayout(LayoutKind.Explicit)]` where all fields are decorated with `[FieldOffset(0)]`. Anonymous unions will use `AnonymousN` in place of `<NAME>` where `N` is an optional number added to differentiate multiple anonymous unions within the same scope. Named unions will preserve the name in place of `<NAME>`. Struct fields that refer to these unions use `<NAME>` for the field names. ([#99](https://github.com/microsoft/win32metadata/issues/99))
* Scoped enums are decorated with the `[ScopedEnum]` attribute
* typedefs (e.g. `BCRYPT_KEY_HANDLE`) are represented as CLR structs with a single field where either the `NativeTypedef` or `MetadataTypedef` attribute is applied to the struct. `NativeTypedef` represents typedefs that exist in the Win32 headers while `MetadataTypedef` represents metadata-only typedefs added to improve API usability. Projections can choose to unwrap `MetadataTypedef` structs in order to align with the original header definitions. The type being defined is given by the name of the struct, and the type it is being defined as is the type of the struct field. typedefs can include the attributes `AlsoUsableFor`, `RAIIFree` and `InvalidHandleValue`:
* `AlsoUsableFor` indicates that the type is implicitly convertible to another type (e.g. `BCRYPT_HANDLE`)
* `RAIIFree` indicates what function should be used to close the handle (e.g. `BCryptDestroyKey`)
* `RAIIFree` indicates the default function that should be used to close the handle (e.g. `HANDLE -> CloseHandle`). `RAIIFree` may also be decorated in context on a return value or `[Out]` parameter to indicate a more specific function that should be used to close the handle (e.g. `HeapCreate -> [return: RAIIFree("HeapDestroy")]`).
* `InvalidHandleValue` attributes indicate invalid handle values (e.g. `0L`)
* NOTE: `BCRYPT_KEY_HANDLE` demonstrates all of these attributes.
* Native unions are represented as CLR structs with an explicit layout where all fields contain an offset of 0
* Array parameters are qualified with the `[NativeArrayInfo]` attribute that can contain the size of a fixed-length array (`CountConst`), the 0-based index of the parameter that defines the size of the array (`CountParamIndex`), or the struct field name (`CountFieldName`) that defines the size of the array
* String constants are considered UTF-16 unless decorated with the `[NativeEncoding("ansi")]` attribute ([#1008](https://github.com/microsoft/win32metadata/issues/1008))
* NOTE: `AlsoUsableFor` and `RAIIFree` APIs exist in the same namespace as the typedef.
* Constant variables marked with the `const` keyword are decorated with the `[Const]` attribute
* Struct initializers are defined as constants where the type of the constant is the struct and the initializer string is contained in the `[Constant]` attribute ([#1337](https://github.com/microsoft/win32metadata/issues/1337))
* NOTE: `SECURITY_NT_AUTHORITY` and all `DEVPROPKEY` and `PROPERTYKEY` constants demonstrate struct initializers.
* String constants are considered UTF-16 unless decorated with the `[NativeEncoding("ansi")]` attribute ([#1008](https://github.com/microsoft/win32metadata/issues/1008))
* Inline functions that return constants are decorated with the `[Constant]` attribute. Projections need to implement these functions themselves to return the constant value. The constant value should be cast to the appropriate type based on the return value of the function. ([#436](https://github.com/microsoft/win32metadata/issues/436))
* `[StructSizeField("<FIELDNAME>")]` on a struct indicates which field of the struct indicates the struct size so that language projections can automatically initialize the field ([#433](https://github.com/microsoft/win32metadata/issues/433))
* NOTE: Examples of `"<FIELDNAME>"` include `"cbSize"` for a field on the struct or `"StartupInfo.cb"` for a nested field like `StartupInfo.cb` on the `STARTUPINFOEXW` struct
* `[CanReturnAlternateSuccessCodes]` and `[CanReturnErrorsAsSuccess]` attributes add semantic information about the possible return values of a function ([#1315](https://github.com/microsoft/win32metadata/issues/1315))
* `[ReturnsUnownedHandle]` on a return value or out parameter indicates the returned handle is unowned ([#792](https://github.com/microsoft/win32metadata/issues/792))
DISCLAIMER: This list is a work in progress and is not yet comprehensive.
### Examples
* [Windows.Win32.UI.WindowsAndMessaging.SetWindowLongPtrW](https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowlongptrw)
* DllImport attribute
* SupportedArchitecture attribute
* Documentation attribute
* NativeTypedef parameter (HWND)
* Enum parameter (WINDOW_LONG_PTR_INDEX)
* [Windows.Win32.Security.Cryptography.BcryptEncrypt](https://learn.microsoft.com/windows/win32/api/bcrypt/nf-bcrypt-bcryptencrypt)
* In attribute
* Out attribute
* Optional attribute
* MemorySize attribute
* [Windows.Win32.Devices.DeviceAndDriverInstallation.SetupWriteTextLog](https://learn.microsoft.com/windows/win32/api/setupapi/nf-setupapi-setupwritetextlog)
* Variadic functions
* [Windows.Win32.System.Diagnostics.Debug.CONTEXT](https://learn.microsoft.com/windows/win32/api/winnt/ns-winnt-context)
* SupportedArchitecture attribute
* [Windows.Win32.Devices.Display.DISPLAYCONFIG_VIDEO_SIGNAL_INFO](https://docs.microsoft.com/windows/win32/api/wingdi/ns-wingdi-displayconfig_video_signal_info)
* Struct and union fields
* Bitfields
* [Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW](https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw)
* StructSizeField attribute
* Delegate fields (WNDPROC)
* [Windows.Win32.Security.Cryptography.BCRYPT_KEY_HANDLE](https://learn.microsoft.com/windows/win32/api/bcrypt/nf-bcrypt-bcryptimportkey)
* NativeTypedef
* AlsoUsableFor attribute
* RAIIFree attribute
* InvalidHandleValue attribute

1
ext/Console-Docs Submodule

@ -0,0 +1 @@
Subproject commit d85d81928ac3df56565acc32a1ea1db80a3fb6c6

@ -0,0 +1 @@
Subproject commit e870bc36bcec2af94ca4395debddb794b4626741

@ -0,0 +1 @@
Subproject commit ff5646762963c1b28ab761a6e5a98b53c3193b6a

@ -1 +1 @@
Subproject commit c251199235b283ada4e0c5afe352077f7453a680
Subproject commit a91766dbffc8eb3a87c4f515e9163de36c646c67

1
ext/sql-docs Submodule

@ -0,0 +1 @@
Subproject commit 898a6b2dec1e78adedf03c0f577f870d4e8b0692

1
ext/win32 Submodule

@ -0,0 +1 @@
Subproject commit b10476b3ba29674f15eeca0915bb5d461d2f4a4b

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0603 */
/* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
@ -24,7 +23,7 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
@ -38,6 +37,14 @@
#pragma once
#endif
#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif
/* Forward Declarations */
#ifndef __IGCHost_FWD_DEFINED__
@ -120,21 +127,28 @@ EXTERN_C const IID IID_IGCHost;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimits(
/* [in] */ DWORD SegmentSize,
/* [in] */ DWORD MaxGen0Size) = 0;
/* [annotation][in] */
_In_ DWORD SegmentSize,
/* [annotation][in] */
_In_ DWORD MaxGen0Size) = 0;
virtual HRESULT STDMETHODCALLTYPE Collect(
/* [in] */ LONG Generation) = 0;
/* [annotation][in] */
_In_ LONG Generation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStats(
/* [out][in] */ COR_GC_STATS *pStats) = 0;
/* [annotation][out][in] */
_Inout_ COR_GC_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadStats(
/* [in] */ DWORD *pFiberCookie,
/* [out][in] */ COR_GC_THREAD_STATS *pStats) = 0;
/* [annotation][in] */
_In_ DWORD *pFiberCookie,
/* [annotation][out][in] */
_Inout_ COR_GC_THREAD_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVirtualMemLimit(
/* [in] */ SIZE_T sztMaxVirtualMemMB) = 0;
/* [annotation][in] */
_In_ SIZE_T sztMaxVirtualMemMB) = 0;
};
@ -145,39 +159,55 @@ EXTERN_C const IID IID_IGCHost;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHost * This,
/* [in] */ REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHost * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHost * This);
DECLSPEC_XFGVIRT(IGCHost, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
IGCHost * This,
/* [in] */ DWORD SegmentSize,
/* [in] */ DWORD MaxGen0Size);
/* [annotation][in] */
_In_ DWORD SegmentSize,
/* [annotation][in] */
_In_ DWORD MaxGen0Size);
DECLSPEC_XFGVIRT(IGCHost, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
IGCHost * This,
/* [in] */ LONG Generation);
/* [annotation][in] */
_In_ LONG Generation);
DECLSPEC_XFGVIRT(IGCHost, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
IGCHost * This,
/* [out][in] */ COR_GC_STATS *pStats);
/* [annotation][out][in] */
_Inout_ COR_GC_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, GetThreadStats)
HRESULT ( STDMETHODCALLTYPE *GetThreadStats )(
IGCHost * This,
/* [in] */ DWORD *pFiberCookie,
/* [out][in] */ COR_GC_THREAD_STATS *pStats);
/* [annotation][in] */
_In_ DWORD *pFiberCookie,
/* [annotation][out][in] */
_Inout_ COR_GC_THREAD_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, SetVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *SetVirtualMemLimit )(
IGCHost * This,
/* [in] */ SIZE_T sztMaxVirtualMemMB);
/* [annotation][in] */
_In_ SIZE_T sztMaxVirtualMemMB);
END_INTERFACE
} IGCHostVtbl;
@ -244,8 +274,10 @@ EXTERN_C const IID IID_IGCHost2;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimitsEx(
/* [in] */ SIZE_T SegmentSize,
/* [in] */ SIZE_T MaxGen0Size) = 0;
/* [annotation][in] */
_In_ SIZE_T SegmentSize,
/* [annotation][in] */
_In_ SIZE_T MaxGen0Size) = 0;
};
@ -256,44 +288,63 @@ EXTERN_C const IID IID_IGCHost2;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHost2 * This,
/* [in] */ REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHost2 * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHost2 * This);
DECLSPEC_XFGVIRT(IGCHost, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
IGCHost2 * This,
/* [in] */ DWORD SegmentSize,
/* [in] */ DWORD MaxGen0Size);
/* [annotation][in] */
_In_ DWORD SegmentSize,
/* [annotation][in] */
_In_ DWORD MaxGen0Size);
DECLSPEC_XFGVIRT(IGCHost, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
IGCHost2 * This,
/* [in] */ LONG Generation);
/* [annotation][in] */
_In_ LONG Generation);
DECLSPEC_XFGVIRT(IGCHost, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
IGCHost2 * This,
/* [out][in] */ COR_GC_STATS *pStats);
/* [annotation][out][in] */
_Inout_ COR_GC_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, GetThreadStats)
HRESULT ( STDMETHODCALLTYPE *GetThreadStats )(
IGCHost2 * This,
/* [in] */ DWORD *pFiberCookie,
/* [out][in] */ COR_GC_THREAD_STATS *pStats);
/* [annotation][in] */
_In_ DWORD *pFiberCookie,
/* [annotation][out][in] */
_Inout_ COR_GC_THREAD_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, SetVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *SetVirtualMemLimit )(
IGCHost2 * This,
/* [in] */ SIZE_T sztMaxVirtualMemMB);
/* [annotation][in] */
_In_ SIZE_T sztMaxVirtualMemMB);
DECLSPEC_XFGVIRT(IGCHost2, SetGCStartupLimitsEx)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimitsEx )(
IGCHost2 * This,
/* [in] */ SIZE_T SegmentSize,
/* [in] */ SIZE_T MaxGen0Size);
/* [annotation][in] */
_In_ SIZE_T SegmentSize,
/* [annotation][in] */
_In_ SIZE_T MaxGen0Size);
END_INTERFACE
} IGCHost2Vtbl;

Просмотреть файл

@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0603 */
/* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
@ -24,20 +23,28 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __IValidator_h__
#define __IValidator_h__
#ifndef __ivalidator_h__
#define __ivalidator_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif
/* Forward Declarations */
#ifndef __IValidator_FWD_DEFINED__
@ -62,7 +69,7 @@ extern "C"{
#endif
/* interface __MIDL_itf_IValidator_0000_0000 */
/* interface __MIDL_itf_ivalidator_0000_0000 */
/* [local] */
#pragma warning(push)
@ -81,8 +88,8 @@ enum ValidatorFlags
} ;
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0000_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0000_v0_0_s_ifspec;
#ifndef __IValidator_INTERFACE_DEFINED__
#define __IValidator_INTERFACE_DEFINED__
@ -100,21 +107,34 @@ EXTERN_C const IID IID_IValidator;
{
public:
virtual HRESULT STDMETHODCALLTYPE Validate(
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ __RPC__in_opt IUnknown *pAppDomain,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize) = 0;
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ IUnknown *pAppDomain,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatEventInfo(
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa) = 0;
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa) = 0;
};
@ -125,36 +145,55 @@ EXTERN_C const IID IID_IValidator;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IValidator * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IValidator * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IValidator * This);
DECLSPEC_XFGVIRT(IValidator, Validate)
HRESULT ( STDMETHODCALLTYPE *Validate )(
__RPC__in IValidator * This,
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ __RPC__in_opt IUnknown *pAppDomain,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize);
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ IUnknown *pAppDomain,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize);
DECLSPEC_XFGVIRT(IValidator, FormatEventInfo)
HRESULT ( STDMETHODCALLTYPE *FormatEventInfo )(
__RPC__in IValidator * This,
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa);
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa);
END_INTERFACE
} IValidatorVtbl;
@ -212,21 +251,34 @@ EXTERN_C const IID IID_ICLRValidator;
{
public:
virtual HRESULT STDMETHODCALLTYPE Validate(
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ unsigned long ulAppDomainId,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize) = 0;
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ unsigned long ulAppDomainId,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatEventInfo(
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa) = 0;
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa) = 0;
};
@ -237,36 +289,55 @@ EXTERN_C const IID IID_ICLRValidator;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ICLRValidator * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ICLRValidator * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ICLRValidator * This);
DECLSPEC_XFGVIRT(ICLRValidator, Validate)
HRESULT ( STDMETHODCALLTYPE *Validate )(
__RPC__in ICLRValidator * This,
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ unsigned long ulAppDomainId,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize);
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ unsigned long ulAppDomainId,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize);
DECLSPEC_XFGVIRT(ICLRValidator, FormatEventInfo)
HRESULT ( STDMETHODCALLTYPE *FormatEventInfo )(
__RPC__in ICLRValidator * This,
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa);
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa);
END_INTERFACE
} ICLRValidatorVtbl;
@ -308,14 +379,14 @@ EXTERN_C const IID IID_ICLRValidator;
#endif /* __ICLRValidator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_IValidator_0000_0002 */
/* interface __MIDL_itf_ivalidator_0000_0002 */
/* [local] */
#pragma warning(pop)
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0002_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0002_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
@ -324,6 +395,11 @@ unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *,
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
/* end of Additional Prototypes */
#ifdef __cplusplus

Просмотреть файл

@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0603 */
/* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
@ -24,20 +23,28 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __IVEHandler_h__
#define __IVEHandler_h__
#ifndef __ivehandler_h__
#define __ivehandler_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif
/* Forward Declarations */
#ifndef __VEHandlerClass_FWD_DEFINED__
@ -67,7 +74,7 @@ extern "C"{
#endif
/* interface __MIDL_itf_IVEHandler_0000_0000 */
/* interface __MIDL_itf_ivehandler_0000_0000 */
/* [local] */
typedef struct tag_VerError
@ -87,8 +94,8 @@ typedef _VerError VEContext;
extern RPC_IF_HANDLE __MIDL_itf_IVEHandler_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_IVEHandler_0000_0000_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivehandler_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivehandler_0000_0000_v0_0_s_ifspec;
#ifndef __VEHandlerLib_LIBRARY_DEFINED__
@ -125,12 +132,16 @@ EXTERN_C const IID IID_IVEHandler;
{
public:
virtual HRESULT STDMETHODCALLTYPE VEHandler(
/* [in] */ HRESULT VECode,
/* [in] */ VEContext Context,
/* [in] */ __RPC__in SAFEARRAY * psa) = 0;
/* [annotation][in] */
_In_ HRESULT VECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][in] */
_In_ SAFEARRAY * psa) = 0;
virtual HRESULT STDMETHODCALLTYPE SetReporterFtn(
/* [in] */ __int64 lFnPtr) = 0;
/* [annotation][in] */
_In_ __int64 lFnPtr) = 0;
};
@ -141,27 +152,37 @@ EXTERN_C const IID IID_IVEHandler;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IVEHandler * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IVEHandler * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IVEHandler * This);
DECLSPEC_XFGVIRT(IVEHandler, VEHandler)
HRESULT ( STDMETHODCALLTYPE *VEHandler )(
__RPC__in IVEHandler * This,
/* [in] */ HRESULT VECode,
/* [in] */ VEContext Context,
/* [in] */ __RPC__in SAFEARRAY * psa);
/* [annotation][in] */
_In_ HRESULT VECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][in] */
_In_ SAFEARRAY * psa);
DECLSPEC_XFGVIRT(IVEHandler, SetReporterFtn)
HRESULT ( STDMETHODCALLTYPE *SetReporterFtn )(
__RPC__in IVEHandler * This,
/* [in] */ __int64 lFnPtr);
/* [annotation][in] */
_In_ __int64 lFnPtr);
END_INTERFACE
} IVEHandlerVtbl;
@ -210,6 +231,11 @@ unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *,
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
/* end of Additional Prototypes */
#ifdef __cplusplus

Просмотреть файл

@ -0,0 +1,36 @@
#include <windows.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _MENUEX_TEMPLATE_HEADER {
WORD wVersion;
WORD wOffset;
DWORD dwHelpId;
} MENUEX_TEMPLATE_HEADER;
typedef struct _MENUEX_TEMPLATE_ITEM {
DWORD dwType;
DWORD dwState;
UINT uId;
WORD wFlags;
WCHAR szText[1];
} MENUEX_TEMPLATE_ITEM;
typedef struct _MENUTEMPLATEEX {
union {
struct {
MENUITEMTEMPLATEHEADER mitHeader;
MENUITEMTEMPLATE miTemplate[ANYSIZE_ARRAY];
} Menu;
struct {
MENUEX_TEMPLATE_HEADER mexHeader;
MENUEX_TEMPLATE_ITEM mexItem[ANYSIZE_ARRAY];
} MenuEx;
};
} MENUTEMPLATEEX;
#ifdef __cplusplus
}
#endif

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,285 @@
#include <wincrypt.h>
#ifdef __cplusplus
extern "C" {
#endif
#define SIGNER_SUBJECT_FILE 0x01
#define SIGNER_SUBJECT_BLOB 0x02
#define SIGNER_NO_ATTR 0x00
#define SIGNER_AUTHCODE_ATTR 0x01
#define PVK_TYPE_FILE_NAME 0x01
#define PVK_TYPE_KEYCONTAINER 0x02
#define SIGNER_CERT_POLICY_STORE 0x01
#define SIGNER_CERT_POLICY_CHAIN 0x02
#define SIGNER_CERT_POLICY_SPC 0x04
#define SIGNER_CERT_POLICY_CHAIN_NO_ROOT 0x08
#define SIGNER_CERT_SPC_FILE 0x01
#define SIGNER_CERT_STORE 0x02
#define SIGNER_CERT_SPC_CHAIN 0x03
#define SIGNER_TIMESTAMP_AUTHENTICODE 1
#define SIGNER_TIMESTAMP_RFC3161 2
#define SIG_APPEND 0x1000
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN)(
_In_ PCCERT_CONTEXT pSigningCert,
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_Out_ PCRYPT_DATA_BLOB pSignedDigest
);
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_EX)(
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_Out_ PCRYPT_DATA_BLOB pSignedDigest,
_Out_ PCCERT_CONTEXT* ppSignerCert,
_Inout_ HCERTSTORE hCertChainStore
);
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_EX_WITHFILEHANDLE)(
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_In_ HANDLE hFile,
_Out_ PCRYPT_DATA_BLOB pSignedDigest,
_Out_ PCCERT_CONTEXT* ppSignerCert,
_Inout_ HCERTSTORE hCertChainStore
);
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_WITHFILEHANDLE)(
_In_ PCCERT_CONTEXT pSigningCert,
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_In_ HANDLE hFile,
_Out_ PCRYPT_DATA_BLOB pSignedDigest
);
typedef struct _SIGNER_ATTR_AUTHCODE {
DWORD cbSize;
BOOL fCommercial;
BOOL fIndividual;
LPCWSTR pwszName;
LPCWSTR pwszInfo;
} SIGNER_ATTR_AUTHCODE, *PSIGNER_ATTR_AUTHCODE;
typedef struct _SIGNER_BLOB_INFO {
DWORD cbSize;
GUID *pGuidSubject;
DWORD cbBlob;
BYTE *pbBlob;
LPCWSTR pwszDisplayName;
} SIGNER_BLOB_INFO, *PSIGNER_BLOB_INFO;
typedef struct _SIGNER_CERT_STORE_INFO {
DWORD cbSize;
PCCERT_CONTEXT pSigningCert;
DWORD dwCertPolicy;
HCERTSTORE hCertStore;
} SIGNER_CERT_STORE_INFO, *PSIGNER_CERT_STORE_INFO;
typedef struct _SIGNER_SPC_CHAIN_INFO {
DWORD cbSize;
LPCWSTR pwszSpcFile;
DWORD dwCertPolicy;
HCERTSTORE hCertStore;
} SIGNER_SPC_CHAIN_INFO, *PSIGNER_SPC_CHAIN_INFO;
typedef struct _SIGNER_CERT {
DWORD cbSize;
DWORD dwCertChoice;
union {
LPCWSTR pwszSpcFile;
SIGNER_CERT_STORE_INFO *pCertStoreInfo;
SIGNER_SPC_CHAIN_INFO *pSpcChainInfo;
};
HWND hwnd;
} SIGNER_CERT, *PSIGNER_CERT;
typedef struct _SIGNER_CONTEXT {
DWORD cbSize;
DWORD cbBlob;
BYTE *pbBlob;
} SIGNER_CONTEXT, *PSIGNER_CONTEXT;
typedef struct _SIGNER_DIGEST_SIGN_INFO {
DWORD cbSize;
DWORD dwDigestSignChoice;
union {
PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
PFN_AUTHENTICODE_DIGEST_SIGN_WITHFILEHANDLE pfnAuthenticodeDigestSignWithFileHandle;
PFN_AUTHENTICODE_DIGEST_SIGN_EX pfnAuthenticodeDigestSignEx;
PFN_AUTHENTICODE_DIGEST_SIGN_EX_WITHFILEHANDLE pfnAuthenticodeDigestSignExWithFileHandle;
};
PCRYPT_DATA_BLOB pMetadataBlob;
DWORD dwReserved;
DWORD dwReserved2;
DWORD dwReserved3;
} SIGNER_DIGEST_SIGN_INFO, *PSIGNER_DIGEST_SIGN_INFO;
typedef struct SIGNER_DIGEST_SIGN_INFO_V1 {
DWORD cbSize;
PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
PCRYPT_DATA_BLOB pMetadataBlob;
} SIGNER_DIGEST_SIGN_INFO_V1, *PSIGNER_DIGEST_SIGN_INFO_V1;
typedef struct SIGNER_DIGEST_SIGN_INFO_V2 {
DWORD cbSize;
PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
PFN_AUTHENTICODE_DIGEST_SIGN_EX pfnAuthenticodeDigestSignEx;
PCRYPT_DATA_BLOB pMetadataBlob;
} SIGNER_DIGEST_SIGN_INFO_V2, *PSIGNER_DIGEST_SIGN_INFO_V2;
typedef struct _SIGNER_FILE_INFO {
DWORD cbSize;
LPCWSTR pwszFileName;
HANDLE hFile;
} SIGNER_FILE_INFO, *PSIGNER_FILE_INFO;
typedef struct _SIGNER_PROVIDER_INFO {
DWORD cbSize;
LPCWSTR pwszProviderName;
DWORD dwProviderType;
DWORD dwKeySpec;
DWORD dwPvkChoice;
union {
LPWSTR pwszPvkFileName;
LPWSTR pwszKeyContainer;
};
} SIGNER_PROVIDER_INFO, *PSIGNER_PROVIDER_INFO;
typedef struct _SIGNER_SIGNATURE_INFO {
DWORD cbSize;
ALG_ID algidHash;
DWORD dwAttrChoice;
union {
SIGNER_ATTR_AUTHCODE *pAttrAuthcode;
};
PCRYPT_ATTRIBUTES psAuthenticated;
PCRYPT_ATTRIBUTES psUnauthenticated;
} SIGNER_SIGNATURE_INFO, *PSIGNER_SIGNATURE_INFO;
typedef struct _SIGNER_SUBJECT_INFO {
DWORD cbSize;
DWORD *pdwIndex;
DWORD dwSubjectChoice;
union {
SIGNER_FILE_INFO *pSignerFileInfo;
SIGNER_BLOB_INFO *pSignerBlobInfo;
};
} SIGNER_SUBJECT_INFO, *PSIGNER_SUBJECT_INFO;
HRESULT WINAPI SignError(void);
HRESULT WINAPI SignerFreeSignerContext(
_In_ SIGNER_CONTEXT *pSignerContext
);
HRESULT WINAPI SignerSign(
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ LPCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ LPVOID pSipData
);
HRESULT WINAPI SignerSignEx(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ LPCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ LPVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext
);
HRESULT WINAPI SignerSignEx2(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ DWORD dwTimestampFlags,
_In_opt_ PCSTR pszTimestampAlgorithmOid,
_In_opt_ PCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ PVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext,
_In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
_Reserved_ PVOID pReserved
);
HRESULT WINAPI SignerSignEx3(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ DWORD dwTimestampFlags,
_In_opt_ PCSTR pszTimestampAlgorithmOid,
_In_opt_ PCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ PVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext,
_In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
_In_opt_ SIGNER_DIGEST_SIGN_INFO *pDigestSignInfo,
_Reserved_ PVOID pReserved
);
HRESULT WINAPI SignerTimeStamp(
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ LPCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ LPVOID pSipData
);
HRESULT WINAPI SignerTimeStampEx(
_Reserved_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ LPCWSTR pwszHttpTimeStamp,
_In_ PCRYPT_ATTRIBUTES psRequest,
_In_ LPVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext
);
HRESULT WINAPI SignerTimeStampEx2(
_Reserved_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ LPCWSTR pwszHttpTimeStamp,
_In_ ALG_ID dwAlgId,
_In_ PCRYPT_ATTRIBUTES psRequest,
_In_ LPVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext
);
HRESULT WINAPI SignerTimeStampEx3(
_In_ DWORD dwFlags,
_In_ DWORD dwIndex,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ PCWSTR pwszHttpTimeStamp,
_In_ PCWSTR pszAlgorithmOid,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ PVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext,
_In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
_Reserved_ PVOID pReserved
);
#ifdef __cplusplus
}
#endif

Просмотреть файл

@ -3,6 +3,7 @@ using Windows.Win32.Devices.Properties; // For DEVPROPKEY
using static Windows.Win32.Data.Xml.MsXml.Apis; // Various constants
using static Windows.Win32.Devices.DeviceAccess.Apis; // Various constants
using static Windows.Win32.Foundation.Apis; // Various constants
using static Windows.Win32.Foundation.WAIT_EVENT;
using static Windows.Win32.Foundation.WIN32_ERROR;
using static Windows.Win32.Graphics.Direct3D9.D3DFORMAT; // For D3DFMT_* constants
using static Windows.Win32.Media.Apis; // Various constants

Просмотреть файл

@ -6,10 +6,13 @@ E_OUTOFMEMORY=NativeTypeName("HRESULT")
HIDP_STATUS_I8242_TRANS_UNKNOWN=NativeTypeName("NTSTATUS")
IDI_APPLICATION=NativeTypeName("LPCWSTR")
IDI_ASTERISK=NativeTypeName("LPCWSTR")
IDI_ERROR=NativeTypeName("LPCWSTR")
IDI_EXCLAMATION=NativeTypeName("LPCWSTR")
IDI_HAND=NativeTypeName("LPCWSTR")
IDI_INFORMATION=NativeTypeName("LPCWSTR")
IDI_QUESTION=NativeTypeName("LPCWSTR")
IDI_SHIELD=NativeTypeName("LPCWSTR")
IDI_WARNING=NativeTypeName("LPCWSTR")
IDI_WINLOGO=NativeTypeName("LPCWSTR")
--with-type
ACCESS_SYSTEM_SECURITY=uint
@ -569,4 +572,20 @@ FILE_OPEN_FOR_BACKUP_INTENT
FILE_RESERVE_OPFILTER
FILE_OPEN_REQUIRING_OPLOCK
FILE_COMPLETE_IF_OPLOCKED
FILE_OPEN_FOR_FREE_SPACE_QUERY
FILE_OPEN_FOR_FREE_SPACE_QUERY
CONTEXT_i386
CONTEXT_i486
CONTEXT_EXCEPTION_ACTIVE
CONTEXT_SERVICE_ACTIVE
CONTEXT_EXCEPTION_REQUEST
CONTEXT_EXCEPTION_REPORTING
CONTEXT_KERNEL_DEBUGGER
CONTEXT_UNWOUND_TO_CALL
CONTEXT_ARM64_UNWOUND_TO_CALL
CONTEXT_ARM64_RET_TO_GUEST
WOW64_CONTEXT_i386
WOW64_CONTEXT_i486
WOW64_CONTEXT_EXCEPTION_ACTIVE
WOW64_CONTEXT_SERVICE_ACTIVE
WOW64_CONTEXT_EXCEPTION_REQUEST
WOW64_CONTEXT_EXCEPTION_REPORTING

Просмотреть файл

@ -1,3 +1,5 @@
--config
exclude-empty-records
--exclude
_LIST_ENTRY
LIST_ENTRY32

Просмотреть файл

@ -27,7 +27,6 @@
#include <winioctl.h>
#include <storprop.h>
#include <ioapiset.h>
#include <atlthunk.h>
#include <lmserver.h>
#include <windowsceip.h>
#include <realtimeapiset.h>

Просмотреть файл

@ -1,3 +1,5 @@
--config
exclude-empty-records
--exclude
_LIST_ENTRY
_D3DCOLORVALUE
@ -32,13 +34,9 @@ _D3DTEXTURETRANSFORMFLAGS
PENCLAVE_ROUTINE
LPENCLAVE_ROUTINE
--traverse
<IncludeRoot>/um/d3dnthal.h
<IncludeRoot>/um/d3dcaps.h
<IncludeRoot>/um/d3dtypes.h
<IncludeRoot>/shared/wtypes.h
<IncludeRoot>/um/minwinbase.h
<IncludeRoot>/um/storprop.h
<IncludeRoot>/um/atlthunk.h
<IncludeRoot>/um/dlnadeviceinterfaceids.h
<IncludeRoot>/um/dlnametadataproviderproperties.h
--namespace

Просмотреть файл

@ -1,5 +1,7 @@
#define SECURITY_WIN32 // For sspi.h
#define QCC_OS_GROUP_WINDOWS
#define NONAMELESSUNION
#define USE_COM_CONTEXT_DEF
#include "intrinfix.h"
#include "windows.fixed.h"

Просмотреть файл

@ -1,3 +1,5 @@
--config
exclude-empty-records
--exclude
_GUID
--traverse

Просмотреть файл

@ -11,3 +11,5 @@
//#include <d3d9helper.h>
#include <d3d9types.h>
#include <d3d9caps.h>
#include <d3dtypes.h>
#include <d3dcaps.h>

Просмотреть файл

@ -1,9 +1,11 @@
--with-type
D3DFORMAT=uint
--traverse
<IncludeRoot>/shared/d3d9types.h
<IncludeRoot>/shared/d3d9caps.h
<IncludeRoot>/um/d3d9helper.h
<IncludeRoot>/shared/d3d9.h
<IncludeRoot>/shared/d3d9caps.h
<IncludeRoot>/shared/d3d9types.h
<IncludeRoot>/um/d3d9helper.h
<IncludeRoot>/um/d3dcaps.h
<IncludeRoot>/um/d3dtypes.h
--namespace
Windows.Win32.Graphics.Direct3D9

Просмотреть файл

@ -1,3 +1,6 @@
--remap
_MDL=DDMDL
PMDL=DDMDL*
--traverse
<IncludeRoot>/um/ddraw.h
<IncludeRoot>/um/ddrawi.h

Просмотреть файл

@ -6,12 +6,8 @@
#include "windows.fixed.h"
#include <sdkddkver.h>
#include <winternl.h>
#include <winnt.h>
// Usually brought in by windows.h
typedef NTSTATUS* PNTSTATUS;
#define _NTDEF_
#define SECURITY_WIN32
#include <NTSecAPI.h>
#include <sspi.h>
@ -21,14 +17,7 @@ extern "C" {
#include <schannel.h>
}
typedef struct _OLD_LARGE_INTEGER {
ULONG LowPart;
LONG HighPart;
} OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER;
#include <winbase.h>
#include <winnt.h>
#include <securitybaseapi.h>
#include <subauth.h>
#include <tokenbinding.h>

Просмотреть файл

@ -5,6 +5,9 @@ SLDATATYPE=uint
_CYPHER_BLOCK
_LM_OWF_PASSWORD
_SecHandle
SystemFunction036
SystemFunction040
SystemFunction041
--traverse
<IncludeRoot>/shared/secext.h
<IncludeRoot>/shared/security.h

Просмотреть файл

@ -14,6 +14,7 @@
#include <ip2string.h>
#include <ws2def.h>
#include <ws2ipdef.h>
#include <windns.h>
#include <iphlpapi.h>
#include <fltdefs.h>
#include <ipinfoid.h>

Просмотреть файл

@ -7,6 +7,9 @@
#include <sdkddkver.h>
#include <commdlg.h>
#define __STREAMS__
#include <ks.h>
#include <ksmedia.h>
#include <strmif.h>
#include <ksproxy.h>

Просмотреть файл

@ -9,6 +9,7 @@
#include <winbase.h>
#include <winnt.h>
#include <winuser.h>
#include <menutemplate.h>
#include <resourceindexer.h>
#include <strsafe.h>
#include <mrmresourceindexer.h>

Просмотреть файл

@ -5,6 +5,7 @@
<IncludeRoot>/um/mrmresourceindexer.h
<IncludeRoot>/um/ResourceIndexer.h
<IncludeRoot>/um/WinUser.h
<IncludeRoot>/um/menutemplate.h
--namespace
Windows.Win32.UI.WindowsAndMessaging
--exclude

Просмотреть файл

@ -11,6 +11,5 @@
#include <shlobj_core.h>
#include <propsys.h>
#include <shobjidl_core.h>
#include <propvarutil.h>
#include <propidl.h>
#include <shellapi.h>

Просмотреть файл

@ -1,6 +1,5 @@
--traverse
<IncludeRoot>/um/propsys.h
<IncludeRoot>/um/propvarutil.h
--namespace
Windows.Win32.UI.Shell.PropertiesSystem
--with-type

Просмотреть файл

@ -1,13 +1,13 @@
#define SECURITY_WIN32 // For sspi.h
#define QCC_OS_GROUP_WINDOWS
#define QUERY_H_RESTRICTION_PERMISSIVE 1
#define oledb_deprecated
#include "intrinfix.h"
#include "windows.fixed.h"
#include <sdkddkver.h>
#define QUERY_H_RESTRICTION_PERMISSIVE 1
#include <filter.h>
#include <indexsrv.h>
#include <ocidl.h>

Просмотреть файл

@ -22,6 +22,7 @@ typedef NTSTATUS* PNTSTATUS;
#include <ncryptprotect.h>
#include <ncrypt.h>
#include <wincrypt.h>
#include <mssign.h>
#include <cryptxml.h>
#include <cryptdlg.h>
#include <cryptuiapi.h>

Просмотреть файл

@ -14,5 +14,6 @@ _LM_OWF_PASSWORD
<IncludeRoot>/um/wincrypt.h
<IncludeRoot>/um/i_cryptasn1tls.h
<IncludeRoot>/um/infocard.h
<IncludeRoot>/um/mssign.h
--namespace
Windows.Win32.Security.Cryptography

Просмотреть файл

@ -7,6 +7,7 @@
#include <winnt.h>
#include <avrt.h>
#include <rtworkq.h>
#define MakeProcThreadAttributeConst(value) \
const DWORD __forceconst__##value = value;

Просмотреть файл

@ -0,0 +1,9 @@
#define SECURITY_WIN32 // For sspi.h
#define QCC_OS_GROUP_WINDOWS
#include "intrinfix.h"
#include "windows.fixed.h"
#include <sdkddkver.h>
#include <propvarutil.h>

Просмотреть файл

@ -0,0 +1,4 @@
--traverse
<IncludeRoot>/um/propvarutil.h
--namespace
Windows.Win32.System.Variant

Просмотреть файл

@ -1,19 +1,37 @@
--exclude
_UNICODE_STRING
_STRING
RtlCaptureStackBackTrace
RtlCaptureContext
RtlUnwind
RtlRaiseException
RtlPcToFileHeader
RtlCompareMemory
UiaRect
_FILE_DISPOSITION_INFO
_TEB
_KEY_SET_INFORMATION_CLASS
_KEY_VALUE_ENTRY
_OBJECT_INFORMATION_CLASS
_PROCESS_BASIC_INFORMATION
_PROCESSINFOCLASS
_STRING
_SYSTEM_INFORMATION_CLASS
_THREADINFOCLASS
_UNICODE_STRING
NtClose
NtCreateFile
NtDeviceIoControlFile
NtNotifyChangeMultipleKeys
NtOpenFile
NtQueryInformationProcess
NtQueryInformationThread
NtQueryMultipleValueKey
NtQueryObject
NtQuerySystemInformation
NtQuerySystemTime
NtQueryTimerResolution
NtRenameKey
NtSetInformationKey
NtSetInformationThread
NtWaitForSingleObject
RtlCaptureContext
RtlCaptureStackBackTrace
RtlCompareMemory
RtlPcToFileHeader
RtlRaiseException
RtlUnwind
UiaRect
--traverse
<IncludeRoot>/um/wldp.h
<IncludeRoot>/shared/tdiinfo.h

Просмотреть файл

@ -135,6 +135,8 @@ typedef enum DXGI_FORMAT
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189,
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190,
DXGI_FORMAT_A4B4G4R4_UNORM = 191,
DXGI_FORMAT_FORCE_UINT = 0xffffffff
} DXGI_FORMAT;

Просмотреть файл

@ -131,6 +131,8 @@ typedef enum DXGI_FORMAT
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189,
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190,
DXGI_FORMAT_A4B4G4R4_UNORM = 191,
DXGI_FORMAT_FORCE_UINT = 0xffffffff
} DXGI_FORMAT;

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -14418,8 +14418,8 @@ EXTERN_C const IID IID_IPBDA_EIT;
virtual HRESULT STDMETHODCALLTYPE Initialize(
/* [annotation][in] */
_In_ DWORD size,
/* [size_is][annotation][in] */
_In_ const BYTE *pBuffer) = 0;
/* [annotation][size_is][in] */
_In_reads_(size) const BYTE *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTableId(
/* [annotation][out] */
@ -14509,8 +14509,8 @@ EXTERN_C const IID IID_IPBDA_EIT;
IPBDA_EIT * This,
/* [annotation][in] */
_In_ DWORD size,
/* [size_is][annotation][in] */
_In_ const BYTE *pBuffer);
/* [annotation][size_is][in] */
_In_reads_(size) const BYTE *pBuffer);
DECLSPEC_XFGVIRT(IPBDA_EIT, GetTableId)
HRESULT ( STDMETHODCALLTYPE *GetTableId )(
@ -14675,8 +14675,8 @@ EXTERN_C const IID IID_IPBDA_Services;
virtual HRESULT STDMETHODCALLTYPE Initialize(
/* [annotation][in] */
_In_ DWORD size,
/* [size_is][annotation][in] */
_In_ BYTE *pBuffer) = 0;
/* [annotation][size_is][in] */
_In_reads_(size) BYTE *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCountOfRecords(
/* [annotation][out] */
@ -14718,8 +14718,8 @@ EXTERN_C const IID IID_IPBDA_Services;
IPBDA_Services * This,
/* [annotation][in] */
_In_ DWORD size,
/* [size_is][annotation][in] */
_In_ BYTE *pBuffer);
/* [annotation][size_is][in] */
_In_reads_(size) BYTE *pBuffer);
DECLSPEC_XFGVIRT(IPBDA_Services, GetCountOfRecords)
HRESULT ( STDMETHODCALLTYPE *GetCountOfRecords )(

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -304,8 +304,8 @@ EXTERN_C const IID IID_IUnbufferedFileHandleProvider;
virtual HRESULT STDMETHODCALLTYPE OpenUnbufferedFileHandle(
/* [annotation][in] */
_In_ IUnbufferedFileHandleOplockCallback *oplockBreakCallback,
/* [retval][annotation][out] */
_Out_ DWORD_PTR *fileHandle) = 0;
/* [annotation][retval][out] */
_Out_retval_ DWORD_PTR *fileHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseUnbufferedFileHandle( void) = 0;
@ -339,8 +339,8 @@ EXTERN_C const IID IID_IUnbufferedFileHandleProvider;
__RPC__in IUnbufferedFileHandleProvider * This,
/* [annotation][in] */
_In_ IUnbufferedFileHandleOplockCallback *oplockBreakCallback,
/* [retval][annotation][out] */
_Out_ DWORD_PTR *fileHandle);
/* [annotation][retval][out] */
_Out_retval_ DWORD_PTR *fileHandle);
DECLSPEC_XFGVIRT(IUnbufferedFileHandleProvider, CloseUnbufferedFileHandle)
HRESULT ( STDMETHODCALLTYPE *CloseUnbufferedFileHandle )(

Просмотреть файл

@ -1224,9 +1224,9 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback;
_In_ PROFILER_TOKEN functionId,
/* [annotation][in] */
_In_ PROFILER_TOKEN scriptId,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionNameHint,
/* [annotation][in] */
_In_ IUnknown *pIDebugDocumentContext) = 0;
@ -1297,9 +1297,9 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback;
_In_ PROFILER_TOKEN functionId,
/* [annotation][in] */
_In_ PROFILER_TOKEN scriptId,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionNameHint,
/* [annotation][in] */
_In_ IUnknown *pIDebugDocumentContext);
@ -1388,13 +1388,13 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback2;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnFunctionEnterByName(
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [annotation][in] */
_In_ PROFILER_SCRIPT_TYPE type) = 0;
virtual HRESULT STDMETHODCALLTYPE OnFunctionExitByName(
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [annotation][in] */
_In_ PROFILER_SCRIPT_TYPE type) = 0;
@ -1453,9 +1453,9 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback2;
_In_ PROFILER_TOKEN functionId,
/* [annotation][in] */
_In_ PROFILER_TOKEN scriptId,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionNameHint,
/* [annotation][in] */
_In_ IUnknown *pIDebugDocumentContext);
@ -1479,7 +1479,7 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback2;
DECLSPEC_XFGVIRT(IActiveScriptProfilerCallback2, OnFunctionEnterByName)
HRESULT ( STDMETHODCALLTYPE *OnFunctionEnterByName )(
__RPC__in IActiveScriptProfilerCallback2 * This,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [annotation][in] */
_In_ PROFILER_SCRIPT_TYPE type);
@ -1487,7 +1487,7 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback2;
DECLSPEC_XFGVIRT(IActiveScriptProfilerCallback2, OnFunctionExitByName)
HRESULT ( STDMETHODCALLTYPE *OnFunctionExitByName )(
__RPC__in IActiveScriptProfilerCallback2 * This,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [annotation][in] */
_In_ PROFILER_SCRIPT_TYPE type);
@ -1624,9 +1624,9 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback3;
_In_ PROFILER_TOKEN functionId,
/* [annotation][in] */
_In_ PROFILER_TOKEN scriptId,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionNameHint,
/* [annotation][in] */
_In_ IUnknown *pIDebugDocumentContext);
@ -1650,7 +1650,7 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback3;
DECLSPEC_XFGVIRT(IActiveScriptProfilerCallback2, OnFunctionEnterByName)
HRESULT ( STDMETHODCALLTYPE *OnFunctionEnterByName )(
__RPC__in IActiveScriptProfilerCallback3 * This,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [annotation][in] */
_In_ PROFILER_SCRIPT_TYPE type);
@ -1658,7 +1658,7 @@ EXTERN_C const IID IID_IActiveScriptProfilerCallback3;
DECLSPEC_XFGVIRT(IActiveScriptProfilerCallback2, OnFunctionExitByName)
HRESULT ( STDMETHODCALLTYPE *OnFunctionExitByName )(
__RPC__in IActiveScriptProfilerCallback3 * This,
/* [string][annotation][in] */
/* [annotation][string][in] */
_In_ const WCHAR *pwszFunctionName,
/* [annotation][in] */
_In_ PROFILER_SCRIPT_TYPE type);

Просмотреть файл

@ -696,8 +696,8 @@ EXTERN_C const IID IID_IMediaStreamFilter;
_In_ BOOL bRenderer) = 0;
virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime(
/* [annotation][out][annotation][in] */
_Out_ REFERENCE_TIME *pTime) = 0;
/* [annotation][out][in] */
_Inout_ REFERENCE_TIME *pTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime(
/* [annotation][out] */
@ -760,7 +760,8 @@ EXTERN_C const IID IID_IMediaStreamFilter;
DECLSPEC_XFGVIRT(IMediaFilter, GetState)
HRESULT ( STDMETHODCALLTYPE *GetState )(
IMediaStreamFilter * This,
/* [in] */ DWORD dwMilliSecsTimeout,
/* [annotation][in] */
_In_ DWORD dwMilliSecsTimeout,
/* [annotation][out] */
_Out_ FILTER_STATE *State);
@ -785,7 +786,8 @@ EXTERN_C const IID IID_IMediaStreamFilter;
DECLSPEC_XFGVIRT(IBaseFilter, FindPin)
HRESULT ( STDMETHODCALLTYPE *FindPin )(
IMediaStreamFilter * This,
/* [string][in] */ LPCWSTR Id,
/* [annotation][string][in] */
_In_ LPCWSTR Id,
/* [annotation][out] */
_Out_ IPin **ppPin);
@ -840,8 +842,8 @@ EXTERN_C const IID IID_IMediaStreamFilter;
DECLSPEC_XFGVIRT(IMediaStreamFilter, ReferenceTimeToStreamTime)
HRESULT ( STDMETHODCALLTYPE *ReferenceTimeToStreamTime )(
IMediaStreamFilter * This,
/* [annotation][out][annotation][in] */
_Out_ REFERENCE_TIME *pTime);
/* [annotation][out][in] */
_Inout_ REFERENCE_TIME *pTime);
DECLSPEC_XFGVIRT(IMediaStreamFilter, GetCurrentStreamTime)
HRESULT ( STDMETHODCALLTYPE *GetCurrentStreamTime )(

Просмотреть файл

@ -652,20 +652,28 @@ EXTERN_C const IID IID_ICommandTree;
{
public:
virtual HRESULT STDMETHODCALLTYPE FindErrorNodes(
/* [in] */ const DBCOMMANDTREE *pRoot,
/* [out] */ ULONG *pcErrorNodes,
/* [out] */ DBCOMMANDTREE ***prgErrorNodes) = 0;
/* [annotation][in] */
_In_ const DBCOMMANDTREE *pRoot,
/* [annotation][out] */
_Out_ ULONG *pcErrorNodes,
/* [annotation][out] */
_Out_ DBCOMMANDTREE ***prgErrorNodes) = 0;
virtual HRESULT STDMETHODCALLTYPE FreeCommandTree(
/* [in] */ DBCOMMANDTREE **ppRoot) = 0;
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCommandTree(
/* [out] */ DBCOMMANDTREE **ppRoot) = 0;
/* [annotation][out] */
_Out_ DBCOMMANDTREE **ppRoot) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCommandTree(
/* [in] */ DBCOMMANDTREE **ppRoot,
/* [in] */ DBCOMMANDREUSE dwCommandReuse,
/* [in] */ BOOL fCopy) = 0;
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot,
/* [annotation][in] */
_In_ DBCOMMANDREUSE dwCommandReuse,
/* [annotation][in] */
_In_ BOOL fCopy) = 0;
};
@ -695,26 +703,34 @@ EXTERN_C const IID IID_ICommandTree;
DECLSPEC_XFGVIRT(ICommandTree, FindErrorNodes)
HRESULT ( STDMETHODCALLTYPE *FindErrorNodes )(
ICommandTree * This,
/* [in] */ const DBCOMMANDTREE *pRoot,
/* [out] */ ULONG *pcErrorNodes,
/* [out] */ DBCOMMANDTREE ***prgErrorNodes);
/* [annotation][in] */
_In_ const DBCOMMANDTREE *pRoot,
/* [annotation][out] */
_Out_ ULONG *pcErrorNodes,
/* [annotation][out] */
_Out_ DBCOMMANDTREE ***prgErrorNodes);
DECLSPEC_XFGVIRT(ICommandTree, FreeCommandTree)
HRESULT ( STDMETHODCALLTYPE *FreeCommandTree )(
ICommandTree * This,
/* [in] */ DBCOMMANDTREE **ppRoot);
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot);
DECLSPEC_XFGVIRT(ICommandTree, GetCommandTree)
HRESULT ( STDMETHODCALLTYPE *GetCommandTree )(
ICommandTree * This,
/* [out] */ DBCOMMANDTREE **ppRoot);
/* [annotation][out] */
_Out_ DBCOMMANDTREE **ppRoot);
DECLSPEC_XFGVIRT(ICommandTree, SetCommandTree)
HRESULT ( STDMETHODCALLTYPE *SetCommandTree )(
ICommandTree * This,
/* [in] */ DBCOMMANDTREE **ppRoot,
/* [in] */ DBCOMMANDREUSE dwCommandReuse,
/* [in] */ BOOL fCopy);
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot,
/* [annotation][in] */
_In_ DBCOMMANDREUSE dwCommandReuse,
/* [annotation][in] */
_In_ BOOL fCopy);
END_INTERFACE
} ICommandTreeVtbl;
@ -791,11 +807,14 @@ EXTERN_C const IID IID_IQuery;
{
public:
virtual HRESULT STDMETHODCALLTYPE AddPostProcessing(
/* [in] */ DBCOMMANDTREE **ppRoot,
/* [in] */ BOOL fCopy) = 0;
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot,
/* [annotation][in] */
_In_ BOOL fCopy) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCardinalityEstimate(
/* [out] */ DBORDINAL *pulCardinality) = 0;
/* [annotation][out] */
_Out_ DBORDINAL *pulCardinality) = 0;
};
@ -825,37 +844,48 @@ EXTERN_C const IID IID_IQuery;
DECLSPEC_XFGVIRT(ICommandTree, FindErrorNodes)
HRESULT ( STDMETHODCALLTYPE *FindErrorNodes )(
IQuery * This,
/* [in] */ const DBCOMMANDTREE *pRoot,
/* [out] */ ULONG *pcErrorNodes,
/* [out] */ DBCOMMANDTREE ***prgErrorNodes);
/* [annotation][in] */
_In_ const DBCOMMANDTREE *pRoot,
/* [annotation][out] */
_Out_ ULONG *pcErrorNodes,
/* [annotation][out] */
_Out_ DBCOMMANDTREE ***prgErrorNodes);
DECLSPEC_XFGVIRT(ICommandTree, FreeCommandTree)
HRESULT ( STDMETHODCALLTYPE *FreeCommandTree )(
IQuery * This,
/* [in] */ DBCOMMANDTREE **ppRoot);
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot);
DECLSPEC_XFGVIRT(ICommandTree, GetCommandTree)
HRESULT ( STDMETHODCALLTYPE *GetCommandTree )(
IQuery * This,
/* [out] */ DBCOMMANDTREE **ppRoot);
/* [annotation][out] */
_Out_ DBCOMMANDTREE **ppRoot);
DECLSPEC_XFGVIRT(ICommandTree, SetCommandTree)
HRESULT ( STDMETHODCALLTYPE *SetCommandTree )(
IQuery * This,
/* [in] */ DBCOMMANDTREE **ppRoot,
/* [in] */ DBCOMMANDREUSE dwCommandReuse,
/* [in] */ BOOL fCopy);
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot,
/* [annotation][in] */
_In_ DBCOMMANDREUSE dwCommandReuse,
/* [annotation][in] */
_In_ BOOL fCopy);
DECLSPEC_XFGVIRT(IQuery, AddPostProcessing)
HRESULT ( STDMETHODCALLTYPE *AddPostProcessing )(
IQuery * This,
/* [in] */ DBCOMMANDTREE **ppRoot,
/* [in] */ BOOL fCopy);
/* [annotation][in] */
_In_ DBCOMMANDTREE **ppRoot,
/* [annotation][in] */
_In_ BOOL fCopy);
DECLSPEC_XFGVIRT(IQuery, GetCardinalityEstimate)
HRESULT ( STDMETHODCALLTYPE *GetCardinalityEstimate )(
IQuery * This,
/* [out] */ DBORDINAL *pulCardinality);
/* [annotation][out] */
_Out_ DBORDINAL *pulCardinality);
END_INTERFACE
} IQueryVtbl;

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -293,7 +293,7 @@ const UINT D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END = 0xffffffff;
const UINT D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff8;
const UINT D3D12_PACKED_TILE = 0xffffffff;
const UINT D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
const UINT D3D12_PREVIEW_SDK_VERSION = 707;
const UINT D3D12_PREVIEW_SDK_VERSION = 710;
const UINT D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 16;
const UINT D3D12_PS_CS_UAV_REGISTER_COMPONENTS = 1;
const UINT D3D12_PS_CS_UAV_REGISTER_COUNT = 8;
@ -361,7 +361,7 @@ const UINT D3D12_REQ_TEXTURECUBE_DIMENSION = 16384;
const UINT D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
const UINT D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES = 0xffffffff;
const UINT D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT = 2;
const UINT D3D12_SDK_VERSION = 608;
const UINT D3D12_SDK_VERSION = 610;
const UINT D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES = 32;
const UINT D3D12_SHADER_MAJOR_VERSION = 5;
const UINT D3D12_SHADER_MAX_INSTANCES = 65535;
@ -803,6 +803,28 @@ typedef struct D3D12_RASTERIZER_DESC1
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D12_RASTERIZER_DESC1;
typedef enum D3D12_LINE_RASTERIZATION_MODE
{
D3D12_LINE_RASTERIZATION_MODE_ALIASED,
D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED,
D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE,
D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW,
} D3D12_LINE_RASTERIZATION_MODE;
typedef struct D3D12_RASTERIZER_DESC2
{
D3D12_FILL_MODE FillMode;
D3D12_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
FLOAT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode;
UINT ForcedSampleCount;
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D12_RASTERIZER_DESC2;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Pipeline State v1
@ -940,6 +962,7 @@ typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25, // D3D12_SHADER_BYTECODE
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26, // D3D12_DEPTH_STENCIL_DESC2
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27, // D3D12_RASTERIZER_DESC1
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28, // D3D12_RASTERIZER_DESC2
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID,
} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
@ -986,7 +1009,10 @@ typedef enum D3D12_FEATURE
D3D12_FEATURE_D3D12_OPTIONS13 = 42,
D3D12_FEATURE_D3D12_OPTIONS14 = 43,
D3D12_FEATURE_D3D12_OPTIONS15 = 44,
D3D12_FEATURE_D3D12_OPTIONS16 = 45
D3D12_FEATURE_D3D12_OPTIONS16 = 45,
D3D12_FEATURE_D3D12_OPTIONS17 = 46,
D3D12_FEATURE_D3D12_OPTIONS18 = 47,
D3D12_FEATURE_D3D12_OPTIONS19 = 48,
} D3D12_FEATURE;
typedef enum D3D12_SHADER_MIN_PRECISION_SUPPORT
@ -1155,6 +1181,7 @@ typedef enum D3D_ROOT_SIGNATURE_VERSION
D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2,
D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3,
} D3D_ROOT_SIGNATURE_VERSION;
typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE
@ -1492,9 +1519,37 @@ typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16
{
[annotation("_Out_")] BOOL DynamicDepthBiasSupported;
[annotation("_Out_")] BOOL Reserved; //
[annotation("_Out_")] BOOL GPUUploadHeapSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS16;
// D3D12_FEATURE_D3D12_OPTIONS17
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17
{
[annotation("_Out_")] BOOL NonNormalizedCoordinateSamplersSupported;
[annotation("_Out_")] BOOL ManualWriteTrackingResourceSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS17;
// D3D12_FEATURE_D3D12_OPTIONS18
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18
{
[annotation("_Out_")] BOOL RenderPassesValid;
} D3D12_FEATURE_DATA_D3D12_OPTIONS18;
// D3D12_FEATURE_D3D12_OPTIONS19
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19
{
BOOL MismatchingOutputDimensionsSupported;
UINT SupportedSampleCountsWithNoOutputs;
BOOL PointSamplingAddressesNeverRoundUp;
BOOL RasterizerDesc2Supported;
BOOL NarrowQuadrilateralLinesSupported;
BOOL AnisoFilterWithPointMipSupported;
UINT MaxSamplerDescriptorHeapSize;
UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers;
UINT MaxViewDescriptorHeapSize;
[annotation("_Out_")] BOOL ComputeOnlyCustomHeapSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS19;
typedef struct D3D12_RESOURCE_ALLOCATION_INFO
{
@ -1515,6 +1570,7 @@ typedef enum D3D12_HEAP_TYPE
D3D12_HEAP_TYPE_UPLOAD = 2,
D3D12_HEAP_TYPE_READBACK = 3,
D3D12_HEAP_TYPE_CUSTOM = 4,
D3D12_HEAP_TYPE_GPU_UPLOAD = 5,
} D3D12_HEAP_TYPE;
typedef enum D3D12_CPU_PAGE_PROPERTY
@ -1555,6 +1611,7 @@ typedef enum D3D12_HEAP_FLAGS
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000,
// These are convenience aliases to manage resource heap tier restrictions. They cannot be bitwise OR'ed together cleanly.
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0,
@ -2094,6 +2151,7 @@ typedef enum D3D12_FILTER
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000011,
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x00000014,
D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x00000015,
D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x00000054,
D3D12_FILTER_ANISOTROPIC = 0x00000055,
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x00000080,
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x00000081,
@ -2103,6 +2161,7 @@ typedef enum D3D12_FILTER
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000091,
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x00000094,
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x00000095,
D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x000000d4,
D3D12_FILTER_COMPARISON_ANISOTROPIC = 0x000000d5,
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x00000100,
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x00000101,
@ -2112,6 +2171,7 @@ typedef enum D3D12_FILTER
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000111,
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x00000114,
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x00000115,
D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x00000154,
D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x00000155,
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x00000180,
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x00000181,
@ -2121,6 +2181,7 @@ typedef enum D3D12_FILTER
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000191,
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x00000194,
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x00000195,
D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x000001d4,
D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x000001d5
} D3D12_FILTER;
@ -2164,6 +2225,13 @@ cpp_quote( " D3D12_ENCODE_BASIC_FILTER(
cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" )
cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" )
cpp_quote( " reduction ) ) ) " )
cpp_quote( "#define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \\" )
cpp_quote( " ( ( D3D12_FILTER ) ( \\" )
cpp_quote( " D3D12_ANISOTROPIC_FILTERING_BIT | \\" )
cpp_quote( " D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \\" )
cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" )
cpp_quote( " D3D12_FILTER_TYPE_POINT, \\" )
cpp_quote( " reduction ) ) ) " )
cpp_quote( "#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \\" )
cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" )
@ -2187,8 +2255,7 @@ cpp_quote( " ( D3D12_DECODE_FILTER_REDUCTION( D3
cpp_quote( "#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \\" )
cpp_quote( " ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \\" )
cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \\" )
cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) && \\" )
cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) ) " )
cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) ) " )
typedef enum D3D12_TEXTURE_ADDRESS_MODE
{
@ -2219,7 +2286,8 @@ typedef struct D3D12_SAMPLER_DESC
typedef enum D3D12_SAMPLER_FLAGS
{
D3D12_SAMPLER_FLAG_NONE = 0x0,
D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x01
D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x01,
D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x02,
} D3D12_SAMPLER_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS );")
@ -2625,7 +2693,8 @@ typedef enum D3D12_STATIC_BORDER_COLOR
D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK, // 0.0f,0.0f,0.0f,1.0f
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, // 1.0f,1.0f,1.0f,1.0f
D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT, // 0,0,0,1
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT // 1,1,1,1
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT, // 1,1,1,1
} D3D12_STATIC_BORDER_COLOR;
typedef struct D3D12_STATIC_SAMPLER_DESC
@ -2645,6 +2714,23 @@ typedef struct D3D12_STATIC_SAMPLER_DESC
D3D12_SHADER_VISIBILITY ShaderVisibility;
} D3D12_STATIC_SAMPLER_DESC;
typedef struct D3D12_STATIC_SAMPLER_DESC1
{
D3D12_FILTER Filter;
D3D12_TEXTURE_ADDRESS_MODE AddressU;
D3D12_TEXTURE_ADDRESS_MODE AddressV;
D3D12_TEXTURE_ADDRESS_MODE AddressW;
FLOAT MipLODBias;
UINT MaxAnisotropy;
D3D12_COMPARISON_FUNC ComparisonFunc;
D3D12_STATIC_BORDER_COLOR BorderColor;
FLOAT MinLOD;
FLOAT MaxLOD;
UINT ShaderRegister;
UINT RegisterSpace;
D3D12_SHADER_VISIBILITY ShaderVisibility;
D3D12_SAMPLER_FLAGS Flags;
} D3D12_STATIC_SAMPLER_DESC1;
typedef struct D3D12_ROOT_SIGNATURE_DESC
{
@ -2719,6 +2805,15 @@ typedef struct D3D12_ROOT_SIGNATURE_DESC1
D3D12_ROOT_SIGNATURE_FLAGS Flags;
} D3D12_ROOT_SIGNATURE_DESC1;
typedef struct D3D12_ROOT_SIGNATURE_DESC2
{
UINT NumParameters;
[annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER1* pParameters;
UINT NumStaticSamplers;
[annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC1* pStaticSamplers;
D3D12_ROOT_SIGNATURE_FLAGS Flags;
} D3D12_ROOT_SIGNATURE_DESC2;
typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC
{
@ -2727,6 +2822,7 @@ typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC
{
D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2;
};
} D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
@ -4651,6 +4747,7 @@ typedef enum D3D12_AUTO_BREADCRUMB_OP
D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42,
D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43,
D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44,
D3D12_AUTO_BREADCRUMB_OP_BARRIER = 45,
} D3D12_AUTO_BREADCRUMB_OP;
typedef struct D3D12_AUTO_BREADCRUMB_NODE
@ -5062,7 +5159,10 @@ typedef enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
} D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE;
typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
@ -5070,6 +5170,12 @@ typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
D3D12_CLEAR_VALUE ClearValue;
} D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;
typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS
{
UINT AdditionalWidth;
UINT AdditionalHeight;
} D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS
{
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type;
@ -5077,6 +5183,7 @@ typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS
union
{
D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear;
D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
};
} D3D12_RENDER_PASS_BEGINNING_ACCESS;
@ -5086,7 +5193,10 @@ typedef enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
} D3D12_RENDER_PASS_ENDING_ACCESS_TYPE;
typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS
@ -5116,6 +5226,12 @@ typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS
} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS;
typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS
{
UINT AdditionalWidth;
UINT AdditionalHeight;
} D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
typedef struct D3D12_RENDER_PASS_ENDING_ACCESS
{
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type;
@ -5123,6 +5239,7 @@ typedef struct D3D12_RENDER_PASS_ENDING_ACCESS
union
{
D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;
D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
};
} D3D12_RENDER_PASS_ENDING_ACCESS;
@ -5149,13 +5266,14 @@ typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
} D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
// UAV Access Mode
typedef enum D3D12_RENDER_PASS_FLAGS
{
D3D12_RENDER_PASS_FLAG_NONE = 0x0,
D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4
D3D12_RENDER_PASS_FLAG_NONE = 0x0,
D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4,
D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8,
D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10
} D3D12_RENDER_PASS_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS );")
@ -5474,15 +5592,6 @@ interface ID3D12Device9
);
};
[uuid(5405c344-d457-444e-b4dd-2366e45aee39), object, local, pointer_default(unique)]
interface ID3D12Device11
: ID3D12Device10
{
void CreateSampler2(
[annotation("_In_")] const D3D12_SAMPLER_DESC2* pDesc,
[annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
};
[uuid(517f8718-aa66-49f9-b02b-a7ab89c06031), object, local, pointer_default(unique)]
interface ID3D12Device10
: ID3D12Device9
@ -5495,7 +5604,7 @@ interface ID3D12Device10
[annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
[annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedSession,
UINT32 NumCastableFormats,
[annotation("_In_opt_count_(NumCastableFormats)")] DXGI_FORMAT *pCastableFormats,
[annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats,
[in] REFIID riidResource, // Expected: ID3D12Resource1*
[out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource);
@ -5506,7 +5615,7 @@ interface ID3D12Device10
D3D12_BARRIER_LAYOUT InitialLayout,
[annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
UINT32 NumCastableFormats,
[annotation("_In_opt_count_(NumCastableFormats)")] DXGI_FORMAT *pCastableFormats,
[annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats,
[in] REFIID riid, // Expected: ID3D12Resource*
[out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource);
@ -5516,12 +5625,34 @@ interface ID3D12Device10
[annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
[annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession,
UINT32 NumCastableFormats,
[annotation("_In_opt_count_(NumCastableFormats)")] DXGI_FORMAT *pCastableFormats,
[annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats,
[in] REFIID riid, // Expected: ID3D12Resource1*
[out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource
);
};
[uuid(5405c344-d457-444e-b4dd-2366e45aee39), object, local, pointer_default(unique)]
interface ID3D12Device11
: ID3D12Device10
{
void CreateSampler2(
[annotation("_In_")] const D3D12_SAMPLER_DESC2* pDesc,
[annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
};
[uuid(5af5c532-4c91-4cd0-b541-15a405395fc5), object, local, pointer_default(unique)]
interface ID3D12Device12
: ID3D12Device11
{
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo3(
UINT visibleMask,
UINT numResourceDescs,
[annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC1* pResourceDescs,
[annotation("_In_opt_count_(numResourceDescs)")] const UINT32* pNumCastableFormats,
[annotation("_In_opt_count_(numResourceDescs)")] const DXGI_FORMAT *const *ppCastableFormats,
[annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1);
};
[uuid(bc66d368-7373-4943-8757-fc87dc79e476), object, local, pointer_default(unique)]
interface ID3D12VirtualizationGuestDevice
: IUnknown
@ -5680,6 +5811,7 @@ cpp_quote("DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c
cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);")
cpp_quote("DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);")
cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);")
cpp_quote("DEFINE_GUID(CLSID_D3D12DSRDeviceFactory, 0x7f9bdcac, 0xf629, 0x455e, 0xab, 0x13, 0xa8, 0x07, 0xfb, 0xe9, 0xab, 0xa4);")
cpp_quote("")
cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** );")
cpp_quote("")
@ -5894,6 +6026,16 @@ interface ID3D12GraphicsCommandList9 : ID3D12GraphicsCommandList8
};
[uuid(51ee7783-6426-4428-b182-42f3541fca71), object, local, pointer_default(unique)]
interface ID3D12DSRDeviceFactory : IUnknown
{
HRESULT CreateDSRDevice(
[in] ID3D12Device *pD3D12Device,
[in] UINT NodeMask,
[in] REFIID riid, // Expected IDSRDevice
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvDSRDevice);
}
//----------------------------------------------------------------------------------------------------------
// Old types which are still supported by the runtime for app-compat
@ -5955,6 +6097,7 @@ cpp_quote( "DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0x
cpp_quote( "DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7);" )
@ -5966,3 +6109,4 @@ cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,
cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12DSRDeviceFactory,0x51ee7783,0x6426,0x4428,0xb1,0x82,0x42,0xf3,0x54,0x1f,0xca,0x71);" )

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -244,6 +244,15 @@ interface ID3D12SharingContract
void EndCapturableWork([annotation("_In_")] REFGUID guid);
};
[uuid(86ca3b85-49ad-4b6e-aed5-eddb18540f41), object, local, pointer_default(unique)]
interface ID3D12ManualWriteTrackingResource
: IUnknown
{
void TrackWrite(
UINT Subresource,
[annotation("_In_opt_")] const D3D12_RANGE* pWrittenRange);
};
//==================================================================================================================================
//
@ -1420,7 +1429,23 @@ typedef enum D3D12_MESSAGE_ID {
D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE = 1367,
D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING = 1368,
D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE = 1369,
D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED = 1370,
D3D12_MESSAGE_ID_INVALID_CAST_TARGET = 1371,
D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE = 1372,
D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE = 1373,
D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS = 1374,
D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS = 1375,
D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR = 1376,
D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR = 1377,
D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378,
D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379,
D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380,
D3D12_MESSAGE_ID_D3D12_MESSAGES_END
} D3D12_MESSAGE_ID;
@ -1764,5 +1789,6 @@ cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88
cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList3,0x197d5e15,0x4d37,0x4d34,0xaf,0x78,0x72,0x4c,0xd7,0x0f,0xdb,0x1f);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12ManualWriteTrackingResource,0x86ca3b85,0x49ad,0x4b6e,0xae,0xd5,0xed,0xdb,0x18,0x54,0x0f,0x41);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);" )
cpp_quote( "DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00);" )

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,9 +1,3 @@
/*-------------------------------------------------------------------------------------
*
* Copyright (c) Microsoft Corporation
* Licensed under the MIT license
*
*-------------------------------------------------------------------------------------*/
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
@ -434,7 +428,8 @@ EXTERN_C const IID IID_ID3D10Blob;
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ID3D10Blob * This,
/* [in] */ REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
@ -549,7 +544,8 @@ EXTERN_C const IID IID_ID3DDestructionNotifier;
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ID3DDestructionNotifier * This,
/* [in] */ REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);

Просмотреть файл

@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0603 */
/* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
@ -24,7 +23,7 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
@ -38,6 +37,14 @@
#pragma once
#endif
#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif
/* Forward Declarations */
#ifndef __IGCHost_FWD_DEFINED__
@ -120,21 +127,28 @@ EXTERN_C const IID IID_IGCHost;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimits(
/* [in] */ DWORD SegmentSize,
/* [in] */ DWORD MaxGen0Size) = 0;
/* [annotation][in] */
_In_ DWORD SegmentSize,
/* [annotation][in] */
_In_ DWORD MaxGen0Size) = 0;
virtual HRESULT STDMETHODCALLTYPE Collect(
/* [in] */ LONG Generation) = 0;
/* [annotation][in] */
_In_ LONG Generation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStats(
/* [out][in] */ COR_GC_STATS *pStats) = 0;
/* [annotation][out][in] */
_Inout_ COR_GC_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadStats(
/* [in] */ DWORD *pFiberCookie,
/* [out][in] */ COR_GC_THREAD_STATS *pStats) = 0;
/* [annotation][in] */
_In_ DWORD *pFiberCookie,
/* [annotation][out][in] */
_Inout_ COR_GC_THREAD_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVirtualMemLimit(
/* [in] */ SIZE_T sztMaxVirtualMemMB) = 0;
/* [annotation][in] */
_In_ SIZE_T sztMaxVirtualMemMB) = 0;
};
@ -145,39 +159,55 @@ EXTERN_C const IID IID_IGCHost;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHost * This,
/* [in] */ REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHost * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHost * This);
DECLSPEC_XFGVIRT(IGCHost, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
IGCHost * This,
/* [in] */ DWORD SegmentSize,
/* [in] */ DWORD MaxGen0Size);
/* [annotation][in] */
_In_ DWORD SegmentSize,
/* [annotation][in] */
_In_ DWORD MaxGen0Size);
DECLSPEC_XFGVIRT(IGCHost, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
IGCHost * This,
/* [in] */ LONG Generation);
/* [annotation][in] */
_In_ LONG Generation);
DECLSPEC_XFGVIRT(IGCHost, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
IGCHost * This,
/* [out][in] */ COR_GC_STATS *pStats);
/* [annotation][out][in] */
_Inout_ COR_GC_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, GetThreadStats)
HRESULT ( STDMETHODCALLTYPE *GetThreadStats )(
IGCHost * This,
/* [in] */ DWORD *pFiberCookie,
/* [out][in] */ COR_GC_THREAD_STATS *pStats);
/* [annotation][in] */
_In_ DWORD *pFiberCookie,
/* [annotation][out][in] */
_Inout_ COR_GC_THREAD_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, SetVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *SetVirtualMemLimit )(
IGCHost * This,
/* [in] */ SIZE_T sztMaxVirtualMemMB);
/* [annotation][in] */
_In_ SIZE_T sztMaxVirtualMemMB);
END_INTERFACE
} IGCHostVtbl;
@ -244,8 +274,10 @@ EXTERN_C const IID IID_IGCHost2;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimitsEx(
/* [in] */ SIZE_T SegmentSize,
/* [in] */ SIZE_T MaxGen0Size) = 0;
/* [annotation][in] */
_In_ SIZE_T SegmentSize,
/* [annotation][in] */
_In_ SIZE_T MaxGen0Size) = 0;
};
@ -256,44 +288,63 @@ EXTERN_C const IID IID_IGCHost2;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHost2 * This,
/* [in] */ REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHost2 * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHost2 * This);
DECLSPEC_XFGVIRT(IGCHost, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
IGCHost2 * This,
/* [in] */ DWORD SegmentSize,
/* [in] */ DWORD MaxGen0Size);
/* [annotation][in] */
_In_ DWORD SegmentSize,
/* [annotation][in] */
_In_ DWORD MaxGen0Size);
DECLSPEC_XFGVIRT(IGCHost, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
IGCHost2 * This,
/* [in] */ LONG Generation);
/* [annotation][in] */
_In_ LONG Generation);
DECLSPEC_XFGVIRT(IGCHost, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
IGCHost2 * This,
/* [out][in] */ COR_GC_STATS *pStats);
/* [annotation][out][in] */
_Inout_ COR_GC_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, GetThreadStats)
HRESULT ( STDMETHODCALLTYPE *GetThreadStats )(
IGCHost2 * This,
/* [in] */ DWORD *pFiberCookie,
/* [out][in] */ COR_GC_THREAD_STATS *pStats);
/* [annotation][in] */
_In_ DWORD *pFiberCookie,
/* [annotation][out][in] */
_Inout_ COR_GC_THREAD_STATS *pStats);
DECLSPEC_XFGVIRT(IGCHost, SetVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *SetVirtualMemLimit )(
IGCHost2 * This,
/* [in] */ SIZE_T sztMaxVirtualMemMB);
/* [annotation][in] */
_In_ SIZE_T sztMaxVirtualMemMB);
DECLSPEC_XFGVIRT(IGCHost2, SetGCStartupLimitsEx)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimitsEx )(
IGCHost2 * This,
/* [in] */ SIZE_T SegmentSize,
/* [in] */ SIZE_T MaxGen0Size);
/* [annotation][in] */
_In_ SIZE_T SegmentSize,
/* [annotation][in] */
_In_ SIZE_T MaxGen0Size);
END_INTERFACE
} IGCHost2Vtbl;

Просмотреть файл

@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0603 */
/* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
@ -24,20 +23,28 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __IValidator_h__
#define __IValidator_h__
#ifndef __ivalidator_h__
#define __ivalidator_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif
/* Forward Declarations */
#ifndef __IValidator_FWD_DEFINED__
@ -62,7 +69,7 @@ extern "C"{
#endif
/* interface __MIDL_itf_IValidator_0000_0000 */
/* interface __MIDL_itf_ivalidator_0000_0000 */
/* [local] */
#pragma warning(push)
@ -81,8 +88,8 @@ enum ValidatorFlags
} ;
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0000_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0000_v0_0_s_ifspec;
#ifndef __IValidator_INTERFACE_DEFINED__
#define __IValidator_INTERFACE_DEFINED__
@ -100,21 +107,34 @@ EXTERN_C const IID IID_IValidator;
{
public:
virtual HRESULT STDMETHODCALLTYPE Validate(
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ __RPC__in_opt IUnknown *pAppDomain,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize) = 0;
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ IUnknown *pAppDomain,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatEventInfo(
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa) = 0;
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa) = 0;
};
@ -125,36 +145,55 @@ EXTERN_C const IID IID_IValidator;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IValidator * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IValidator * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IValidator * This);
DECLSPEC_XFGVIRT(IValidator, Validate)
HRESULT ( STDMETHODCALLTYPE *Validate )(
__RPC__in IValidator * This,
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ __RPC__in_opt IUnknown *pAppDomain,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize);
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ IUnknown *pAppDomain,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize);
DECLSPEC_XFGVIRT(IValidator, FormatEventInfo)
HRESULT ( STDMETHODCALLTYPE *FormatEventInfo )(
__RPC__in IValidator * This,
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa);
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa);
END_INTERFACE
} IValidatorVtbl;
@ -212,21 +251,34 @@ EXTERN_C const IID IID_ICLRValidator;
{
public:
virtual HRESULT STDMETHODCALLTYPE Validate(
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ unsigned long ulAppDomainId,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize) = 0;
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ unsigned long ulAppDomainId,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatEventInfo(
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa) = 0;
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa) = 0;
};
@ -237,36 +289,55 @@ EXTERN_C const IID IID_ICLRValidator;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ICLRValidator * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ICLRValidator * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ICLRValidator * This);
DECLSPEC_XFGVIRT(ICLRValidator, Validate)
HRESULT ( STDMETHODCALLTYPE *Validate )(
__RPC__in ICLRValidator * This,
/* [in] */ __RPC__in_opt IVEHandler *veh,
/* [in] */ unsigned long ulAppDomainId,
/* [in] */ unsigned long ulFlags,
/* [in] */ unsigned long ulMaxError,
/* [in] */ unsigned long token,
/* [in] */ __RPC__in LPWSTR fileName,
/* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
/* [in] */ unsigned long ulSize);
/* [annotation][in] */
_In_ IVEHandler *veh,
/* [annotation][in] */
_In_ unsigned long ulAppDomainId,
/* [annotation][in] */
_In_ unsigned long ulFlags,
/* [annotation][in] */
_In_ unsigned long ulMaxError,
/* [annotation][in] */
_In_ unsigned long token,
/* [annotation][in] */
_In_ LPWSTR fileName,
/* [annotation][size_is][in] */
_In_reads_(ulSize) BYTE *pe,
/* [annotation][in] */
_In_ unsigned long ulSize);
DECLSPEC_XFGVIRT(ICLRValidator, FormatEventInfo)
HRESULT ( STDMETHODCALLTYPE *FormatEventInfo )(
__RPC__in ICLRValidator * This,
/* [in] */ HRESULT hVECode,
/* [in] */ VEContext Context,
/* [out][in] */ __RPC__inout LPWSTR msg,
/* [in] */ unsigned long ulMaxLength,
/* [in] */ __RPC__in SAFEARRAY * psa);
/* [annotation][in] */
_In_ HRESULT hVECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][out][in] */
_Inout_ LPWSTR msg,
/* [annotation][in] */
_In_ unsigned long ulMaxLength,
/* [annotation][in] */
_In_ SAFEARRAY * psa);
END_INTERFACE
} ICLRValidatorVtbl;
@ -308,14 +379,14 @@ EXTERN_C const IID IID_ICLRValidator;
#endif /* __ICLRValidator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_IValidator_0000_0002 */
/* interface __MIDL_itf_ivalidator_0000_0002 */
/* [local] */
#pragma warning(pop)
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0002_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0002_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
@ -324,6 +395,11 @@ unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *,
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
/* end of Additional Prototypes */
#ifdef __cplusplus

Просмотреть файл

@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0603 */
/* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
@ -24,20 +23,28 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __IVEHandler_h__
#define __IVEHandler_h__
#ifndef __ivehandler_h__
#define __ivehandler_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif
/* Forward Declarations */
#ifndef __VEHandlerClass_FWD_DEFINED__
@ -67,7 +74,7 @@ extern "C"{
#endif
/* interface __MIDL_itf_IVEHandler_0000_0000 */
/* interface __MIDL_itf_ivehandler_0000_0000 */
/* [local] */
typedef struct tag_VerError
@ -87,8 +94,8 @@ typedef _VerError VEContext;
extern RPC_IF_HANDLE __MIDL_itf_IVEHandler_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_IVEHandler_0000_0000_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivehandler_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ivehandler_0000_0000_v0_0_s_ifspec;
#ifndef __VEHandlerLib_LIBRARY_DEFINED__
@ -125,12 +132,16 @@ EXTERN_C const IID IID_IVEHandler;
{
public:
virtual HRESULT STDMETHODCALLTYPE VEHandler(
/* [in] */ HRESULT VECode,
/* [in] */ VEContext Context,
/* [in] */ __RPC__in SAFEARRAY * psa) = 0;
/* [annotation][in] */
_In_ HRESULT VECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][in] */
_In_ SAFEARRAY * psa) = 0;
virtual HRESULT STDMETHODCALLTYPE SetReporterFtn(
/* [in] */ __int64 lFnPtr) = 0;
/* [annotation][in] */
_In_ __int64 lFnPtr) = 0;
};
@ -141,27 +152,37 @@ EXTERN_C const IID IID_IVEHandler;
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IVEHandler * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IVEHandler * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IVEHandler * This);
DECLSPEC_XFGVIRT(IVEHandler, VEHandler)
HRESULT ( STDMETHODCALLTYPE *VEHandler )(
__RPC__in IVEHandler * This,
/* [in] */ HRESULT VECode,
/* [in] */ VEContext Context,
/* [in] */ __RPC__in SAFEARRAY * psa);
/* [annotation][in] */
_In_ HRESULT VECode,
/* [annotation][in] */
_In_ VEContext Context,
/* [annotation][in] */
_In_ SAFEARRAY * psa);
DECLSPEC_XFGVIRT(IVEHandler, SetReporterFtn)
HRESULT ( STDMETHODCALLTYPE *SetReporterFtn )(
__RPC__in IVEHandler * This,
/* [in] */ __int64 lFnPtr);
/* [annotation][in] */
_In_ __int64 lFnPtr);
END_INTERFACE
} IVEHandlerVtbl;
@ -210,6 +231,11 @@ unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *,
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
/* end of Additional Prototypes */
#ifdef __cplusplus

Просмотреть файл

@ -0,0 +1,36 @@
#include <windows.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _MENUEX_TEMPLATE_HEADER {
WORD wVersion;
WORD wOffset;
DWORD dwHelpId;
} MENUEX_TEMPLATE_HEADER;
typedef struct _MENUEX_TEMPLATE_ITEM {
DWORD dwType;
DWORD dwState;
UINT uId;
WORD wFlags;
WCHAR szText[1];
} MENUEX_TEMPLATE_ITEM;
typedef struct _MENUTEMPLATEEX {
union {
struct {
MENUITEMTEMPLATEHEADER mitHeader;
MENUITEMTEMPLATE miTemplate[ANYSIZE_ARRAY];
} Menu;
struct {
MENUEX_TEMPLATE_HEADER mexHeader;
MENUEX_TEMPLATE_ITEM mexItem[ANYSIZE_ARRAY];
} MenuEx;
};
} MENUTEMPLATEEX;
#ifdef __cplusplus
}
#endif

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,285 @@
#include <wincrypt.h>
#ifdef __cplusplus
extern "C" {
#endif
#define SIGNER_SUBJECT_FILE 0x01
#define SIGNER_SUBJECT_BLOB 0x02
#define SIGNER_NO_ATTR 0x00
#define SIGNER_AUTHCODE_ATTR 0x01
#define PVK_TYPE_FILE_NAME 0x01
#define PVK_TYPE_KEYCONTAINER 0x02
#define SIGNER_CERT_POLICY_STORE 0x01
#define SIGNER_CERT_POLICY_CHAIN 0x02
#define SIGNER_CERT_POLICY_SPC 0x04
#define SIGNER_CERT_POLICY_CHAIN_NO_ROOT 0x08
#define SIGNER_CERT_SPC_FILE 0x01
#define SIGNER_CERT_STORE 0x02
#define SIGNER_CERT_SPC_CHAIN 0x03
#define SIGNER_TIMESTAMP_AUTHENTICODE 1
#define SIGNER_TIMESTAMP_RFC3161 2
#define SIG_APPEND 0x1000
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN)(
_In_ PCCERT_CONTEXT pSigningCert,
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_Out_ PCRYPT_DATA_BLOB pSignedDigest
);
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_EX)(
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_Out_ PCRYPT_DATA_BLOB pSignedDigest,
_Out_ PCCERT_CONTEXT* ppSignerCert,
_Inout_ HCERTSTORE hCertChainStore
);
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_EX_WITHFILEHANDLE)(
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_In_ HANDLE hFile,
_Out_ PCRYPT_DATA_BLOB pSignedDigest,
_Out_ PCCERT_CONTEXT* ppSignerCert,
_Inout_ HCERTSTORE hCertChainStore
);
typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_WITHFILEHANDLE)(
_In_ PCCERT_CONTEXT pSigningCert,
_In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
_In_ ALG_ID digestAlgId,
_In_ PBYTE pbToBeSignedDigest,
_In_ DWORD cbToBeSignedDigest,
_In_ HANDLE hFile,
_Out_ PCRYPT_DATA_BLOB pSignedDigest
);
typedef struct _SIGNER_ATTR_AUTHCODE {
DWORD cbSize;
BOOL fCommercial;
BOOL fIndividual;
LPCWSTR pwszName;
LPCWSTR pwszInfo;
} SIGNER_ATTR_AUTHCODE, *PSIGNER_ATTR_AUTHCODE;
typedef struct _SIGNER_BLOB_INFO {
DWORD cbSize;
GUID *pGuidSubject;
DWORD cbBlob;
BYTE *pbBlob;
LPCWSTR pwszDisplayName;
} SIGNER_BLOB_INFO, *PSIGNER_BLOB_INFO;
typedef struct _SIGNER_CERT_STORE_INFO {
DWORD cbSize;
PCCERT_CONTEXT pSigningCert;
DWORD dwCertPolicy;
HCERTSTORE hCertStore;
} SIGNER_CERT_STORE_INFO, *PSIGNER_CERT_STORE_INFO;
typedef struct _SIGNER_SPC_CHAIN_INFO {
DWORD cbSize;
LPCWSTR pwszSpcFile;
DWORD dwCertPolicy;
HCERTSTORE hCertStore;
} SIGNER_SPC_CHAIN_INFO, *PSIGNER_SPC_CHAIN_INFO;
typedef struct _SIGNER_CERT {
DWORD cbSize;
DWORD dwCertChoice;
union {
LPCWSTR pwszSpcFile;
SIGNER_CERT_STORE_INFO *pCertStoreInfo;
SIGNER_SPC_CHAIN_INFO *pSpcChainInfo;
};
HWND hwnd;
} SIGNER_CERT, *PSIGNER_CERT;
typedef struct _SIGNER_CONTEXT {
DWORD cbSize;
DWORD cbBlob;
BYTE *pbBlob;
} SIGNER_CONTEXT, *PSIGNER_CONTEXT;
typedef struct _SIGNER_DIGEST_SIGN_INFO {
DWORD cbSize;
DWORD dwDigestSignChoice;
union {
PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
PFN_AUTHENTICODE_DIGEST_SIGN_WITHFILEHANDLE pfnAuthenticodeDigestSignWithFileHandle;
PFN_AUTHENTICODE_DIGEST_SIGN_EX pfnAuthenticodeDigestSignEx;
PFN_AUTHENTICODE_DIGEST_SIGN_EX_WITHFILEHANDLE pfnAuthenticodeDigestSignExWithFileHandle;
};
PCRYPT_DATA_BLOB pMetadataBlob;
DWORD dwReserved;
DWORD dwReserved2;
DWORD dwReserved3;
} SIGNER_DIGEST_SIGN_INFO, *PSIGNER_DIGEST_SIGN_INFO;
typedef struct SIGNER_DIGEST_SIGN_INFO_V1 {
DWORD cbSize;
PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
PCRYPT_DATA_BLOB pMetadataBlob;
} SIGNER_DIGEST_SIGN_INFO_V1, *PSIGNER_DIGEST_SIGN_INFO_V1;
typedef struct SIGNER_DIGEST_SIGN_INFO_V2 {
DWORD cbSize;
PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
PFN_AUTHENTICODE_DIGEST_SIGN_EX pfnAuthenticodeDigestSignEx;
PCRYPT_DATA_BLOB pMetadataBlob;
} SIGNER_DIGEST_SIGN_INFO_V2, *PSIGNER_DIGEST_SIGN_INFO_V2;
typedef struct _SIGNER_FILE_INFO {
DWORD cbSize;
LPCWSTR pwszFileName;
HANDLE hFile;
} SIGNER_FILE_INFO, *PSIGNER_FILE_INFO;
typedef struct _SIGNER_PROVIDER_INFO {
DWORD cbSize;
LPCWSTR pwszProviderName;
DWORD dwProviderType;
DWORD dwKeySpec;
DWORD dwPvkChoice;
union {
LPWSTR pwszPvkFileName;
LPWSTR pwszKeyContainer;
};
} SIGNER_PROVIDER_INFO, *PSIGNER_PROVIDER_INFO;
typedef struct _SIGNER_SIGNATURE_INFO {
DWORD cbSize;
ALG_ID algidHash;
DWORD dwAttrChoice;
union {
SIGNER_ATTR_AUTHCODE *pAttrAuthcode;
};
PCRYPT_ATTRIBUTES psAuthenticated;
PCRYPT_ATTRIBUTES psUnauthenticated;
} SIGNER_SIGNATURE_INFO, *PSIGNER_SIGNATURE_INFO;
typedef struct _SIGNER_SUBJECT_INFO {
DWORD cbSize;
DWORD *pdwIndex;
DWORD dwSubjectChoice;
union {
SIGNER_FILE_INFO *pSignerFileInfo;
SIGNER_BLOB_INFO *pSignerBlobInfo;
};
} SIGNER_SUBJECT_INFO, *PSIGNER_SUBJECT_INFO;
HRESULT WINAPI SignError(void);
HRESULT WINAPI SignerFreeSignerContext(
_In_ SIGNER_CONTEXT *pSignerContext
);
HRESULT WINAPI SignerSign(
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ LPCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ LPVOID pSipData
);
HRESULT WINAPI SignerSignEx(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ LPCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ LPVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext
);
HRESULT WINAPI SignerSignEx2(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ DWORD dwTimestampFlags,
_In_opt_ PCSTR pszTimestampAlgorithmOid,
_In_opt_ PCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ PVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext,
_In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
_Reserved_ PVOID pReserved
);
HRESULT WINAPI SignerSignEx3(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ DWORD dwTimestampFlags,
_In_opt_ PCSTR pszTimestampAlgorithmOid,
_In_opt_ PCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ PVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext,
_In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
_In_opt_ SIGNER_DIGEST_SIGN_INFO *pDigestSignInfo,
_Reserved_ PVOID pReserved
);
HRESULT WINAPI SignerTimeStamp(
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ LPCWSTR pwszHttpTimeStamp,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ LPVOID pSipData
);
HRESULT WINAPI SignerTimeStampEx(
_Reserved_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ LPCWSTR pwszHttpTimeStamp,
_In_ PCRYPT_ATTRIBUTES psRequest,
_In_ LPVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext
);
HRESULT WINAPI SignerTimeStampEx2(
_Reserved_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ LPCWSTR pwszHttpTimeStamp,
_In_ ALG_ID dwAlgId,
_In_ PCRYPT_ATTRIBUTES psRequest,
_In_ LPVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext
);
HRESULT WINAPI SignerTimeStampEx3(
_In_ DWORD dwFlags,
_In_ DWORD dwIndex,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ PCWSTR pwszHttpTimeStamp,
_In_ PCWSTR pszAlgorithmOid,
_In_opt_ PCRYPT_ATTRIBUTES psRequest,
_In_opt_ PVOID pSipData,
_Out_ SIGNER_CONTEXT **ppSignerContext,
_In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
_Reserved_ PVOID pReserved
);
#ifdef __cplusplus
}
#endif

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -321,9 +321,12 @@ EXTERN_C const IID IID_IRowsetNextRowset;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetNextRowset(
/* [in] */ IUnknown *pUnkOuter,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppNextRowset) = 0;
/* [annotation][in] */
_In_ IUnknown *pUnkOuter,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ IUnknown **ppNextRowset) = 0;
};
@ -353,9 +356,12 @@ EXTERN_C const IID IID_IRowsetNextRowset;
DECLSPEC_XFGVIRT(IRowsetNextRowset, GetNextRowset)
HRESULT ( STDMETHODCALLTYPE *GetNextRowset )(
IRowsetNextRowset * This,
/* [in] */ IUnknown *pUnkOuter,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppNextRowset);
/* [annotation][in] */
_In_ IUnknown *pUnkOuter,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ IUnknown **ppNextRowset);
END_INTERFACE
} IRowsetNextRowsetVtbl;
@ -423,12 +429,18 @@ EXTERN_C const IID IID_IRowsetNewRowAfter;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetNewDataAfter(
/* [in] */ HCHAPTER hChapter,
/* [in] */ ULONG cbbmPrevious,
/* [size_is][in] */ const BYTE *pbmPrevious,
/* [in] */ HACCESSOR hAccessor,
/* [in] */ BYTE *pData,
/* [out] */ HROW *phRow) = 0;
/* [annotation][in] */
_In_ HCHAPTER hChapter,
/* [annotation][in] */
_In_ ULONG cbbmPrevious,
/* [annotation][size_is][in] */
_In_reads_(cbbmPrevious) const BYTE *pbmPrevious,
/* [annotation][in] */
_In_ HACCESSOR hAccessor,
/* [annotation][in] */
_In_ BYTE *pData,
/* [annotation][out] */
_Out_ HROW *phRow) = 0;
};
@ -458,12 +470,18 @@ EXTERN_C const IID IID_IRowsetNewRowAfter;
DECLSPEC_XFGVIRT(IRowsetNewRowAfter, SetNewDataAfter)
HRESULT ( STDMETHODCALLTYPE *SetNewDataAfter )(
IRowsetNewRowAfter * This,
/* [in] */ HCHAPTER hChapter,
/* [in] */ ULONG cbbmPrevious,
/* [size_is][in] */ const BYTE *pbmPrevious,
/* [in] */ HACCESSOR hAccessor,
/* [in] */ BYTE *pData,
/* [out] */ HROW *phRow);
/* [annotation][in] */
_In_ HCHAPTER hChapter,
/* [annotation][in] */
_In_ ULONG cbbmPrevious,
/* [annotation][size_is][in] */
_In_reads_(cbbmPrevious) const BYTE *pbmPrevious,
/* [annotation][in] */
_In_ HACCESSOR hAccessor,
/* [annotation][in] */
_In_ BYTE *pData,
/* [annotation][out] */
_Out_ HROW *phRow);
END_INTERFACE
} IRowsetNewRowAfterVtbl;
@ -531,14 +549,20 @@ EXTERN_C const IID IID_IRowsetWithParameters;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetParameterInfo(
/* [out][in] */ DB_UPARAMS *pcParams,
/* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
/* [out] */ OLECHAR **ppNamesBuffer) = 0;
/* [annotation][out][in] */
_Inout_ DB_UPARAMS *pcParams,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcParams) DBPARAMINFO **prgParamInfo,
/* [annotation][out] */
_Out_ OLECHAR **ppNamesBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE Requery(
/* [in] */ DBPARAMS *pParams,
/* [out] */ ULONG *pulErrorParam,
/* [out] */ HCHAPTER *phReserved) = 0;
/* [annotation][in] */
_In_ DBPARAMS *pParams,
/* [annotation][out] */
_Out_ ULONG *pulErrorParam,
/* [annotation][out] */
_Out_ HCHAPTER *phReserved) = 0;
};
@ -568,16 +592,22 @@ EXTERN_C const IID IID_IRowsetWithParameters;
DECLSPEC_XFGVIRT(IRowsetWithParameters, GetParameterInfo)
HRESULT ( STDMETHODCALLTYPE *GetParameterInfo )(
IRowsetWithParameters * This,
/* [out][in] */ DB_UPARAMS *pcParams,
/* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
/* [out] */ OLECHAR **ppNamesBuffer);
/* [annotation][out][in] */
_Inout_ DB_UPARAMS *pcParams,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcParams) DBPARAMINFO **prgParamInfo,
/* [annotation][out] */
_Out_ OLECHAR **ppNamesBuffer);
DECLSPEC_XFGVIRT(IRowsetWithParameters, Requery)
HRESULT ( STDMETHODCALLTYPE *Requery )(
IRowsetWithParameters * This,
/* [in] */ DBPARAMS *pParams,
/* [out] */ ULONG *pulErrorParam,
/* [out] */ HCHAPTER *phReserved);
/* [annotation][in] */
_In_ DBPARAMS *pParams,
/* [annotation][out] */
_Out_ ULONG *pulErrorParam,
/* [annotation][out] */
_Out_ HCHAPTER *phReserved);
END_INTERFACE
} IRowsetWithParametersVtbl;
@ -648,10 +678,14 @@ EXTERN_C const IID IID_IRowsetAsynch;
{
public:
virtual HRESULT STDMETHODCALLTYPE RatioFinished(
/* [out] */ DBCOUNTITEM *pulDenominator,
/* [out] */ DBCOUNTITEM *pulNumerator,
/* [out] */ DBCOUNTITEM *pcRows,
/* [out] */ BOOL *pfNewRows) = 0;
/* [annotation][out] */
_Out_ DBCOUNTITEM *pulDenominator,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pulNumerator,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pcRows,
/* [annotation][out] */
_Out_ BOOL *pfNewRows) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
@ -683,10 +717,14 @@ EXTERN_C const IID IID_IRowsetAsynch;
DECLSPEC_XFGVIRT(IRowsetAsynch, RatioFinished)
HRESULT ( STDMETHODCALLTYPE *RatioFinished )(
IRowsetAsynch * This,
/* [out] */ DBCOUNTITEM *pulDenominator,
/* [out] */ DBCOUNTITEM *pulNumerator,
/* [out] */ DBCOUNTITEM *pcRows,
/* [out] */ BOOL *pfNewRows);
/* [annotation][out] */
_Out_ DBCOUNTITEM *pulDenominator,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pulNumerator,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pcRows,
/* [annotation][out] */
_Out_ BOOL *pfNewRows);
DECLSPEC_XFGVIRT(IRowsetAsynch, Stop)
HRESULT ( STDMETHODCALLTYPE *Stop )(
@ -761,8 +799,10 @@ EXTERN_C const IID IID_IRowsetKeys;
{
public:
virtual HRESULT STDMETHODCALLTYPE ListKeys(
/* [out][in] */ DBORDINAL *pcColumns,
/* [size_is][size_is][out] */ DBORDINAL **prgColumns) = 0;
/* [annotation][out][in] */
_Inout_ DBORDINAL *pcColumns,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcColumns) DBORDINAL **prgColumns) = 0;
};
@ -792,8 +832,10 @@ EXTERN_C const IID IID_IRowsetKeys;
DECLSPEC_XFGVIRT(IRowsetKeys, ListKeys)
HRESULT ( STDMETHODCALLTYPE *ListKeys )(
IRowsetKeys * This,
/* [out][in] */ DBORDINAL *pcColumns,
/* [size_is][size_is][out] */ DBORDINAL **prgColumns);
/* [annotation][out][in] */
_Inout_ DBORDINAL *pcColumns,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcColumns) DBORDINAL **prgColumns);
END_INTERFACE
} IRowsetKeysVtbl;
@ -984,8 +1026,10 @@ EXTERN_C const IID IID_IRowsetWatchNotify;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnChange(
/* [in] */ IRowset *pRowset,
/* [in] */ DBWATCHNOTIFY eChangeReason) = 0;
/* [annotation][in] */
_In_ IRowset *pRowset,
/* [annotation][in] */
_In_ DBWATCHNOTIFY eChangeReason) = 0;
};
@ -1015,8 +1059,10 @@ EXTERN_C const IID IID_IRowsetWatchNotify;
DECLSPEC_XFGVIRT(IRowsetWatchNotify, OnChange)
HRESULT ( STDMETHODCALLTYPE *OnChange )(
IRowsetWatchNotify * This,
/* [in] */ IRowset *pRowset,
/* [in] */ DBWATCHNOTIFY eChangeReason);
/* [annotation][in] */
_In_ IRowset *pRowset,
/* [annotation][in] */
_In_ DBWATCHNOTIFY eChangeReason);
END_INTERFACE
} IRowsetWatchNotifyVtbl;
@ -1112,34 +1158,52 @@ EXTERN_C const IID IID_IRowsetWatchRegion;
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateWatchRegion(
/* [in] */ DBWATCHMODE dwWatchMode,
/* [out] */ HWATCHREGION *phRegion) = 0;
/* [annotation][in] */
_In_ DBWATCHMODE dwWatchMode,
/* [annotation][out] */
_Out_ HWATCHREGION *phRegion) = 0;
virtual HRESULT STDMETHODCALLTYPE ChangeWatchMode(
/* [in] */ HWATCHREGION hRegion,
/* [in] */ DBWATCHMODE dwWatchMode) = 0;
/* [annotation][in] */
_In_ HWATCHREGION hRegion,
/* [annotation][in] */
_In_ DBWATCHMODE dwWatchMode) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteWatchRegion(
/* [in] */ HWATCHREGION hRegion) = 0;
/* [annotation][in] */
_In_ HWATCHREGION hRegion) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWatchRegionInfo(
/* [in] */ HWATCHREGION hRegion,
/* [out] */ DBWATCHMODE *pdwWatchMode,
/* [out] */ HCHAPTER *phChapter,
/* [out][in] */ DBBKMARK *pcbBookmark,
/* [size_is][size_is][out] */ BYTE **ppBookmark,
/* [out] */ DBROWCOUNT *pcRows) = 0;
/* [annotation][in] */
_In_ HWATCHREGION hRegion,
/* [annotation][out] */
_Out_ DBWATCHMODE *pdwWatchMode,
/* [annotation][out] */
_Out_ HCHAPTER *phChapter,
/* [annotation][out][in] */
_Inout_ DBBKMARK *pcbBookmark,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcbBookmark) BYTE **ppBookmark,
/* [annotation][out] */
_Out_ DBROWCOUNT *pcRows) = 0;
virtual HRESULT STDMETHODCALLTYPE Refresh(
/* [out][in] */ DBCOUNTITEM *pcChangesObtained,
/* [size_is][size_is][out] */ DBROWWATCHCHANGE **prgChanges) = 0;
/* [annotation][out][in] */
_Inout_ DBCOUNTITEM *pcChangesObtained,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcChangesObtained) DBROWWATCHCHANGE **prgChanges) = 0;
virtual HRESULT STDMETHODCALLTYPE ShrinkWatchRegion(
/* [in] */ HWATCHREGION hRegion,
/* [in] */ HCHAPTER hChapter,
/* [in] */ DBBKMARK cbBookmark,
/* [size_is][in] */ BYTE *pBookmark,
/* [in] */ DBROWCOUNT cRows) = 0;
/* [annotation][in] */
_In_ HWATCHREGION hRegion,
/* [annotation][in] */
_In_ HCHAPTER hChapter,
/* [annotation][in] */
_In_ DBBKMARK cbBookmark,
/* [annotation][size_is][in] */
_In_reads_(cbBookmark) BYTE *pBookmark,
/* [annotation][in] */
_In_ DBROWCOUNT cRows) = 0;
};
@ -1181,44 +1245,62 @@ EXTERN_C const IID IID_IRowsetWatchRegion;
DECLSPEC_XFGVIRT(IRowsetWatchRegion, CreateWatchRegion)
HRESULT ( STDMETHODCALLTYPE *CreateWatchRegion )(
IRowsetWatchRegion * This,
/* [in] */ DBWATCHMODE dwWatchMode,
/* [out] */ HWATCHREGION *phRegion);
/* [annotation][in] */
_In_ DBWATCHMODE dwWatchMode,
/* [annotation][out] */
_Out_ HWATCHREGION *phRegion);
DECLSPEC_XFGVIRT(IRowsetWatchRegion, ChangeWatchMode)
HRESULT ( STDMETHODCALLTYPE *ChangeWatchMode )(
IRowsetWatchRegion * This,
/* [in] */ HWATCHREGION hRegion,
/* [in] */ DBWATCHMODE dwWatchMode);
/* [annotation][in] */
_In_ HWATCHREGION hRegion,
/* [annotation][in] */
_In_ DBWATCHMODE dwWatchMode);
DECLSPEC_XFGVIRT(IRowsetWatchRegion, DeleteWatchRegion)
HRESULT ( STDMETHODCALLTYPE *DeleteWatchRegion )(
IRowsetWatchRegion * This,
/* [in] */ HWATCHREGION hRegion);
/* [annotation][in] */
_In_ HWATCHREGION hRegion);
DECLSPEC_XFGVIRT(IRowsetWatchRegion, GetWatchRegionInfo)
HRESULT ( STDMETHODCALLTYPE *GetWatchRegionInfo )(
IRowsetWatchRegion * This,
/* [in] */ HWATCHREGION hRegion,
/* [out] */ DBWATCHMODE *pdwWatchMode,
/* [out] */ HCHAPTER *phChapter,
/* [out][in] */ DBBKMARK *pcbBookmark,
/* [size_is][size_is][out] */ BYTE **ppBookmark,
/* [out] */ DBROWCOUNT *pcRows);
/* [annotation][in] */
_In_ HWATCHREGION hRegion,
/* [annotation][out] */
_Out_ DBWATCHMODE *pdwWatchMode,
/* [annotation][out] */
_Out_ HCHAPTER *phChapter,
/* [annotation][out][in] */
_Inout_ DBBKMARK *pcbBookmark,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcbBookmark) BYTE **ppBookmark,
/* [annotation][out] */
_Out_ DBROWCOUNT *pcRows);
DECLSPEC_XFGVIRT(IRowsetWatchRegion, Refresh)
HRESULT ( STDMETHODCALLTYPE *Refresh )(
IRowsetWatchRegion * This,
/* [out][in] */ DBCOUNTITEM *pcChangesObtained,
/* [size_is][size_is][out] */ DBROWWATCHCHANGE **prgChanges);
/* [annotation][out][in] */
_Inout_ DBCOUNTITEM *pcChangesObtained,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcChangesObtained) DBROWWATCHCHANGE **prgChanges);
DECLSPEC_XFGVIRT(IRowsetWatchRegion, ShrinkWatchRegion)
HRESULT ( STDMETHODCALLTYPE *ShrinkWatchRegion )(
IRowsetWatchRegion * This,
/* [in] */ HWATCHREGION hRegion,
/* [in] */ HCHAPTER hChapter,
/* [in] */ DBBKMARK cbBookmark,
/* [size_is][in] */ BYTE *pBookmark,
/* [in] */ DBROWCOUNT cRows);
/* [annotation][in] */
_In_ HWATCHREGION hRegion,
/* [annotation][in] */
_In_ HCHAPTER hChapter,
/* [annotation][in] */
_In_ DBBKMARK cbBookmark,
/* [annotation][size_is][in] */
_In_reads_(cbBookmark) BYTE *pBookmark,
/* [annotation][in] */
_In_ DBROWCOUNT cRows);
END_INTERFACE
} IRowsetWatchRegionVtbl;
@ -1313,28 +1395,44 @@ EXTERN_C const IID IID_IRowsetCopyRows;
{
public:
virtual HRESULT STDMETHODCALLTYPE CloseSource(
/* [in] */ HSOURCE hSourceID) = 0;
/* [annotation][in] */
_In_ HSOURCE hSourceID) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyByHROWS(
/* [in] */ HSOURCE hSourceID,
/* [in] */ HCHAPTER hReserved,
/* [in] */ DBROWCOUNT cRows,
/* [size_is][in] */ const HROW rghRows[ ],
/* [in] */ ULONG bFlags) = 0;
/* [annotation][in] */
_In_ HSOURCE hSourceID,
/* [annotation][in] */
_In_ HCHAPTER hReserved,
/* [annotation][in] */
_In_ DBROWCOUNT cRows,
/* [annotation][size_is][in] */
_In_reads_(cRows) const HROW rghRows[ ],
/* [annotation][in] */
_In_ ULONG bFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyRows(
/* [in] */ HSOURCE hSourceID,
/* [in] */ HCHAPTER hReserved,
/* [in] */ DBROWCOUNT cRows,
/* [in] */ ULONG bFlags,
/* [out] */ DBCOUNTITEM *pcRowsCopied) = 0;
/* [annotation][in] */
_In_ HSOURCE hSourceID,
/* [annotation][in] */
_In_ HCHAPTER hReserved,
/* [annotation][in] */
_In_ DBROWCOUNT cRows,
/* [annotation][in] */
_In_ ULONG bFlags,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pcRowsCopied) = 0;
virtual HRESULT STDMETHODCALLTYPE DefineSource(
/* [in] */ const IRowset *pRowsetSource,
/* [in] */ const DBORDINAL cColIds,
/* [size_is][in] */ const DB_LORDINAL rgSourceColumns[ ],
/* [size_is][in] */ const DB_LORDINAL rgTargetColumns[ ],
/* [out] */ HSOURCE *phSourceID) = 0;
/* [annotation][in] */
_In_ const IRowset *pRowsetSource,
/* [annotation][in] */
_In_ const DBORDINAL cColIds,
/* [annotation][size_is][in] */
_In_reads_(cColIds) const DB_LORDINAL rgSourceColumns[ ],
/* [annotation][size_is][in] */
_In_reads_(cColIds) const DB_LORDINAL rgTargetColumns[ ],
/* [annotation][out] */
_Out_ HSOURCE *phSourceID) = 0;
};
@ -1364,34 +1462,50 @@ EXTERN_C const IID IID_IRowsetCopyRows;
DECLSPEC_XFGVIRT(IRowsetCopyRows, CloseSource)
HRESULT ( STDMETHODCALLTYPE *CloseSource )(
IRowsetCopyRows * This,
/* [in] */ HSOURCE hSourceID);
/* [annotation][in] */
_In_ HSOURCE hSourceID);
DECLSPEC_XFGVIRT(IRowsetCopyRows, CopyByHROWS)
HRESULT ( STDMETHODCALLTYPE *CopyByHROWS )(
IRowsetCopyRows * This,
/* [in] */ HSOURCE hSourceID,
/* [in] */ HCHAPTER hReserved,
/* [in] */ DBROWCOUNT cRows,
/* [size_is][in] */ const HROW rghRows[ ],
/* [in] */ ULONG bFlags);
/* [annotation][in] */
_In_ HSOURCE hSourceID,
/* [annotation][in] */
_In_ HCHAPTER hReserved,
/* [annotation][in] */
_In_ DBROWCOUNT cRows,
/* [annotation][size_is][in] */
_In_reads_(cRows) const HROW rghRows[ ],
/* [annotation][in] */
_In_ ULONG bFlags);
DECLSPEC_XFGVIRT(IRowsetCopyRows, CopyRows)
HRESULT ( STDMETHODCALLTYPE *CopyRows )(
IRowsetCopyRows * This,
/* [in] */ HSOURCE hSourceID,
/* [in] */ HCHAPTER hReserved,
/* [in] */ DBROWCOUNT cRows,
/* [in] */ ULONG bFlags,
/* [out] */ DBCOUNTITEM *pcRowsCopied);
/* [annotation][in] */
_In_ HSOURCE hSourceID,
/* [annotation][in] */
_In_ HCHAPTER hReserved,
/* [annotation][in] */
_In_ DBROWCOUNT cRows,
/* [annotation][in] */
_In_ ULONG bFlags,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pcRowsCopied);
DECLSPEC_XFGVIRT(IRowsetCopyRows, DefineSource)
HRESULT ( STDMETHODCALLTYPE *DefineSource )(
IRowsetCopyRows * This,
/* [in] */ const IRowset *pRowsetSource,
/* [in] */ const DBORDINAL cColIds,
/* [size_is][in] */ const DB_LORDINAL rgSourceColumns[ ],
/* [size_is][in] */ const DB_LORDINAL rgTargetColumns[ ],
/* [out] */ HSOURCE *phSourceID);
/* [annotation][in] */
_In_ const IRowset *pRowsetSource,
/* [annotation][in] */
_In_ const DBORDINAL cColIds,
/* [annotation][size_is][in] */
_In_reads_(cColIds) const DB_LORDINAL rgSourceColumns[ ],
/* [annotation][size_is][in] */
_In_reads_(cColIds) const DB_LORDINAL rgTargetColumns[ ],
/* [annotation][out] */
_Out_ HSOURCE *phSourceID);
END_INTERFACE
} IRowsetCopyRowsVtbl;
@ -1468,19 +1582,30 @@ EXTERN_C const IID IID_IReadData;
{
public:
virtual HRESULT STDMETHODCALLTYPE ReadData(
/* [in] */ HCHAPTER hChapter,
/* [in] */ DBBKMARK cbBookmark,
/* [size_is][in] */ const BYTE *pBookmark,
/* [in] */ DBROWOFFSET lRowsOffset,
/* [in] */ HACCESSOR hAccessor,
/* [in] */ DBROWCOUNT cRows,
/* [out] */ DBCOUNTITEM *pcRowsObtained,
/* [out][in] */ BYTE **ppFixedData,
/* [out][in] */ DBLENGTH *pcbVariableTotal,
/* [out][in] */ BYTE **ppVariableData) = 0;
/* [annotation][in] */
_In_ HCHAPTER hChapter,
/* [annotation][in] */
_In_ DBBKMARK cbBookmark,
/* [annotation][size_is][in] */
_In_reads_(cbBookmark) const BYTE *pBookmark,
/* [annotation][in] */
_In_ DBROWOFFSET lRowsOffset,
/* [annotation][in] */
_In_ HACCESSOR hAccessor,
/* [annotation][in] */
_In_ DBROWCOUNT cRows,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pcRowsObtained,
/* [annotation][out][in] */
_Inout_ BYTE **ppFixedData,
/* [annotation][out][in] */
_Inout_ DBLENGTH *pcbVariableTotal,
/* [annotation][out][in] */
_Inout_ BYTE **ppVariableData) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseChapter(
/* [in] */ HCHAPTER hChapter) = 0;
/* [annotation][in] */
_In_ HCHAPTER hChapter) = 0;
};
@ -1510,21 +1635,32 @@ EXTERN_C const IID IID_IReadData;
DECLSPEC_XFGVIRT(IReadData, ReadData)
HRESULT ( STDMETHODCALLTYPE *ReadData )(
IReadData * This,
/* [in] */ HCHAPTER hChapter,
/* [in] */ DBBKMARK cbBookmark,
/* [size_is][in] */ const BYTE *pBookmark,
/* [in] */ DBROWOFFSET lRowsOffset,
/* [in] */ HACCESSOR hAccessor,
/* [in] */ DBROWCOUNT cRows,
/* [out] */ DBCOUNTITEM *pcRowsObtained,
/* [out][in] */ BYTE **ppFixedData,
/* [out][in] */ DBLENGTH *pcbVariableTotal,
/* [out][in] */ BYTE **ppVariableData);
/* [annotation][in] */
_In_ HCHAPTER hChapter,
/* [annotation][in] */
_In_ DBBKMARK cbBookmark,
/* [annotation][size_is][in] */
_In_reads_(cbBookmark) const BYTE *pBookmark,
/* [annotation][in] */
_In_ DBROWOFFSET lRowsOffset,
/* [annotation][in] */
_In_ HACCESSOR hAccessor,
/* [annotation][in] */
_In_ DBROWCOUNT cRows,
/* [annotation][out] */
_Out_ DBCOUNTITEM *pcRowsObtained,
/* [annotation][out][in] */
_Inout_ BYTE **ppFixedData,
/* [annotation][out][in] */
_Inout_ DBLENGTH *pcbVariableTotal,
/* [annotation][out][in] */
_Inout_ BYTE **ppVariableData);
DECLSPEC_XFGVIRT(IReadData, ReleaseChapter)
HRESULT ( STDMETHODCALLTYPE *ReleaseChapter )(
IReadData * This,
/* [in] */ HCHAPTER hChapter);
/* [annotation][in] */
_In_ HCHAPTER hChapter);
END_INTERFACE
} IReadDataVtbl;
@ -1650,35 +1786,54 @@ EXTERN_C const IID IID_ICommandCost;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetAccumulatedCost(
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out][in] */ ULONG *pcCostLimits,
/* [size_is][size_is][out] */ DBCOST **prgCostLimits) = 0;
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out][in] */
_Inout_ ULONG *pcCostLimits,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcCostLimits) DBCOST **prgCostLimits) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCostEstimate(
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out] */ ULONG *pcCostEstimates,
/* [out] */ DBCOST *prgCostEstimates) = 0;
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out] */
_Out_ ULONG *pcCostEstimates,
/* [annotation][out] */
_Out_ DBCOST *prgCostEstimates) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCostGoals(
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out] */ ULONG *pcCostGoals,
/* [out] */ DBCOST *prgCostGoals) = 0;
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out] */
_Out_ ULONG *pcCostGoals,
/* [annotation][out] */
_Out_ DBCOST *prgCostGoals) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCostLimits(
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out] */ ULONG *pcCostLimits,
/* [out] */ DBCOST *prgCostLimits) = 0;
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out] */
_Out_ ULONG *pcCostLimits,
/* [annotation][out] */
_Out_ DBCOST *prgCostLimits) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCostGoals(
/* [in] */ LPCOLESTR pwszRowsetName,
/* [in] */ ULONG cCostGoals,
/* [size_is][in] */ const DBCOST rgCostGoals[ ]) = 0;
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][in] */
_In_ ULONG cCostGoals,
/* [annotation][size_is][in] */
_In_reads_(cCostGoals) const DBCOST rgCostGoals[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCostLimits(
/* [in] */ LPCOLESTR pwszRowsetName,
/* [in] */ ULONG cCostLimits,
/* [in] */ DBCOST *prgCostLimits,
/* [in] */ DBEXECLIMITS dwExecutionFlags) = 0;
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][in] */
_In_ ULONG cCostLimits,
/* [annotation][in] */
_In_ DBCOST *prgCostLimits,
/* [annotation][in] */
_In_ DBEXECLIMITS dwExecutionFlags) = 0;
};
@ -1708,45 +1863,64 @@ EXTERN_C const IID IID_ICommandCost;
DECLSPEC_XFGVIRT(ICommandCost, GetAccumulatedCost)
HRESULT ( STDMETHODCALLTYPE *GetAccumulatedCost )(
ICommandCost * This,
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out][in] */ ULONG *pcCostLimits,
/* [size_is][size_is][out] */ DBCOST **prgCostLimits);
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out][in] */
_Inout_ ULONG *pcCostLimits,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcCostLimits) DBCOST **prgCostLimits);
DECLSPEC_XFGVIRT(ICommandCost, GetCostEstimate)
HRESULT ( STDMETHODCALLTYPE *GetCostEstimate )(
ICommandCost * This,
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out] */ ULONG *pcCostEstimates,
/* [out] */ DBCOST *prgCostEstimates);
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out] */
_Out_ ULONG *pcCostEstimates,
/* [annotation][out] */
_Out_ DBCOST *prgCostEstimates);
DECLSPEC_XFGVIRT(ICommandCost, GetCostGoals)
HRESULT ( STDMETHODCALLTYPE *GetCostGoals )(
ICommandCost * This,
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out] */ ULONG *pcCostGoals,
/* [out] */ DBCOST *prgCostGoals);
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out] */
_Out_ ULONG *pcCostGoals,
/* [annotation][out] */
_Out_ DBCOST *prgCostGoals);
DECLSPEC_XFGVIRT(ICommandCost, GetCostLimits)
HRESULT ( STDMETHODCALLTYPE *GetCostLimits )(
ICommandCost * This,
/* [in] */ LPCOLESTR pwszRowsetName,
/* [out] */ ULONG *pcCostLimits,
/* [out] */ DBCOST *prgCostLimits);
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][out] */
_Out_ ULONG *pcCostLimits,
/* [annotation][out] */
_Out_ DBCOST *prgCostLimits);
DECLSPEC_XFGVIRT(ICommandCost, SetCostGoals)
HRESULT ( STDMETHODCALLTYPE *SetCostGoals )(
ICommandCost * This,
/* [in] */ LPCOLESTR pwszRowsetName,
/* [in] */ ULONG cCostGoals,
/* [size_is][in] */ const DBCOST rgCostGoals[ ]);
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][in] */
_In_ ULONG cCostGoals,
/* [annotation][size_is][in] */
_In_reads_(cCostGoals) const DBCOST rgCostGoals[ ]);
DECLSPEC_XFGVIRT(ICommandCost, SetCostLimits)
HRESULT ( STDMETHODCALLTYPE *SetCostLimits )(
ICommandCost * This,
/* [in] */ LPCOLESTR pwszRowsetName,
/* [in] */ ULONG cCostLimits,
/* [in] */ DBCOST *prgCostLimits,
/* [in] */ DBEXECLIMITS dwExecutionFlags);
/* [annotation][in] */
_In_ LPCOLESTR pwszRowsetName,
/* [annotation][in] */
_In_ ULONG cCostLimits,
/* [annotation][in] */
_In_ DBCOST *prgCostLimits,
/* [annotation][in] */
_In_ DBEXECLIMITS dwExecutionFlags);
END_INTERFACE
} ICommandCostVtbl;
@ -1934,15 +2108,22 @@ EXTERN_C const IID IID_ITableRename;
{
public:
virtual HRESULT STDMETHODCALLTYPE RenameColumn(
/* [in] */ DBID *pTableId,
/* [in] */ DBID *pOldColumnId,
/* [in] */ DBID *pNewColumnId) = 0;
/* [annotation][in] */
_In_ DBID *pTableId,
/* [annotation][in] */
_In_ DBID *pOldColumnId,
/* [annotation][in] */
_In_ DBID *pNewColumnId) = 0;
virtual HRESULT STDMETHODCALLTYPE RenameTable(
/* [in] */ DBID *pOldTableId,
/* [in] */ DBID *pOldIndexId,
/* [in] */ DBID *pNewTableId,
/* [in] */ DBID *pNewIndexId) = 0;
/* [annotation][in] */
_In_ DBID *pOldTableId,
/* [annotation][in] */
_In_ DBID *pOldIndexId,
/* [annotation][in] */
_In_ DBID *pNewTableId,
/* [annotation][in] */
_In_ DBID *pNewIndexId) = 0;
};
@ -1972,17 +2153,24 @@ EXTERN_C const IID IID_ITableRename;
DECLSPEC_XFGVIRT(ITableRename, RenameColumn)
HRESULT ( STDMETHODCALLTYPE *RenameColumn )(
ITableRename * This,
/* [in] */ DBID *pTableId,
/* [in] */ DBID *pOldColumnId,
/* [in] */ DBID *pNewColumnId);
/* [annotation][in] */
_In_ DBID *pTableId,
/* [annotation][in] */
_In_ DBID *pOldColumnId,
/* [annotation][in] */
_In_ DBID *pNewColumnId);
DECLSPEC_XFGVIRT(ITableRename, RenameTable)
HRESULT ( STDMETHODCALLTYPE *RenameTable )(
ITableRename * This,
/* [in] */ DBID *pOldTableId,
/* [in] */ DBID *pOldIndexId,
/* [in] */ DBID *pNewTableId,
/* [in] */ DBID *pNewIndexId);
/* [annotation][in] */
_In_ DBID *pOldTableId,
/* [annotation][in] */
_In_ DBID *pOldIndexId,
/* [annotation][in] */
_In_ DBID *pNewTableId,
/* [annotation][in] */
_In_ DBID *pNewIndexId);
END_INTERFACE
} ITableRenameVtbl;
@ -2053,13 +2241,18 @@ EXTERN_C const IID IID_IDBSchemaCommand;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCommand(
/* [in] */ IUnknown *pUnkOuter,
/* [in] */ REFGUID rguidSchema,
/* [out] */ ICommand **ppCommand) = 0;
/* [annotation][in] */
_In_ IUnknown *pUnkOuter,
/* [annotation][in] */
_In_ REFGUID rguidSchema,
/* [annotation][out] */
_Out_ ICommand **ppCommand) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSchemas(
/* [out][in] */ ULONG *pcSchemas,
/* [size_is][size_is][out] */ GUID **prgSchemas) = 0;
/* [annotation][out][in] */
_Inout_ ULONG *pcSchemas,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcSchemas) GUID **prgSchemas) = 0;
};
@ -2089,15 +2282,20 @@ EXTERN_C const IID IID_IDBSchemaCommand;
DECLSPEC_XFGVIRT(IDBSchemaCommand, GetCommand)
HRESULT ( STDMETHODCALLTYPE *GetCommand )(
IDBSchemaCommand * This,
/* [in] */ IUnknown *pUnkOuter,
/* [in] */ REFGUID rguidSchema,
/* [out] */ ICommand **ppCommand);
/* [annotation][in] */
_In_ IUnknown *pUnkOuter,
/* [annotation][in] */
_In_ REFGUID rguidSchema,
/* [annotation][out] */
_Out_ ICommand **ppCommand);
DECLSPEC_XFGVIRT(IDBSchemaCommand, GetSchemas)
HRESULT ( STDMETHODCALLTYPE *GetSchemas )(
IDBSchemaCommand * This,
/* [out][in] */ ULONG *pcSchemas,
/* [size_is][size_is][out] */ GUID **prgSchemas);
/* [annotation][out][in] */
_Inout_ ULONG *pcSchemas,
/* [annotation][size_is][size_is][out] */
_Out_writes_(*pcSchemas) GUID **prgSchemas);
END_INTERFACE
} IDBSchemaCommandVtbl;
@ -2168,7 +2366,8 @@ EXTERN_C const IID IID_IProvideMoniker;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMoniker(
/* [out] */ IMoniker **ppIMoniker) = 0;
/* [annotation][out] */
_Out_ IMoniker **ppIMoniker) = 0;
};
@ -2198,7 +2397,8 @@ EXTERN_C const IID IID_IProvideMoniker;
DECLSPEC_XFGVIRT(IProvideMoniker, GetMoniker)
HRESULT ( STDMETHODCALLTYPE *GetMoniker )(
IProvideMoniker * This,
/* [out] */ IMoniker **ppIMoniker);
/* [annotation][out] */
_Out_ IMoniker **ppIMoniker);
END_INTERFACE
} IProvideMonikerVtbl;

Просмотреть файл

@ -2155,12 +2155,14 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking;
DECLSPEC_XFGVIRT(IMediaSeeking, CheckCapabilities)
HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )(
__RPC__in IStreamBufferMediaSeeking * This,
/* [out][in] */ __RPC__inout DWORD *pCapabilities);
/* [annotation][out][in] */
_Inout_ DWORD *pCapabilities);
DECLSPEC_XFGVIRT(IMediaSeeking, IsFormatSupported)
HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
__RPC__in IStreamBufferMediaSeeking * This,
/* [in] */ __RPC__in const GUID *pFormat);
/* [annotation][in] */
_In_ const GUID *pFormat);
DECLSPEC_XFGVIRT(IMediaSeeking, QueryPreferredFormat)
HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )(
@ -2177,12 +2179,14 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking;
DECLSPEC_XFGVIRT(IMediaSeeking, IsUsingTimeFormat)
HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )(
__RPC__in IStreamBufferMediaSeeking * This,
/* [in] */ __RPC__in const GUID *pFormat);
/* [annotation][in] */
_In_ const GUID *pFormat);
DECLSPEC_XFGVIRT(IMediaSeeking, SetTimeFormat)
HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )(
__RPC__in IStreamBufferMediaSeeking * This,
/* [in] */ __RPC__in const GUID *pFormat);
/* [annotation][in] */
_In_ const GUID *pFormat);
DECLSPEC_XFGVIRT(IMediaSeeking, GetDuration)
HRESULT ( STDMETHODCALLTYPE *GetDuration )(
@ -2209,7 +2213,8 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking;
_Out_ LONGLONG *pTarget,
/* [annotation][in] */
_In_opt_ const GUID *pTargetFormat,
/* [in] */ LONGLONG Source,
/* [annotation][in] */
_In_ LONGLONG Source,
/* [annotation][in] */
_In_opt_ const GUID *pSourceFormat);
@ -2218,10 +2223,12 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking;
__RPC__in IStreamBufferMediaSeeking * This,
/* [annotation][out][in] */
_Inout_opt_ LONGLONG *pCurrent,
/* [in] */ DWORD dwCurrentFlags,
/* [annotation][in] */
_In_ DWORD dwCurrentFlags,
/* [annotation][out][in] */
_Inout_opt_ LONGLONG *pStop,
/* [in] */ DWORD dwStopFlags);
/* [annotation][in] */
_In_ DWORD dwStopFlags);
DECLSPEC_XFGVIRT(IMediaSeeking, GetPositions)
HRESULT ( STDMETHODCALLTYPE *GetPositions )(
@ -2242,7 +2249,8 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking;
DECLSPEC_XFGVIRT(IMediaSeeking, SetRate)
HRESULT ( STDMETHODCALLTYPE *SetRate )(
__RPC__in IStreamBufferMediaSeeking * This,
/* [in] */ double dRate);
/* [annotation][in] */
_In_ double dRate);
DECLSPEC_XFGVIRT(IMediaSeeking, GetRate)
HRESULT ( STDMETHODCALLTYPE *GetRate )(
@ -2397,12 +2405,14 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking2;
DECLSPEC_XFGVIRT(IMediaSeeking, CheckCapabilities)
HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )(
__RPC__in IStreamBufferMediaSeeking2 * This,
/* [out][in] */ __RPC__inout DWORD *pCapabilities);
/* [annotation][out][in] */
_Inout_ DWORD *pCapabilities);
DECLSPEC_XFGVIRT(IMediaSeeking, IsFormatSupported)
HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
__RPC__in IStreamBufferMediaSeeking2 * This,
/* [in] */ __RPC__in const GUID *pFormat);
/* [annotation][in] */
_In_ const GUID *pFormat);
DECLSPEC_XFGVIRT(IMediaSeeking, QueryPreferredFormat)
HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )(
@ -2419,12 +2429,14 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking2;
DECLSPEC_XFGVIRT(IMediaSeeking, IsUsingTimeFormat)
HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )(
__RPC__in IStreamBufferMediaSeeking2 * This,
/* [in] */ __RPC__in const GUID *pFormat);
/* [annotation][in] */
_In_ const GUID *pFormat);
DECLSPEC_XFGVIRT(IMediaSeeking, SetTimeFormat)
HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )(
__RPC__in IStreamBufferMediaSeeking2 * This,
/* [in] */ __RPC__in const GUID *pFormat);
/* [annotation][in] */
_In_ const GUID *pFormat);
DECLSPEC_XFGVIRT(IMediaSeeking, GetDuration)
HRESULT ( STDMETHODCALLTYPE *GetDuration )(
@ -2451,7 +2463,8 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking2;
_Out_ LONGLONG *pTarget,
/* [annotation][in] */
_In_opt_ const GUID *pTargetFormat,
/* [in] */ LONGLONG Source,
/* [annotation][in] */
_In_ LONGLONG Source,
/* [annotation][in] */
_In_opt_ const GUID *pSourceFormat);
@ -2460,10 +2473,12 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking2;
__RPC__in IStreamBufferMediaSeeking2 * This,
/* [annotation][out][in] */
_Inout_opt_ LONGLONG *pCurrent,
/* [in] */ DWORD dwCurrentFlags,
/* [annotation][in] */
_In_ DWORD dwCurrentFlags,
/* [annotation][out][in] */
_Inout_opt_ LONGLONG *pStop,
/* [in] */ DWORD dwStopFlags);
/* [annotation][in] */
_In_ DWORD dwStopFlags);
DECLSPEC_XFGVIRT(IMediaSeeking, GetPositions)
HRESULT ( STDMETHODCALLTYPE *GetPositions )(
@ -2484,7 +2499,8 @@ EXTERN_C const IID IID_IStreamBufferMediaSeeking2;
DECLSPEC_XFGVIRT(IMediaSeeking, SetRate)
HRESULT ( STDMETHODCALLTYPE *SetRate )(
__RPC__in IStreamBufferMediaSeeking2 * This,
/* [in] */ double dRate);
/* [annotation][in] */
_In_ double dRate);
DECLSPEC_XFGVIRT(IMediaSeeking, GetRate)
HRESULT ( STDMETHODCALLTYPE *GetRate )(

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -2492,8 +2492,8 @@ EXTERN_C const IID IID_IVMRDeinterlaceControl9;
virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes(
/* [annotation][in] */
_In_ VMR9VideoDesc *lpVideoDescription,
/* [annotation][out][annotation][in] */
_Out_ LPDWORD lpdwNumDeinterlaceModes,
/* [annotation][out][in] */
_Inout_ LPDWORD lpdwNumDeinterlaceModes,
/* [annotation][out] */
_Out_ LPGUID lpDeinterlaceModes) = 0;
@ -2561,8 +2561,8 @@ EXTERN_C const IID IID_IVMRDeinterlaceControl9;
IVMRDeinterlaceControl9 * This,
/* [annotation][in] */
_In_ VMR9VideoDesc *lpVideoDescription,
/* [annotation][out][annotation][in] */
_Out_ LPDWORD lpdwNumDeinterlaceModes,
/* [annotation][out][in] */
_Inout_ LPDWORD lpdwNumDeinterlaceModes,
/* [annotation][out] */
_Out_ LPGUID lpDeinterlaceModes);

Просмотреть файл

@ -231,7 +231,8 @@ EXTERN_C const IID IID_ITensorStaticsNative;
ID3D12Resource *value,
/* [size_is] */ __int64 *shape,
int shapeCount,
/* [out] */ IUnknown **result) = 0;
/* [annotation][out] */
_Out_ IUnknown **result) = 0;
};
@ -264,7 +265,8 @@ EXTERN_C const IID IID_ITensorStaticsNative;
ID3D12Resource *value,
/* [size_is] */ __int64 *shape,
int shapeCount,
/* [out] */ IUnknown **result);
/* [annotation][out] */
_Out_ IUnknown **result);
END_INTERFACE
} ITensorStaticsNativeVtbl;

Просмотреть файл

@ -32,6 +32,7 @@
<ItemGroup>
<EmitterRsp Include="emitter.settings.rsp"/>
<EmitterRsp Include="requiredNamespacesForNames.rsp"/>
<EmitterRsp Include="documentationMappings.rsp"/>
</ItemGroup>
<PropertyGroup>
@ -47,7 +48,7 @@
<ShowEmitWinmdOutputDetails>true</ShowEmitWinmdOutputDetails>
<!-- To regenerate this list; remove the property and the build will indicate what names can safely go here as a build optimization -->
<ExcludeFromCrossarch>ActiveDirectory;AllJoyn;Antimalware;ApplicationVerifier;Audio.Apo;Audio.DirectMusic;Audio.DirectSound;Audio.Endpoints;Authorization;Authorization.UI;Base;Bits;Bluetooth;Buses;CEIP;Certificates;Cloudapi;ClrHosting;ClrProfiling;CmpApi;Com;Com.CallObj;Com.ChannelCreds;Com.Events;Com.StructuredStorage;Com.Urlmon;Communication;ComOle;CompositionSwapchain;Console;Cos;Credentials;DataXchg;Debug.ActiveScript;Debug.Extensions;Debug.WebApp;Dedup;DeviceAccess;DeviceQuery;Devices.Properties;DevLic;Dhcp;Direct2D;Direct2D.Common;Direct3D;Direct3D10;Direct3D11;Direct3D11on12;Direct3D12;Direct3D9on12;Direct3DDxc;Direct3DFxc;DirectComp;DirectDraw;DirectManipulation;DirectML;DirectWrite;DTC;Dwm;DXCore;Dxgi;Dxgi.Common;Eap;EapHost;Edp;Enstor;Environment;Etw;Fax;FileHistory;Foundation;Fs;Fsrm;FunctionDiscovery;GameMode;GamingDvcInfo;Gdi;Gpmc;HostComputeNetwork;HostComputeSystem;HtmlHelp;HttpServer;Hypervisor;Identity;IdentityProvider;Ifsk;Iis;ImagingDevice;IMapi;IndexSrv;Input_Ink;Input_IntContext;Input.Ime;InputRadial;InternetConnectionWizard;InternetExplorer;Intl;IO;Isolation;JobObjects;Kernel;KeyboardAndMouseInput;Ldap;LibraryLoader;Lwef;MachineLearning;MadCap;MagApi;Mapi;Mbn;MdmReg;Media;Media.DShow;Media.DShow.Xml;Media.DxMediaObjects;Memory;MessageQueuing;Mi;MixedReality;MixedRealityInterop;Mmc;Monitor;MsChap;MsCs;MsHtml;MsTv;MsXml;Multimedia;Ndf;Ndis;NetMgmt;NetShell;NetworkAccessProtection;Nla;Nps;NWifi;Of;Opc;OpenGL;P2p;Parcon;PicAcq;Pipes;Pla;Policy;Power;PrintTicket;Proc_Snap;ProjFs;Properties;PsApi1;PsApi2;PWM;Qos;Rdc;Rdp;RealTimeCommunications;Registry;RemoteAssist;Rm;Rpc;RstMgr;SecBitomet;Security;Security.AppLocker;Security.ConfigurationSnapin;Security.Cryptography;Security.Cryptography.Catalog;Security.Cryptography.Sip;Security.Cryptography.UI;Security.DiagnosticDataQuery;Security.DirectoryServices;Security.LicenseProtection;Security.Tpm;Security.WinTrust;Security.WinWlx;SecurityCenter;Sens;SerPorts;Services;Setup;Shell.Common;Shutdown;SideShow;Smi;Speech;Sr;SwDevice;SystemInformation;Tablet;Tapi3;TaskSchd;Tbs;Tcui;TermServ;Threading;Time;ToolHelp;TransactionServer;Tsf;Ual;UiAnimation;UpdateAssessment;Upnp;Vhd;VirtualDiskService;VSS;Wab;Wcm;Wcn;Wcs;Wds;WebDav;WebServicesOnDevices;WebSock;Wec;Wer;Wes;Wia;Wibe;Wic;Win32_Tile_Badge_Notif;WinAuto;WinContacts;WindowsConnectionManager;WindowsFilteringPlatform;WindowsFirewall;WindowsRibbon;WindowsSetupAndMigration;WinInet;WinLocation;WinRm;WinRT;WinRT.AllJoyn;WinRT.Composition;WinRT.CoreInputView;WinRT.Direct2D;WinRT.Direct3D11;WinRT.Display;WinRT.Graphics.Capture;WinRT.Graphics.Imaging;WinRT.Holographic;WinRT.Isolation;WinRT.Media;WinRT.ML;WinRT.Pdf;WinRT.Printing;WinRT.Storage;WinRT.Xaml;WinSat;WinSensors;WinSync;WinTouch;Wmdm;WmFormat;Wmi;Wmlss;Wmp;Wnet;wnv;WpdSdk;Wsb;Wsl;Wsw;Wua;Xaml_Diagnostics;Xaudio2;Xblidp;Xinput;XmlLite;Xps;XpsPrinting</ExcludeFromCrossarch>
<ExcludeFromCrossarch>ActiveDirectory;AllJoyn;Antimalware;ApplicationVerifier;Audio.Apo;Audio.DirectMusic;Audio.DirectSound;Audio.Endpoints;Authorization;Authorization.UI;Base;Bits;Bluetooth;Buses;CEIP;Certificates;Cloudapi;ClrHosting;ClrProfiling;CmpApi;Com;Com.CallObj;Com.ChannelCreds;Com.Events;Com.StructuredStorage;Com.Urlmon;Communication;ComOle;CompositionSwapchain;Console;Cos;Credentials;DataXchg;Debug.ActiveScript;Debug.Extensions;Debug.WebApp;Dedup;DeviceAccess;DeviceQuery;Devices.Properties;DevLic;Dhcp;Direct2D;Direct2D.Common;Direct3D;Direct3D10;Direct3D11;Direct3D11on12;Direct3D12;Direct3D9on12;Direct3DDxc;Direct3DFxc;DirectComp;DirectDraw;DirectManipulation;DirectML;DirectWrite;DTC;Dwm;DXCore;Dxgi;Dxgi.Common;Eap;EapHost;Edp;Enstor;Environment;Etw;Fax;FileHistory;Foundation;Fs;Fsrm;FunctionDiscovery;GameMode;GamingDvcInfo;Gdi;Gpmc;HostComputeNetwork;HostComputeSystem;HtmlHelp;HttpServer;Hypervisor;Identity;IdentityProvider;Ifsk;Iis;ImagingDevice;IMapi;IndexSrv;Input_Ink;Input_IntContext;Input.Ime;InputRadial;InternetConnectionWizard;InternetExplorer;Intl;IO;Isolation;JobObjects;Kernel;KeyboardAndMouseInput;Ldap;LibraryLoader;Lwef;MachineLearning;MadCap;MagApi;Mapi;Mbn;MdmReg;Media;Media.DShow;Media.DShow.Xml;Media.DxMediaObjects;Memory;MessageQueuing;Mi;MixedReality;MixedRealityInterop;Mmc;Monitor;MsChap;MsCs;MsHtml;MsTv;MsXml;Multimedia;Ndf;Ndis;NetMgmt;NetShell;NetworkAccessProtection;Nla;Nps;NWifi;Of;Opc;OpenGL;P2p;Parcon;PicAcq;Pipes;Pla;Policy;Power;PrintTicket;Proc_Snap;ProjFs;Properties;PsApi1;PsApi2;PWM;Qos;Rdc;Rdp;RealTimeCommunications;Registry;RemoteAssist;Rm;Rpc;RstMgr;SecBitomet;Security;Security.AppLocker;Security.ConfigurationSnapin;Security.Cryptography;Security.Cryptography.Catalog;Security.Cryptography.Sip;Security.Cryptography.UI;Security.DiagnosticDataQuery;Security.DirectoryServices;Security.LicenseProtection;Security.Tpm;Security.WinTrust;Security.WinWlx;SecurityCenter;Sens;SerPorts;Services;Setup;Shell.Common;Shutdown;SideShow;Smi;Speech;Sr;SwDevice;SystemInformation;Tablet;Tapi3;TaskSchd;Tbs;Tcui;TermServ;Threading;Time;ToolHelp;TransactionServer;Tsf;Ual;UiAnimation;UpdateAssessment;Upnp;Variant;Vhd;VirtualDiskService;VSS;Wab;Wcm;Wcn;Wcs;Wds;WebDav;WebServicesOnDevices;WebSock;Wec;Wer;Wes;Wia;Wibe;Wic;Win32_Tile_Badge_Notif;WinAuto;WinContacts;WindowsConnectionManager;WindowsFilteringPlatform;WindowsFirewall;WindowsRibbon;WindowsSetupAndMigration;WinInet;WinLocation;WinRm;WinRT;WinRT.AllJoyn;WinRT.Composition;WinRT.CoreInputView;WinRT.Direct2D;WinRT.Direct3D11;WinRT.Display;WinRT.Graphics.Capture;WinRT.Graphics.Imaging;WinRT.Holographic;WinRT.Isolation;WinRT.Media;WinRT.ML;WinRT.Pdf;WinRT.Printing;WinRT.Storage;WinRT.Xaml;WinSat;WinSensors;WinSync;WinTouch;Wmdm;WmFormat;Wmi;Wmlss;Wmp;Wnet;wnv;WpdSdk;Wsb;Wsl;Wsw;Wua;Xaml_Diagnostics;Xaudio2;Xblidp;Xinput;XmlLite;Xps;XpsPrinting</ExcludeFromCrossarch>
<!-- Set to false because the WinSDK assets are already in this project -->
<UseWinSDKAssets>false</UseWinSDKAssets>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -172,9 +172,7 @@ SpVerifySignatureFn
SpSealMessageFn
SpUnsealMessageFn
SpGetContextTokenFn
SpQueryContextAttributesFn
SpCompleteAuthTokenFn
SpDeleteContextFn
SpFormatCredentialsFn
SpMarshallSupplementalCredsFn
SpExportSecurityContextFn
@ -218,129 +216,16 @@ CreateProcessAsUserA::dwCreationFlags=PROCESS_CREATION_FLAGS
CreateProcessAsUserW::dwCreationFlags=PROCESS_CREATION_FLAGS
CreateProcessWithLogonW::dwCreationFlags=PROCESS_CREATION_FLAGS
CreateProcessWithTokenW::dwCreationFlags=PROCESS_CREATION_FLAGS
DefineDosDeviceW::dwFlags=DEFINE_DOS_DEVICE_FLAGS
FindFirstChangeNotificationA::dwNotifyFilter=FILE_NOTIFY_CHANGE
FindFirstChangeNotificationw::dwNotifyFilter=FILE_NOTIFY_CHANGE
GetStdHandle::nStdHandle=STD_HANDLE
SetStdHandle::nStdHandle=STD_HANDLE
SetStdHandleEx::nStdHandle=STD_HANDLE
CreateFileA::dwFlagsAndAttributes=FILE_FLAGS_AND_ATTRIBUTES
CreateFileW::dwFlagsAndAttributes=FILE_FLAGS_AND_ATTRIBUTES
ReOpenFile::dwFlagsAndAttributes=FILE_FLAGS_AND_ATTRIBUTES
CreateLogFile::fFlagsAndAttributes=FILE_FLAGS_AND_ATTRIBUTES
OpenFileById::dwFlagsAndAttributes=FILE_FLAGS_AND_ATTRIBUTES
IEnumDebugPropertyInfo::Next::pi=[NativeArrayInfo(CountParamIndex = 0)]
CreatePrivateNamespaceA::return=NamespaceHandle
CreatePrivateNamespaceW::return=NamespaceHandle
ClosePrivateNamespace::Handle=NamespaceHandle
OpenPrivateNamespaceA::return=NamespaceHandle
OpenPrivateNamespaceW::return=NamespaceHandle
CreateBoundaryDescriptorA::return=BoundaryDescriptorHandle
CreateBoundaryDescriptorW::return=BoundaryDescriptorHandle
DeleteBoundaryDescriptor::BoundaryDescriptor=BoundaryDescriptorHandle
BackupEventLogA::hEventLog=EventLogHandle
BackupEventLogW::hEventLog=EventLogHandle
ClearEventLogA::hEventLog=EventLogHandle
ClearEventLogW::hEventLog=EventLogHandle
GetEventLogInformation::hEventLog=EventLogHandle
GetNumberOfEventLogRecords::hEventLog=EventLogHandle
GetOldestEventLogRecord::hEventLog=EventLogHandle
NotifyChangeEventLog::hEventLog=EventLogHandle
OpenBackupEventLogA::return=EventLogHandle
OpenBackupEventLogW::return=EventLogHandle
OpenEventLogA::return=EventLogHandle
OpenEventLogW::return=EventLogHandle
ReadEventLogA::hEventLog=EventLogHandle
ReadEventLogW::hEventLog=EventLogHandle
RegisterEventSourceA::return=EventSourceHandle
RegisterEventSourceW::return=EventSourceHandle
ReportEventA::hEventLog=EventSourceHandle
ReportEventW::hEventLog=EventSourceHandle
SHChangeNotification_Lock::return=ShFindChangeNotificationHandle
WTSVirtualChannelOpen::return=HwtsVirtualChannelHandle
WTSVirtualChannelOpenEx::return=HwtsVirtualChannelHandle
Icmp6CreateFile::return=IcmpHandle
Icmp6SendEcho2::IcmpHandle=IcmpHandle
IcmpCloseHandle::IcmpHandle=IcmpHandle
IcmpCreateFile::return=IcmpHandle
IcmpSendEcho::IcmpHandle=IcmpHandle
IcmpSendEcho2::IcmpHandle=IcmpHandle
IcmpSendEcho2Ex::IcmpHandle=IcmpHandle
CreateMetaFileA::return=HdcMetdataFileHandle
CreateMetaFileW::return=HdcMetdataFileHandle
CreateEnhMetaFileA::return=HdcMetdataEnhFileHandle
CreateEnhMetaFileW::return=HdcMetdataEnhFileHandle
FindFirstChangeNotificationA::return=FindChangeNotificationHandle
FindFirstChangeNotificationW::return=FindChangeNotificationHandle
FindNextChangeNotification::hChangeHandle=FindChangeNotificationHandle
FindCloseChangeNotification::hChangeHandle=FindChangeNotificationHandle
DsGetDcCloseW::GetDcContextHandle=GetDcContextHandle
FindClose::hFindFile=FindFileHandle
FindFirstFileA::return=FindFileHandle
FindFirstFileW::return=FindFileHandle
FindFirstFileExA::return=FindFileHandle
FindFirstFileExW::return=FindFileHandle
FindFirstFileTransactedA::return=FindFileHandle
FindFirstFileTransactedW::return=FindFileHandle
FindNextFileA::hFindFile=FindFileHandle
FindNextFileW::hFindFile=FindFileHandle
FindFirstStreamW::return=FindStreamHandle
FindFirstStreamTransactedW::return=FindStreamHandle
FindNextStreamW::hFindStream=FindStreamHandle
FindFirstFileNameW::return=FindFileNameHandle
FindFirstFileNameTransactedW::return=FindFileNameHandle
FindNextFileNameW::hFindStream=FindFileNameHandle
FindFirstVolumeA::return=FindVolumeHandle
FindFirstVolumeW::return=FindVolumeHandle
FindNextVolumeA::hFindVolume=FindVolumeHandle
FindNextVolumeW::hFindVolume=FindVolumeHandle
FindVolumeClose::hFindVolume=FindVolumeHandle
FindFirstVolumeMountPointA::return=FindVolumeMountPointHandle
FindFirstVolumeMountPointW::return=FindVolumeMountPointHandle
FindNextVolumeMountPointA::hFindVolumeMountPoint=FindVolumeMountPointHandle
FindNextVolumeMountPointW::hFindVolumeMountPoint=FindVolumeMountPointHandle
FindVolumeMountPointClose::hFindVolumeMountPoint=FindVolumeMountPointHandle
HeapAlloc::hHeap=HeapHandle
HeapCompact::hHeap=HeapHandle
HeapCreate::return=HeapHandle
HeapDestroy::hHeap=HeapHandle
HeapFree::hHeap=HeapHandle
HeapLock::hHeap=HeapHandle
HeapQueryInformation::HeapHandle=HeapHandle
HeapReAlloc::hHeap=HeapHandle
HeapSetInformation::HeapHandle=HeapHandle
HeapSize::hHeap=HeapHandle
HeapSummary:hHeap=HeapHandle
HeapUnlock::hHeap=HeapHandle
HeapValidate::hHeap=HeapHandle
HeapWalk::hHeap=HeapHandle
GetProcessHeaps::ProcessHeaps=[DoNotRelease]HeapHandle*
GetProcessHeap::return=[DoNotRelease]HeapHandle
WNetOpenEnumA::lphEnum=NetEnumHandle*
WNetOpenEnumW::lphEnum=NetEnumHandle*
GetProcessHeaps::ProcessHeaps=[DoNotRelease]
GetProcessHeap::return=[DoNotRelease]
CryptCreateAsyncHandle::phAsync=HCRYPTASYNC*
PerfStartProvider::phProvider=PerfProviderHandle*
PerfStartProviderEx::Provider=PerfProviderHandle*
PerfAddCounters::hQuery=PerfQueryHandle
PerfCloseQueryHandle::phQuery=PerfQueryHandle*
PerfDeleteCounters::hQuery=PerfQueryHandle
PerfOpenQueryHandle::phQuery=PerfQueryHandle*
PerfQueryCounterData::hQuery=PerfQueryHandle
PerfQueryCounterInfo::hQuery=PerfQueryHandle
PerfStopProvider::ProviderHandle=PerfProviderHandle
PerfCreateInstance::ProviderHandle=PerfProviderHandle
PerfDecrementULongCounterValue::ProviderHandle=PerfProviderHandle
PerfDecrementULongLongCounterValue::ProviderHandle=PerfProviderHandle
PerfDeleteInstance::Provider=PerfProviderHandle
DnsAcquireContextHandle_A::pContext=DnsContextHandle*
DnsAcquireContextHandle_W::pContext=DnsContextHandle*
FilterInstanceCreate777::hInstance=HFILTER_INSTANCE*
FilterFindFirst::lpFilterFind=FilterFindHandle*
FilterVolumeFindFirst::lpVolumeFind=FilterVolumeFindHandle*
FilterInstanceFindFirst::lpFilterInstanceFind=FilterInstanceFindHandle*
FilterVolumeInstanceFindFirst::lpVolumeInstanceFind=FilterVolumeInstanceFindHandle*
DsGetDcOpenA::RetGetDcContext=GetDcContextHandle*
DsGetDcOpenW::RetGetDcContext=GetDcContextHandle*
TdhOpenDecodingHandle::Handle=TDH_HANDLE*
GetConsoleMode::lpMode=CONSOLE_MODE*
SetConsoleMode::dwMode=CONSOLE_MODE
@ -358,50 +243,23 @@ JOBOBJECT_LIMIT_VIOLATION_INFORMATION::LimitFlags=JOB_OBJECT_LIMIT
JOBOBJECT_LIMIT_VIOLATION_INFORMATION::ViolationLimitFlags=JOB_OBJECT_LIMIT
JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2::LimitFlags=JOB_OBJECT_LIMIT
JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2::ViolationLimitFlags=JOB_OBJECT_LIMIT
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION::LimitFlags=JOB_OBJECT_LIMIT
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2::LimitFlags=JOB_OBJECT_LIMIT
JOBOBJECT_SECURITY_LIMIT_INFORMATION::SecurityLimitFlags=JOB_OBJECT_SECURITY
SHChangeNotify::wEventId=SHCNE_ID
SHChangeNotify::uFlags=SHCNF_FLAGS
SHChangeNotifyRegister::fSources=SHCNRF_SOURCE
IQueryInfo::GetInfoTip::dwFlags=QITIPF_FLAGS
SHDESCRIPTIONID::dwDescriptionId=SHDID_ID
SHGetDataFromIDListA::nFormat=SHGDFIL_FORMAT
SHGetDataFromIDListW::nFormat=SHGDFIL_FORMAT
PathResolve::fFlags=PRF_FLAGS
PathCleanupSpec::return=PCS_RET
Shell_MergeMenus::uFlags=MM_FLAGS
SHObjectProperties::shopObjectType=SHOP_TYPE
SHFormatDrive::fmtID=SHFMT_ID
SHFormatDrive::options=SHFMT_OPT
SHValidateUNC::fConnect=VALIDATEUNC_OPTION
IShellFolderViewCB::MessageSFVCB::uMsg=SFVM_MESSAGE_ID
IShellFolderView::Select::dwFlags=SFVS_SELECT
SHGetSetSettings::dwMask=SSF_MASK
FormatMessageA::dwFlags=FORMAT_MESSAGE_OPTIONS
FormatMessageW::dwFlags=FORMAT_MESSAGE_OPTIONS
IStream::Seek::dwOrigin=STREAM_SEEK
SHGetKnownFolderPath::ppszPath=[FreeWith("CoTaskMemFree")]
CombineRgn::iMode=RGN_COMBINE_MODE
SetROP2::rop2=R2_MODE
PSINJECTDATA::InjectionPoint=PSINJECT_POINT
EnumObjects::nType=OBJ_TYPE
EnumSystemFirmwareTables::pFirmwareTableEnumBuffer=FIRMWARE_TABLE_ID*
GetSystemFirmwareTable::FirmwareTableID=FIRMWARE_TABLE_ID
GetCurrentObject::type=OBJ_TYPE
DrawIconEx::diFlags=DI_FLAGS
StretchDIBits::iUsage=DIB_USAGE
CreateDIBSection::usage=DIB_USAGE
SetDIBits::ColorUse=DIB_USAGE
SetDIBitsToDevice::ColorUse=DIB_USAGE
EnumSystemFirmwareTables::pFirmwareTableEnumBuffer=byte*
GetSystemFirmwareTable::pFirmwareTableBuffer=byte*
ISpellingError::get_Replacement::value=[FreeWith("CoTaskMemFree")]
CloseEventLog::hEventLog=EventLogHandle
DeregisterEventSource::hEventLog=EventSourceHandle
IAMMultiMediaStream::Initialize::dwFlags=AMMSF_MMS_INIT_FLAGS
IAMMultiMediaStream::AddMediaStream::dwFlags=AMMSF_MS_FLAGS
IMultiMediaStream::GetInformation::pdwFlags=MMSSF_GET_INFORMATION_FLAGS*
IIdentityProvider::Advise::dwIdentityUpdateEvents=IdentityUpdateEvent
IIdentityAdvise::IdentityUpdated::dwIdentityUpdateEvents=IdentityUpdateEvent
RegQueryValueExA::lpType=REG_VALUE_TYPE*
RegQueryValueExW::lpType=REG_VALUE_TYPE*
RegSetValueA::dwType=REG_VALUE_TYPE
@ -436,29 +294,16 @@ PRTM_ENTITY_EXPORT_METHOD,RTM_ENTITY_EXPORT_METHOD*
OpenProcessToken::DesiredAccess=TOKEN_ACCESS_MASK
OpenThreadToken::DesiredAccess=TOKEN_ACCESS_MASK
DuplicateTokenEx::dwDesiredAccess=TOKEN_ACCESS_MASK
CreateDCW::return=CreatedHDC
CreateDCA::return=CreatedHDC
CreateICW::return=CreatedHDC
CreateICA::return=CreatedHDC
CreateCompatibleDC::return=CreatedHDC
DeleteDC::hdc=CreatedHDC
DXVAHD_STREAM_DATA::ppPastSurfaces=[NativeArrayInfo(CountParamIndex=3)]
DXVAHD_STREAM_DATA::ppFutureSurfaces=[NativeArrayInfo(CountParamIndex=4)]
CreateIcon::lpbANDbits=[NativeArrayInfo]
CreateIcon::lpbXORbits=[NativeArrayInfo]
GetCurrentProcess::return=[DoNotRelease]
GetStdHandle::return=[DoNotRelease]
CoInitializeSecurity::dwCapabilities=EOLE_AUTHENTICATION_CAPABILITIES
CoSetProxyBlanket::dwCapabilities=EOLE_AUTHENTICATION_CAPABILITIES
IClientSecurity::SetBlanket::dwCapabilities=EOLE_AUTHENTICATION_CAPABILITIES
IClientSecurity::QueryBlanket::pCapabilites=EOLE_AUTHENTICATION_CAPABILITIES*
CoInitializeEx::dwCoInit=COINIT
CoCreateInstance::dwClsContext=CLSCTX
CoCreateInstanceEx::dwClsCtx=CLSCTX
CoCreateInstanceFromApp::dwClsCtx=CLSCTX
CoRegisterClassObject::dwClsContext=CLSCTX
CoRegisterClassObject::flags=REGCLS
CoGetClassObject::dwClsContext=CLSCTX
CoGetClassObjectFromURL::dwClsContext=CLSCTX
CoGetInstanceFromFile::dwClsCtx=CLSCTX
CoGetInstanceFromIStorage::dwClsCtx=CLSCTX
@ -469,16 +314,7 @@ MOUSEINPUT::mouseData=int
IMAGE_OPTIONAL_HEADER32::LoaderFlags=[Obsolete]
IMAGE_OPTIONAL_HEADER64::LoaderFlags=[Obsolete]
MsiGetFeatureValidStates::lpInstallStates=INSTALLSTATE
MsiEnumClientsExA::dwContext=MSIINSTALLCONTEXT
MsiEnumClientsExW::dwContext=MSIINSTALLCONTEXT
MsiProvideAssemblyA::dwInstallMode=INSTALLMODE
MsiProvideAssemblyW::dwInstallMode=INSTALLMODE
IVBGetControl::EnumControls::dwOleContF=OLECONTF
MsiAdvertiseScript::dwFlags=SCRIPTFLAGS
TTTOOLINFOA::uFlags=TTTOOLINFO_FLAGS
TTTOOLINFOW::uFlags=TTTOOLINFO_FLAGS
CERT_VIEWPROPERTIES_STRUCT_A::dwFlags=CERT_VIEWPROPERTIES_STRUCT_FLAGS
CERT_VIEWPROPERTIES_STRUCT_W::dwFlags=CERT_VIEWPROPERTIES_STRUCT_FLAGS
IWPCWebSettings::GetSettings::pdwSettings=WPCFLAG_WEB_SETTING*
MsiDatabaseApplyTransformA::iErrorConditions=MSITRANSFORM_ERROR
MsiDatabaseApplyTransformW::iErrorConditions=MSITRANSFORM_ERROR
@ -547,8 +383,6 @@ IUIAutomation::ElementFromHandle::hwnd=HWND
IUIAutomation::ElementFromHandleBuildCache::hwnd=HWND
GetNetworkParams::return=WIN32_ERROR
DoDragDrop=[CanReturnMultipleSuccessValues]
DwmGetWindowAttribute::dwAttribute=DWMWINDOWATTRIBUTE
DwmSetWindowAttribute::dwAttribute=DWMWINDOWATTRIBUTE
IShellFolder::EnumObjects=[CanReturnMultipleSuccessValues]
RtlInstallFunctionTableCallback::TableIdentifier=ulong
RtlInstallFunctionTableCallback::BaseAddress=ulong
@ -642,8 +476,6 @@ HlinkCreateFromData::ppvObj=[ComOutPtr]
HlinkClone::ppvObj=[ComOutPtr]
HlinkCreateBrowseContext::ppvObj=[ComOutPtr]
HlinkCreateExtensionServices::ppvObj=[ComOutPtr]
PRINTER_OPTIONSA::dwFlags=PRINTER_OPTION_FLAGS
PRINTER_OPTIONSW::dwFlags=PRINTER_OPTION_FLAGS
PDNS_SERVICE_BROWSE_CALLBACK::pDnsRecord=DNS_RECORDW*
IMMDevice::Activate::dwClsCtx=CLSCTX
IMMDevice::Activate::ppInterface=[ComOutPtr]
@ -673,8 +505,6 @@ RegDeleteValueA::return=WIN32_ERROR
RegDeleteValueW::return=WIN32_ERROR
RegDisablePredefinedCache::return=WIN32_ERROR
RegDisablePredefinedCacheEx::return=WIN32_ERROR
RegDisableReflectionKey::return=WIN32_ERROR
RegEnableReflectionKey::return=WIN32_ERROR
RegEnumKeyA::return=WIN32_ERROR
RegEnumKeyExA::return=WIN32_ERROR
RegEnumKeyExW::return=WIN32_ERROR
@ -705,7 +535,6 @@ RegQueryInfoKeyA::return=WIN32_ERROR
RegQueryInfoKeyW::return=WIN32_ERROR
RegQueryMultipleValuesA::return=WIN32_ERROR
RegQueryMultipleValuesW::return=WIN32_ERROR
RegQueryReflectionKey::return=WIN32_ERROR
RegQueryValueA::return=WIN32_ERROR
RegQueryValueExA::return=WIN32_ERROR
RegQueryValueExW::return=WIN32_ERROR
@ -757,7 +586,6 @@ SHRegEnumUSKeyA::return=WIN32_ERROR
SHRegEnumUSKeyW::return=WIN32_ERROR
SHRegEnumUSValueA::return=WIN32_ERROR
SHRegEnumUSValueW::return=WIN32_ERROR
SHRegGetIntW::return=WIN32_ERROR
SHRegGetPathA::return=WIN32_ERROR
SHRegGetPathW::return=WIN32_ERROR
SHRegGetUSValueA::return=WIN32_ERROR
@ -814,55 +642,6 @@ ApplySnapshotVhdSet::return=WIN32_ERROR
RawSCSIVirtualDisk::return=WIN32_ERROR
ForkVirtualDisk::return=WIN32_ERROR
CompleteForkVirtualDisk::return=WIN32_ERROR
GetCurrentPackageId::return=WIN32_ERROR
GetCurrentPackageFullName::return=WIN32_ERROR
GetCurrentPackageFamilyName::return=WIN32_ERROR
GetCurrentPackagePath::return=WIN32_ERROR
GetPackageId::return=WIN32_ERROR
GetPackageFullName::return=WIN32_ERROR
GetPackageFullNameFromToken::return=WIN32_ERROR
GetPackageFamilyName::return=WIN32_ERROR
GetPackageFamilyNameFromToken::return=WIN32_ERROR
GetPackagePath::return=WIN32_ERROR
GetPackagePathByFullName::return=WIN32_ERROR
GetStagedPackagePathByFullName::return=WIN32_ERROR
GetPackagePathByFullName2::return=WIN32_ERROR
GetStagedPackagePathByFullName2::return=WIN32_ERROR
GetCurrentPackageInfo2::return=WIN32_ERROR
GetCurrentPackagePath2::return=WIN32_ERROR
GetCurrentApplicationUserModelId::return=WIN32_ERROR
GetApplicationUserModelId::return=WIN32_ERROR
GetApplicationUserModelIdFromToken::return=WIN32_ERROR
VerifyPackageFullName::return=WIN32_ERROR
VerifyPackageFamilyName::return=WIN32_ERROR
VerifyPackageId::return=WIN32_ERROR
VerifyApplicationUserModelId::return=WIN32_ERROR
VerifyPackageRelativeApplicationId::return=WIN32_ERROR
PackageIdFromFullName::return=WIN32_ERROR
PackageFullNameFromId::return=WIN32_ERROR
PackageFamilyNameFromId::return=WIN32_ERROR
PackageFamilyNameFromFullName::return=WIN32_ERROR
PackageNameAndPublisherIdFromFamilyName::return=WIN32_ERROR
FormatApplicationUserModelId::return=WIN32_ERROR
ParseApplicationUserModelId::return=WIN32_ERROR
GetPackagesByPackageFamily::return=WIN32_ERROR
FindPackagesByPackageFamily::return=WIN32_ERROR
GetStagedPackageOrigin::return=WIN32_ERROR
GetCurrentPackageInfo::return=WIN32_ERROR
OpenPackageInfoByFullName::return=WIN32_ERROR
OpenPackageInfoByFullNameForUser::return=WIN32_ERROR
ClosePackageInfo::return=WIN32_ERROR
GetPackageInfo::return=WIN32_ERROR
GetPackageApplicationIds::return=WIN32_ERROR
GetPackageInfo2::return=WIN32_ERROR
AppPolicyGetLifecycleManagement::return=WIN32_ERROR
AppPolicyGetWindowingModel::return=WIN32_ERROR
AppPolicyGetMediaFoundationCodecLoading::return=WIN32_ERROR
AppPolicyGetClrCompat::return=WIN32_ERROR
AppPolicyGetThreadInitializationType::return=WIN32_ERROR
AppPolicyGetShowDeveloperDiagnostic::return=WIN32_ERROR
AppPolicyGetProcessTerminationMethod::return=WIN32_ERROR
AppPolicyGetCreateFileAccess::return=WIN32_ERROR
WAVEHDR::lpData=[NotNullTerminated]
IBackgroundCopyJobHttpOptions::GetClientCertificate::ppCertHashBlob=[-NativeArrayInfo][FreeWith("CoTaskMemFree")]
IBackgroundCopyJobHttpOptions::GetClientCertificate::pSubjectName=[FreeWith("CoTaskMemFree")]
@ -887,7 +666,6 @@ IMILBitmapEffectPrimitiveImpl::IsDirty=[CanReturnMultipleSuccessValues]
IMoniker::IsDirty=[CanReturnMultipleSuccessValues]
IOfflineFilesChangeInfo::IsDirty=[CanReturnMultipleSuccessValues]
IPersistFile::IsDirty=[CanReturnMultipleSuccessValues]
IPersistFile::IsDirty=[CanReturnMultipleSuccessValues]
IPersistMemory::IsDirty=[CanReturnMultipleSuccessValues]
IPersistMoniker::IsDirty=[CanReturnMultipleSuccessValues]
IPersistPropertyBag2::IsDirty=[CanReturnMultipleSuccessValues]
@ -921,14 +699,11 @@ DxcCreateInstance::ppv=[ComOutPtr]
DxcCreateInstance2::ppv=[ComOutPtr]
IWbemServices::CreateInstanceEnum::ppEnum=[ComOutPtr]
StiCreateInstanceW::ppSti=[ComOutPtr]
SHCoCreateInstance::ppv=[ComOutPtr]
IMFImageSharingEngineClassFactory::CreateInstanceFromUDN::ppEngine=[ComOutPtr]
IMFReadWriteClassFactory::CreateInstanceFromURL::ppvObject=[ComOutPtr]
IMFReadWriteClassFactory::CreateInstanceFromObject::ppvObject=[ComOutPtr]
IClassFactoryEx::CreateInstanceWithContext::ppv=[ComOutPtr]
ImageList_CoCreateInstance::ppv=[ComOutPtr]
MFTEnum2::Flags=MFT_ENUM_FLAG
MFTEnumEx::Flags=MFT_ENUM_FLAG
D2D1CreateFactory::ppIFactory=[ComOutPtr]
IRestrictedErrorInfo=[Agile]
IDXGISwapChain::Present=[CanReturnMultipleSuccessValues]
@ -944,7 +719,6 @@ IDirectorySearch::GetFirstRow::hSearchResult=ADS_SEARCH_HANDLE
IDirectorySearch::GetNextColumnName::hSearchHandle=ADS_SEARCH_HANDLE
IDirectorySearch::GetNextRow::hSearchResult=ADS_SEARCH_HANDLE
IDirectorySearch::GetPreviousRow::hSearchResult=ADS_SEARCH_HANDLE
IDirectorySearch::GetNextColumnName::hSearchHandle=ADS_SEARCH_HANDLE
AcceptSecurityContext=[CanReturnMultipleSuccessValues]
SaslAcceptSecurityContext=[CanReturnMultipleSuccessValues]
InitializeSecurityContextA=[CanReturnMultipleSuccessValues]
@ -959,32 +733,12 @@ IEnumIDList::Reset=[CanReturnMultipleSuccessValues]
IEnumIDList::Clone=[CanReturnMultipleSuccessValues]
IDataObject::QueryGetData=[CanReturnMultipleSuccessValues]
CallNtPowerInformation::return=NTSTATUS
D3D11_BUFFER_DESC::BindFlags=D3D11_BIND_FLAG
D3D11_BUFFER_DESC::CPUAccessFlags=D3D11_CPU_ACCESS_FLAG
D3D11_BUFFER_DESC::MiscFlags=D3D11_RESOURCE_MISC_FLAG
D3D11_TEXTURE1D_DESC::BindFlags=D3D11_BIND_FLAG
D3D11_TEXTURE1D_DESC::CPUAccessFlags=D3D11_CPU_ACCESS_FLAG
D3D11_TEXTURE1D_DESC::MiscFlags=D3D11_RESOURCE_MISC_FLAG
D3D11_TEXTURE2D_DESC::BindFlags=D3D11_BIND_FLAG
D3D11_TEXTURE2D_DESC::CPUAccessFlags=D3D11_CPU_ACCESS_FLAG
D3D11_TEXTURE2D_DESC::MiscFlags=D3D11_RESOURCE_MISC_FLAG
D3D11_TEXTURE2D_DESC1::BindFlags=D3D11_BIND_FLAG
D3D11_TEXTURE2D_DESC1::CPUAccessFlags=D3D11_CPU_ACCESS_FLAG
D3D11_TEXTURE2D_DESC1::MiscFlags=D3D11_RESOURCE_MISC_FLAG
D3D11_TEXTURE3D_DESC::BindFlags=D3D11_BIND_FLAG
D3D11_TEXTURE3D_DESC::CPUAccessFlags=D3D11_CPU_ACCESS_FLAG
D3D11_TEXTURE3D_DESC::MiscFlags=D3D11_RESOURCE_MISC_FLAG
D3D11_TEXTURE3D_DESC1::BindFlags=D3D11_BIND_FLAG
D3D11_TEXTURE3D_DESC1::CPUAccessFlags=D3D11_CPU_ACCESS_FLAG
D3D11_TEXTURE3D_DESC1::MiscFlags=D3D11_RESOURCE_MISC_FLAG
SysAllocStringByteLen::psz=[NativeArrayInfo(CountParamIndex = 1)]
CloseTrace::return=WIN32_ERROR
CloseTrace::TraceHandle=PROCESSTRACE_HANDLE
ControlTraceA::return=WIN32_ERROR
ControlTraceA::return=WIN32_ERROR
ControlTraceA::TraceHandle=CONTROLTRACE_HANDLE
ControlTraceW::return=WIN32_ERROR
ControlTraceW::return=WIN32_ERROR
ControlTraceW::TraceHandle=CONTROLTRACE_HANDLE
CreateTraceInstanceId::return=WIN32_ERROR
EnableTrace::return=WIN32_ERROR
@ -1030,7 +784,6 @@ TraceMessageVa::return=WIN32_ERROR
TraceQueryInformation::return=WIN32_ERROR
TraceQueryInformation::SessionHandle=CONTROLTRACE_HANDLE
TraceSetInformation::return=WIN32_ERROR
TraceSetInformation::return=WIN32_ERROR
TraceSetInformation::SessionHandle=CONTROLTRACE_HANDLE
UpdateTraceA::return=WIN32_ERROR
UpdateTraceA::TraceHandle=CONTROLTRACE_HANDLE
@ -1169,9 +922,6 @@ AssocQueryKeyW::flags=ASSOCF
# snmp.h
AsnAny=[StructLayout(LayoutKind.Sequential, Pack = 4)]
SnmpVarBind=[StructLayout(LayoutKind.Sequential, Pack = 4)]
ShellExecuteW::nShowCmd=SHOW_WINDOW_CMD
ShellExecuteA::nShowCmd=SHOW_WINDOW_CMD
SHGetKnownFolderPath::dwFlags=KNOWN_FOLDER_FLAG
OleCreateFontIndirect::lpFontDesc=[In]
OleCreateFontIndirect::lplpvObj=[Out]
OleCreatePictureIndirect::lpPictDesc=[In]
@ -1186,7 +936,6 @@ OleLoadPicturePath::ppvRet=[Out]
OleTranslateColor::lpcolorref=[Out]
DWriteCreateFactory::factory=[ComOutPtr]void**
TrackPopupMenu::prcRect=[In][Optional][-Reserved]
LdapMapErrorToWin32::return=WIN32_ERROR
SHGetPropertyStoreFromParsingName::ppv=[ComOutPtr]
IDropSource::QueryContinueDrag=[CanReturnMultipleSuccessValues]
IDropSource::GiveFeedback=[CanReturnMultipleSuccessValues]
@ -1344,9 +1093,7 @@ CoGetObjectContext::ppv=[ComOutPtr]
CoGetClassObject::ppv=[ComOutPtr]
CoGetCallContext::ppInterface=[ComOutPtr]
CoGetCancelObject::ppUnk=[ComOutPtr]
QueryDisplayConfig::return=WIN32_ERROR
QueryDisplayConfig::currentTopologyId=[Optional]
GetDisplayConfigBufferSizes::return=WIN32_ERROR
WTSQuerySessionInformationA::hServer=[Optional]
WTSQuerySessionInformationW::hServer=[Optional]
AssocQueryStringA=[CanReturnMultipleSuccessValues]
@ -1371,8 +1118,6 @@ WTSGetListenerSecurityW::hServer=[Optional][Reserved]
WTSLogoffSession::hServer=[Optional]
WTSQueryListenerConfigA::hServer=[Optional][Reserved]
WTSQueryListenerConfigW::hServer=[Optional][Reserved]
WTSQuerySessionInformationA::hServer=[Optional]
WTSQuerySessionInformationW::hServer=[Optional]
WTSRegisterSessionNotificationEx::hServer=[Optional]
WTSSendMessageA::hServer=[Optional]
WTSSendMessageW::hServer=[Optional]
@ -1386,33 +1131,17 @@ WTSWaitSystemEvent::hServer=[Optional]
ID3D12GraphicsCommandList::ClearRenderTargetView::pRects=[Optional]
IWbemClassObject::Get::pType=[Out][Optional]
IWbemClassObject::Get::plFlavor=[Out][Optional]
ReadFile::lpBuffer=byte*
ReadFileEx::lpBuffer=byte*
WriteFile::lpBuffer=byte*
WriteFileEx::lpBuffer=byte*
PrivateExtractIconsA::piconid=[-NativeArrayInfo]
PrivateExtractIconsW::piconid=[-NativeArrayInfo]
CfConnectSyncRoot::CallbackTable=[NativeArrayInfo]
CERT_INFO::rgExtension=[NativeArrayInfo(CountFieldName="cExtension")]
BeginUpdateResourceA::return=UPDATERESOURCE_HANDLE
BeginUpdateResourceW::return=UPDATERESOURCE_HANDLE
UpdateResourceA::hUpdate=UPDATERESOURCE_HANDLE
UpdateResourceW::hUpdate=UPDATERESOURCE_HANDLE
EndUpdateResourceA::hUpdate=UPDATERESOURCE_HANDLE
EndUpdateResourceW::hUpdate=UPDATERESOURCE_HANDLE
GetClipboardData::return=[ReturnsUnownedHandle]
LoadImageA::return=LOADIMAGE_HANDLE
LoadImageW::return=LOADIMAGE_HANDLE
GetCommandLineA::return=[Const]
GetCommandLineW::return=[Const]
MapViewOfFile::return=MEMORYMAPPEDVIEW_HANDLE
MapViewOfFile3::return=MEMORYMAPPEDVIEW_HANDLE
MapViewOfFile3FromApp::return=MEMORYMAPPEDVIEW_HANDLE
MapViewOfFileEx::return=MEMORYMAPPEDVIEW_HANDLE
MapViewOfFileExNuma::return=MEMORYMAPPEDVIEW_HANDLE
MapViewOfFileFromApp::return=MEMORYMAPPEDVIEW_HANDLE
MapViewOfFileNuma2::return=MEMORYMAPPEDVIEW_HANDLE
UnmapViewOfFile::lpBaseAddress=MEMORYMAPPEDVIEW_HANDLE
UnmapViewOfFile2::BaseAddress=MEMORYMAPPEDVIEW_HANDLE
UnmapViewOfFileEx::BaseAddress=MEMORYMAPPEDVIEW_HANDLE
EXTENSION_CONTROL_BLOCK::GetServerVariable=PFN_IIS_GETSERVERVARIABLE
EXTENSION_CONTROL_BLOCK::WriteClient=PFN_IIS_WRITECLIENT
EXTENSION_CONTROL_BLOCK::ReadClient=PFN_IIS_READCLIENT
@ -1534,4 +1263,404 @@ SetNetworkInformation::return=WIN32_ERROR
SetSessionCompartmentId::return=WIN32_ERROR
SetUnicastIpAddressEntry::return=WIN32_ERROR
SetThreadErrorMode::lpOldMode=[-In][Out][Optional]THREAD_ERROR_MODE*
SP_DEVINSTALL_PARAMS_A::InstallMsgHandler=PSP_FILE_CALLBACK_A
SP_DEVINSTALL_PARAMS_A::InstallMsgHandler=PSP_FILE_CALLBACK_A
MIDL_STUB_DESC::pfnAllocate=PFN_RPC_ALLOCATE
MIDL_STUB_DESC::pfnFree=PFN_RPC_FREE
MIDL_STUB_MESSAGE::pfnAllocate=PFN_RPC_ALLOCATE
MIDL_STUB_MESSAGE::pfnFree=PFN_RPC_FREE
EnumCalendarInfoExEx::lpReserved=[Reserved]
EnumSystemLocalesEx::lpReserved=[Reserved]
FindNLSStringEx::lpReserved=[Reserved]
GetCalendarInfoEx::lpReserved=[Reserved]
LCMapStringEx::lpReserved=[Reserved]
NotifyUILanguageChange::dwReserved=[Reserved]
CoAllowSetForegroundWindow::lpvReserved=[Reserved]
CoDisableCallCancellation::pReserved=[Reserved]
CoDisconnectObject::dwReserved=[Reserved]
CoEnableCallCancellation::pReserved=[Reserved]
CoFreeUnusedLibrariesEx::dwReserved=[Reserved]
CoInitialize::pvReserved=[Reserved]
CoInitializeEx::pvReserved=[Reserved]
CoInitializeSecurity::pReserved1=[Reserved]
CoInitializeSecurity::pReserved3=[Reserved]
GetActiveObject::pvReserved=[Reserved]
OleCreatePropertyFrame::dwReserved=[Reserved]
OleCreatePropertyFrame::pvReserved=[Reserved]
OleInitialize::pvReserved=[Reserved]
OleLoadPicturePath::dwReserved=[Reserved]
RevokeActiveObject::pvReserved=[Reserved]
REG_NOTIFY_FILTER::REG_NOTIFY_THREAD_AGNOSTIC=[SupportedOSPlatform("windows8.0")]
D3D12_COMMAND_SIGNATURE_DESC::pArgumentDescs=[NativeArrayInfo(CountFieldName = "NumArgumentDescs")]
D3D12_INPUT_LAYOUT_DESC::pInputElementDescs=[NativeArrayInfo(CountFieldName = "NumElements")]
D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS::pSubresourceParameters=[NativeArrayInfo(CountFieldName = "SubresourceCount")]
D3D12_ROOT_DESCRIPTOR_TABLE::pDescriptorRanges=[NativeArrayInfo(CountFieldName = "NumDescriptorRanges")]
D3D12_ROOT_DESCRIPTOR_TABLE1::pDescriptorRanges=[NativeArrayInfo(CountFieldName = "NumDescriptorRanges")]
D3D12_ROOT_SIGNATURE_DESC::pParameters=[NativeArrayInfo(CountFieldName = "NumParameters")]
D3D12_ROOT_SIGNATURE_DESC::pStaticSamplers=[NativeArrayInfo(CountFieldName = "NumStaticSamplers")]
D3D12_ROOT_SIGNATURE_DESC1::pParameters=[NativeArrayInfo(CountFieldName = "NumParameters")]
D3D12_ROOT_SIGNATURE_DESC1::pStaticSamplers=[NativeArrayInfo(CountFieldName = "NumStaticSamplers")]
D3D12_STREAM_OUTPUT_DESC::pBufferStrides=[NativeArrayInfo(CountFieldName = "NumStrides")]
D3D12_STREAM_OUTPUT_DESC::pSODeclaration=[NativeArrayInfo(CountFieldName = "NumEntries")]
D3D12_VIEW_INSTANCING_DESC::pViewInstanceLocations=[NativeArrayInfo(CountFieldName = "ViewInstanceCount")]
CreatePipe::hReadPipe=[IgnoreIfReturn("0")]
CreatePipe::hWritePipe=[IgnoreIfReturn("0")]
MapViewOfFile::return=MEMORY_MAPPED_VIEW_ADDRESS
MapViewOfFile3::return=MEMORY_MAPPED_VIEW_ADDRESS
MapViewOfFile3FromApp::return=MEMORY_MAPPED_VIEW_ADDRESS
MapViewOfFileEx::return=MEMORY_MAPPED_VIEW_ADDRESS
MapViewOfFileExNuma::return=MEMORY_MAPPED_VIEW_ADDRESS
MapViewOfFileFromApp::return=MEMORY_MAPPED_VIEW_ADDRESS
MapViewOfFileNuma2::return=MEMORY_MAPPED_VIEW_ADDRESS
UnmapViewOfFile::lpBaseAddress=MEMORY_MAPPED_VIEW_ADDRESS
UnmapViewOfFile2::BaseAddress=MEMORY_MAPPED_VIEW_ADDRESS
UnmapViewOfFileEx::BaseAddress=MEMORY_MAPPED_VIEW_ADDRESS
PeerGroupAddRecord::hGroup=[-NativeTypeName]
PeerGroupClose::hGroup=[-NativeTypeName]
PeerGroupCloseDirectConnection::hGroup=[-NativeTypeName]
PeerGroupConnect::hGroup=[-NativeTypeName]
PeerGroupConnectByAddress::hGroup=[-NativeTypeName]
PeerGroupCreate::phGroup=[-NativeTypeName]
PeerGroupCreateInvitation::hGroup=[-NativeTypeName]
PeerGroupCreatePasswordInvitation::hGroup=[-NativeTypeName]
PeerGroupDeleteRecord::hGroup=[-NativeTypeName]
PeerGroupEnumConnections::hGroup=[-NativeTypeName]
PeerGroupEnumMembers::hGroup=[-NativeTypeName]
PeerGroupEnumRecords::hGroup=[-NativeTypeName]
PeerGroupExportConfig::hGroup=[-NativeTypeName]
PeerGroupExportDatabase::hGroup=[-NativeTypeName]
PeerGroupGetProperties::hGroup=[-NativeTypeName]
PeerGroupGetRecord::hGroup=[-NativeTypeName]
PeerGroupGetStatus::hGroup=[-NativeTypeName]
PeerGroupImportDatabase::hGroup=[-NativeTypeName]
PeerGroupIssueCredentials::hGroup=[-NativeTypeName]
PeerGroupJoin::phGroup=[-NativeTypeName]
PeerGroupOpen::phGroup=[-NativeTypeName]
PeerGroupOpenDirectConnection::hGroup=[-NativeTypeName]
PeerGroupPasswordJoin::phGroup=[-NativeTypeName]
PeerGroupPeerTimeToUniversalTime::hGroup=[-NativeTypeName]
PeerGroupRegisterEvent::hGroup=[-NativeTypeName]
PeerGroupResumePasswordAuthentication::hGroup=[-NativeTypeName]
PeerGroupSearchRecords::hGroup=[-NativeTypeName]
PeerGroupSendData::hGroup=[-NativeTypeName]
PeerGroupSetProperties::hGroup=[-NativeTypeName]
PeerGroupUniversalTimeToPeerTime::hGroup=[-NativeTypeName]
PeerGroupUpdateRecord::hGroup=[-NativeTypeName]
DDMDL::Process=IntPtr
IEnumMediaTypes::Next=[CanReturnMultipleSuccessValues]
IEnumFilters::Next=[CanReturnMultipleSuccessValues]
IEnumRegFilters::Next=[CanReturnMultipleSuccessValues]
IEnumPins::Next=[CanReturnMultipleSuccessValues]
IEnumPIDMap::Next=[CanReturnMultipleSuccessValues]
SignalObjectAndWait=[CanReturnMultipleSuccessValues]
WaitForSingleObject=[CanReturnMultipleSuccessValues]
WaitForSingleObjectEx=[CanReturnMultipleSuccessValues]
WaitForMultipleObjects=[CanReturnMultipleSuccessValues]
WaitForMultipleObjectsEx=[CanReturnMultipleSuccessValues]
MsgWaitForMultipleObjects=[CanReturnMultipleSuccessValues]
MsgWaitForMultipleObjectsEx=[CanReturnMultipleSuccessValues]
WSAWaitForMultipleEvents=[CanReturnMultipleSuccessValues]
LocalFree=[CanReturnErrorsAsSuccess]
IMediaSample::IsDiscontinuity=[CanReturnMultipleSuccessValues]
IMediaSample::IsPreroll=[CanReturnMultipleSuccessValues]
IMediaSample::IsSyncPoint=[CanReturnMultipleSuccessValues]
LdapMapErrorToWin32::return=WIN32_ERROR
CERT_RDN_ATTR::dwValueType=[AssociatedEnum("CERT_RDN_ATTR_VALUE_TYPE")]
CHANGENOTIFY::dwChangeType=[AssociatedEnum("CHANGETYPE")]
CoGetClassObject::dwClsContext=[AssociatedEnum("CLSCTX")]
CoInitializeEx::dwCoInit=[AssociatedEnum("COINIT")]
CoInitializeSecurity::dwCapabilities=[AssociatedEnum("EOLE_AUTHENTICATION_CAPABILITIES")]
CONTROLINFO::dwFlags=[AssociatedEnum("CTRLINFO")]
CoRegisterClassObject::flags=[AssociatedEnum("REGCLS")]
CoSetProxyBlanket::dwCapabilities=[AssociatedEnum("EOLE_AUTHENTICATION_CAPABILITIES")]
D3D11_BUFFER_DESC::BindFlags=[AssociatedEnum("D3D11_BIND_FLAG")]
D3D11_BUFFER_DESC::CPUAccessFlags=[AssociatedEnum("D3D11_CPU_ACCESS_FLAG")]
D3D11_BUFFER_DESC::MiscFlags=[AssociatedEnum("D3D11_RESOURCE_MISC_FLAG")]
D3D11_TEXTURE1D_DESC::BindFlags=[AssociatedEnum("D3D11_BIND_FLAG")]
D3D11_TEXTURE1D_DESC::CPUAccessFlags=[AssociatedEnum("D3D11_CPU_ACCESS_FLAG")]
D3D11_TEXTURE1D_DESC::MiscFlags=[AssociatedEnum("D3D11_RESOURCE_MISC_FLAG")]
D3D11_TEXTURE2D_DESC::BindFlags=[AssociatedEnum("D3D11_BIND_FLAG")]
D3D11_TEXTURE2D_DESC::CPUAccessFlags=[AssociatedEnum("D3D11_CPU_ACCESS_FLAG")]
D3D11_TEXTURE2D_DESC::MiscFlags=[AssociatedEnum("D3D11_RESOURCE_MISC_FLAG")]
D3D11_TEXTURE2D_DESC1::BindFlags=[AssociatedEnum("D3D11_BIND_FLAG")]
D3D11_TEXTURE2D_DESC1::CPUAccessFlags=[AssociatedEnum("D3D11_CPU_ACCESS_FLAG")]
D3D11_TEXTURE2D_DESC1::MiscFlags=[AssociatedEnum("D3D11_RESOURCE_MISC_FLAG")]
D3D11_TEXTURE3D_DESC::BindFlags=[AssociatedEnum("D3D11_BIND_FLAG")]
D3D11_TEXTURE3D_DESC::CPUAccessFlags=[AssociatedEnum("D3D11_CPU_ACCESS_FLAG")]
D3D11_TEXTURE3D_DESC::MiscFlags=[AssociatedEnum("D3D11_RESOURCE_MISC_FLAG")]
D3D11_TEXTURE3D_DESC1::BindFlags=[AssociatedEnum("D3D11_BIND_FLAG")]
D3D11_TEXTURE3D_DESC1::CPUAccessFlags=[AssociatedEnum("D3D11_CPU_ACCESS_FLAG")]
D3D11_TEXTURE3D_DESC1::MiscFlags=[AssociatedEnum("D3D11_RESOURCE_MISC_FLAG")]
DOCHOSTUIINFO::dwDoubleClick=[AssociatedEnum("DOCHOSTUIDBLCLK")]
DOCHOSTUIINFO::dwFlags=[AssociatedEnum("DOCHOSTUIFLAG")]
DwmGetWindowAttribute::dwAttribute=[AssociatedEnum("DWMWINDOWATTRIBUTE")]
DwmSetWindowAttribute::dwAttribute=[AssociatedEnum("DWMWINDOWATTRIBUTE")]
DXVA2_DecodeBufferDesc::CompressedBufferType=[AssociatedEnum("DXVA2_BufferfType")]
EMREXTSELECTCLIPRGN::iMode=[AssociatedEnum("RGN_COMBINE_MODE")]
ExtCreatePen::iPenStyle=[AssociatedEnum("PEN_STYLE")]
EXTLOGPEN::elpPenStyle=[AssociatedEnum("PEN_STYLE")]
EXTLOGPEN32::elpPenStyle=[AssociatedEnum("PEN_STYLE")]
FlatSB_SetScrollProp::index=[AssociatedEnum("WSB_PROP")]
GetBkMode::return=[AssociatedEnum("BACKGROUND_MODE")]
GetCurrentObject::type=[AssociatedEnum("OBJ_TYPE")]
GetDeviceCaps::index=[AssociatedEnum("GET_DEVICE_CAPS_INDEX")]
GetThemeBitmap::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeBool::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeColor::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeEnumValue::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeFilename::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeInt::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeIntList::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeMargins::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeMetric::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemePosition::iPropId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeSysBool::iBoolId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeSysColorBrush::iColorId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeSysFont::iFontId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeSysInt::iIntId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
GetThemeSysString::iStringId=[AssociatedEnum("THEME_PROPERTY_SYMBOL_ID")]
HtmlHelpA::uCommand=[AssociatedEnum("HTML_HELP_COMMAND")]
HtmlHelpW::uCommand=[AssociatedEnum("HTML_HELP_COMMAND")]
IAMMultiMediaStream::AddMediaStream::dwFlags=[AssociatedEnum("AMMSF_MS_FLAGS")]
IAMMultiMediaStream::Initialize::dwFlags=[AssociatedEnum("AMMSF_MMS_INIT_FLAGS")]
IAzClientContext3::GetGroups::ulOptions=[AssociatedEnum("AZ_PROP_CONSTANTS")]
IClientSecurity::QueryBlanket::pCapabilites=[AssociatedEnum("EOLE_AUTHENTICATION_CAPABILITIES")]
IClientSecurity::SetBlanket::dwCapabilities=[AssociatedEnum("EOLE_AUTHENTICATION_CAPABILITIES")]
IDirectXVideoAccelerationService::CreateSurface::DxvaType=[AssociatedEnum("DXVA2_VideoRenderTargetType")]
IDirectXVideoDecoder::GetBuffer::BufferType=[AssociatedEnum("DXVA2_BufferfType")]
IFolderView::ItemCount::uFlags=[AssociatedEnum("_SVGIO")]
IFolderView::Items::uFlags=[AssociatedEnum("_SVGIO")]
IIdentityAdvise::IdentityUpdated::dwIdentityUpdateEvents=[AssociatedEnum("IdentityUpdateEvent")]
IIdentityProvider::Advise::dwIdentityUpdateEvents=[AssociatedEnum("IdentityUpdateEvent")]
IImePad::Request::reqId=[AssociatedEnum("IME_PAD_REQUEST_FLAGS")]
IOleClientSite::GetMoniker::dwAssign=[AssociatedEnum("OLEGETMONIKER")]
IOleClientSite::GetMoniker::dwWhichMoniker=[AssociatedEnum("OLEWHICHMK")]
IOleContainer::EnumObjects::grfFlags=[AssociatedEnum("OLECONTF")]
IOleControlSite::TransformCoords::dwFlags=[AssociatedEnum("XFORMCOORDS")]
IOleObject::Close::dwSaveOption=[AssociatedEnum("OLECLOSE")]
IOleObject::GetMoniker::dwAssign=[AssociatedEnum("OLEGETMONIKER")]
IOleObject::GetMoniker::dwWhichMoniker=[AssociatedEnum("OLEWHICHMK")]
IOleObject::GetUserType::dwFormOfType=[AssociatedEnum("USERCLASSTYPE")]
IOleObject::SetMoniker::dwWhichMoniker=[AssociatedEnum("OLEWHICHMK")]
IPropertyPageSite::OnStatusChange::dwFlags=[AssociatedEnum("PROPPAGESTATUS")]
IQueryInfo::GetInfoTip::dwFlags=[AssociatedEnum("QITIPF_FLAGS")]
IShellFolderView::Select::dwFlags=[AssociatedEnum("SFVS_SELECT")]
IShellFolderViewCB::MessageSFVCB::uMsg=[AssociatedEnum("SFVM_MESSAGE_ID")]
IShellView::GetItemObject::uItem=[AssociatedEnum("_SVGIO")]
IStorage::MoveElementTo::grfFlags=[AssociatedEnum("STGMOVE")]
IStream::Commit::grfCommitFlags=[AssociatedEnum("STGC")]
IStream::LockRegion::dwLockType=[AssociatedEnum("LOCKTYPE")]
IStream::Stat::grfStatFlag=[AssociatedEnum("STATFLAG")]
IVBGetControl::EnumControls::dwOleContF=[AssociatedEnum("OLECONTF")]
IWPCProviderConfig::RequestOverride::dwFlags=[AssociatedEnum("WPCFLAG_RESTRICTION")]
IWSCProductList::Initialize::provider=[AssociatedEnum("WSC_SECURITY_PROVIDER")]
JOBOBJECT_IO_RATE_CONTROL_INFORMATION::ControlFlags=[AssociatedEnum("JOB_OBJECT_IO_RATE_CONTROL_FLAGS")]
LdapMapErrorToWin32::LdapError=[AssociatedEnum("LDAP_RETCODE")]
LOGPEN::lopnStyle=[AssociatedEnum("PEN_STYLE")]
MFTEnum2::Flags=[AssociatedEnum("MFT_ENUM_FLAG")]
MFTEnumEx::Flags=[AssociatedEnum("MFT_ENUM_FLAG")]
MsiEnableLogA::dwLogMode=[AssociatedEnum("INSTALLLOGMODE")]
MsiEnableLogW::dwLogMode=[AssociatedEnum("INSTALLLOGMODE")]
MsiEnumClientsExA::dwContext=[AssociatedEnum("MSIINSTALLCONTEXT")]
MsiEnumClientsExW::dwContext=[AssociatedEnum("MSIINSTALLCONTEXT")]
MsiProvideAssemblyA::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideAssemblyW::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideComponentA::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideComponentW::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideQualifiedComponentA::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideQualifiedComponentExA::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideQualifiedComponentExW::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiProvideQualifiedComponentW::dwInstallMode=[AssociatedEnum("INSTALLMODE")]
MsiReinstallFeatureA::dwReinstallMode=[AssociatedEnum("REINSTALLMODE")]
MsiReinstallFeatureW::dwReinstallMode=[AssociatedEnum("REINSTALLMODE")]
MsiReinstallProductA::szReinstallMode=[AssociatedEnum("REINSTALLMODE")]
MsiReinstallProductW::szReinstallMode=[AssociatedEnum("REINSTALLMODE")]
NTMS_DRIVEINFORMATIONA::State=[AssociatedEnum("NtmsDriveState")]
NTMS_DRIVEINFORMATIONW::State=[AssociatedEnum("NtmsDriveState")]
NTMS_IEDOORINFORMATION::State=[AssociatedEnum("NtmsDoorState")]
NTMS_IEPORTINFORMATION::Content=[AssociatedEnum("NtmsPortContent")]
NTMS_IEPORTINFORMATION::Position=[AssociatedEnum("NtmsPortPosition")]
NTMS_LIBRARYINFORMATION::dwFlags=[AssociatedEnum("NtmsLibraryFlags")]
NTMS_LIBRARYINFORMATION::InventoryMethod=[AssociatedEnum("NtmsInventoryMethod")]
NTMS_LIBRARYINFORMATION::LibraryType=[AssociatedEnum("NtmsLibraryType")]
NTMS_LIBREQUESTINFORMATIONA::OperationCode=[AssociatedEnum("NtmsLmOperation")]
NTMS_LIBREQUESTINFORMATIONA::State=[AssociatedEnum("NtmsLmState")]
NTMS_LIBREQUESTINFORMATIONW::OperationCode=[AssociatedEnum("NtmsLmOperation")]
NTMS_LIBREQUESTINFORMATIONW::State=[AssociatedEnum("NtmsLmState")]
NTMS_MEDIATYPEINFORMATION::ReadWriteCharacteristics=[AssociatedEnum("NtmsReadWriteCharacteristics")]
NTMS_NOTIFICATIONINFORMATION::dwOperation=[AssociatedEnum("NtmsNotificationOperations")]
NTMS_OBJECTINFORMATIONA::dwOperationalState=[AssociatedEnum("NtmsOperationalState")]
NTMS_OBJECTINFORMATIONA::dwType=[AssociatedEnum("NtmsObjectsTypes")]
NTMS_OBJECTINFORMATIONW::dwOperationalState=[AssociatedEnum("NtmsOperationalState")]
NTMS_OBJECTINFORMATIONW::dwType=[AssociatedEnum("NtmsObjectsTypes")]
NTMS_OPREQUESTINFORMATIONA::Arg1Type=[AssociatedEnum("NtmsObjectsTypes")]
NTMS_OPREQUESTINFORMATIONA::Arg2Type=[AssociatedEnum("NtmsObjectsTypes")]
NTMS_OPREQUESTINFORMATIONA::Request=[AssociatedEnum("NtmsOpreqCommand")]
NTMS_OPREQUESTINFORMATIONA::State=[AssociatedEnum("NtmsOpreqState")]
NTMS_OPREQUESTINFORMATIONW::Arg1Type=[AssociatedEnum("NtmsObjectsTypes")]
NTMS_OPREQUESTINFORMATIONW::Arg2Type=[AssociatedEnum("NtmsObjectsTypes")]
NTMS_OPREQUESTINFORMATIONW::Request=[AssociatedEnum("NtmsOpreqCommand")]
NTMS_OPREQUESTINFORMATIONW::State=[AssociatedEnum("NtmsOpreqState")]
NTMS_PARTITIONINFORMATIONA::State=[AssociatedEnum("NtmsPartitionState")]
NTMS_PARTITIONINFORMATIONW::State=[AssociatedEnum("NtmsPartitionState")]
NTMS_PMIDINFORMATIONA::BarCodeState=[AssociatedEnum("NtmsBarCodeState")]
NTMS_PMIDINFORMATIONA::MediaState=[AssociatedEnum("NtmsMediaState")]
NTMS_PMIDINFORMATIONW::BarCodeState=[AssociatedEnum("NtmsBarCodeState")]
NTMS_PMIDINFORMATIONW::MediaState=[AssociatedEnum("NtmsMediaState")]
OLECMD::cmdf=[AssociatedEnum("OLECMDF")]
OLECMD::cmdID=[AssociatedEnum("OLECMDID")]
OleCreate::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateEx::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateFromData::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateFromDataEx::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateFromFile::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateFromFileEx::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateLink::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateLinkEx::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateLinkFromData::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateLinkFromDataEx::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateLinkToFile::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateLinkToFileEx::renderopt=[AssociatedEnum("OLERENDER")]
OleCreateStaticFromData::renderopt=[AssociatedEnum("OLERENDER")]
OleRegGetUserType::dwFormOfType=[AssociatedEnum("USERCLASSTYPE")]
OLEVERB::grfAttribs=[AssociatedEnum("OLEVERBATTRIB")]
PathCleanupSpec::return=[AssociatedEnum("PCS_RET")]
PathResolve::fFlags=[AssociatedEnum("PRF_FLAGS")]
PICTDESC::picType=[AssociatedEnum("PICTYPE")]
PIXELFORMATDESCRIPTOR::iLayerType=[AssociatedEnum("PFD_LAYER_TYPE")]
PRINTER_OPTIONSA::dwFlags=[AssociatedEnum("PRINTER_OPTION_FLAGS")]
PRINTER_OPTIONSW::dwFlags=[AssociatedEnum("PRINTER_OPTION_FLAGS")]
QACONTAINER::dwAmbientFlags=[AssociatedEnum("QACONTAINERFLAGS")]
QACONTROL::dwMiscStatus=[AssociatedEnum("OLEMISC")]
QACONTROL::dwPointerActivationPolicy=[AssociatedEnum("POINTERINACTIVE")]
QACONTROL::dwViewStatus=[AssociatedEnum("VIEWSTATUS")]
RegRestoreKeyA::dwFlags=[AssociatedEnum("REG_RESTORE_KEY_FLAGS")]
RegRestoreKeyW::dwFlags=[AssociatedEnum("REG_RESTORE_KEY_FLAGS")]
RemSTGMEDIUM::tymed=[AssociatedEnum("TYMED")]
SetBkMode::mode=[AssociatedEnum("BACKGROUND_MODE")]
SHChangeNotify::wEventId=[AssociatedEnum("SHCNE_ID")]
SHDESCRIPTIONID::dwDescriptionId=[AssociatedEnum("SHDID_ID")]
SHFormatDrive::options=[AssociatedEnum("SHFMT_OPT")]
SHGetKnownFolderPath::dwFlags=[AssociatedEnum("KNOWN_FOLDER_FLAG")]
SHObjectProperties::shopObjectType=[AssociatedEnum("SHOP_TYPE")]
SHValidateUNC::fConnect=[AssociatedEnum("VALIDATEUNC_OPTION")]
SnmpSvcSetLogType::nLogType=[AssociatedEnum("SNMP_OUTPUT_LOG_TYPE")]
STATSTG::grfLocksSupported=[AssociatedEnum("LOCKTYPE")]
STGMEDIUM::tymed=[AssociatedEnum("TYMED")]
SymGetHomeDirectory::type=[AssociatedEnum("IMAGEHLP_HD_TYPE")]
SymGetHomeDirectoryW::type=[AssociatedEnum("IMAGEHLP_HD_TYPE")]
SymGetSymbolFile::Type=[AssociatedEnum("IMAGEHLP_SF_TYPE")]
SymGetSymbolFileW::Type=[AssociatedEnum("IMAGEHLP_SF_TYPE")]
VerifierEnumerateResource::ResourceType=[AssociatedEnum("eAvrfResourceTypes")]
VS_FIXEDFILEINFO::dwFileSubtype=[AssociatedEnum("VS_FIXEDFILEINFO_FILE_SUBTYPE")]
VS_FIXEDFILEINFO::dwFileType=[AssociatedEnum("VS_FIXEDFILEINFO_FILE_TYPE")]
WINDOWPLACEMENT::showCmd=[AssociatedEnum("SHOW_WINDOW_CMD")]
AppPolicyGetClrCompat::return=WIN32_ERROR
AppPolicyGetCreateFileAccess::return=WIN32_ERROR
AppPolicyGetLifecycleManagement::return=WIN32_ERROR
AppPolicyGetMediaFoundationCodecLoading::return=WIN32_ERROR
AppPolicyGetProcessTerminationMethod::return=WIN32_ERROR
AppPolicyGetShowDeveloperDiagnostic::return=WIN32_ERROR
AppPolicyGetThreadInitializationType::return=WIN32_ERROR
AppPolicyGetWindowingModel::return=WIN32_ERROR
ClosePackageInfo::return=WIN32_ERROR
FindPackagesByPackageFamily::return=WIN32_ERROR
FormatApplicationUserModelId::return=WIN32_ERROR
GetApplicationUserModelId::return=WIN32_ERROR
GetApplicationUserModelIdFromToken::return=WIN32_ERROR
GetCurrentApplicationUserModelId::return=WIN32_ERROR
GetCurrentPackageFamilyName::return=WIN32_ERROR
GetCurrentPackageFullName::return=WIN32_ERROR
GetCurrentPackageId::return=WIN32_ERROR
GetCurrentPackageInfo::return=WIN32_ERROR
GetCurrentPackageInfo2::return=WIN32_ERROR
GetCurrentPackagePath::return=WIN32_ERROR
GetCurrentPackagePath2::return=WIN32_ERROR
GetDisplayConfigBufferSizes::return=WIN32_ERROR
GetPackageApplicationIds::return=WIN32_ERROR
GetPackageFamilyName::return=WIN32_ERROR
GetPackageFamilyNameFromToken::return=WIN32_ERROR
GetPackageFullName::return=WIN32_ERROR
GetPackageFullNameFromToken::return=WIN32_ERROR
GetPackageId::return=WIN32_ERROR
GetPackageInfo::return=WIN32_ERROR
GetPackageInfo2::return=WIN32_ERROR
GetPackagePath::return=WIN32_ERROR
GetPackagePathByFullName::return=WIN32_ERROR
GetPackagePathByFullName2::return=WIN32_ERROR
GetPackagesByPackageFamily::return=WIN32_ERROR
GetStagedPackageOrigin::return=WIN32_ERROR
GetStagedPackagePathByFullName::return=WIN32_ERROR
GetStagedPackagePathByFullName2::return=WIN32_ERROR
OpenPackageInfoByFullName::return=WIN32_ERROR
OpenPackageInfoByFullNameForUser::return=WIN32_ERROR
PackageFamilyNameFromFullName::return=WIN32_ERROR
PackageFamilyNameFromId::return=WIN32_ERROR
PackageFullNameFromId::return=WIN32_ERROR
PackageIdFromFullName::return=WIN32_ERROR
PackageNameAndPublisherIdFromFamilyName::return=WIN32_ERROR
ParseApplicationUserModelId::return=WIN32_ERROR
QueryDisplayConfig::return=WIN32_ERROR
RegDisableReflectionKey::return=WIN32_ERROR
RegEnableReflectionKey::return=WIN32_ERROR
RegQueryReflectionKey::return=WIN32_ERROR
VerifyApplicationUserModelId::return=WIN32_ERROR
VerifyPackageFamilyName::return=WIN32_ERROR
VerifyPackageFullName::return=WIN32_ERROR
VerifyPackageId::return=WIN32_ERROR
VerifyPackageRelativeApplicationId::return=WIN32_ERROR
BeginUpdateResourceA::return=[RAIIFree("EndUpdateResourceA")]
BeginUpdateResourceW::return=[RAIIFree("EndUpdateResourceW")]
CreateActCtxA::return=[RAIIFree("ReleaseActCtx")]
CreateActCtxW::return=[RAIIFree("ReleaseActCtx")]
CreateBoundaryDescriptorA::return=[RAIIFree("DeleteBoundaryDescriptor")]
CreateBoundaryDescriptorW::return=[RAIIFree("DeleteBoundaryDescriptor")]
CreateEnhMetaFileA::return=[RAIIFree("DeleteEnhMetaFile")]
CreateEnhMetaFileW::return=[RAIIFree("DeleteEnhMetaFile")]
CreateMetaFileA::return=[RAIIFree("DeleteMetaFile")]
CreateMetaFileW::return=[RAIIFree("DeleteMetaFile")]
CreatePrivateNamespaceA::return=[RAIIFree("ClosePrivateNamespace")]
CreatePrivateNamespaceW::return=[RAIIFree("ClosePrivateNamespace")]
DnsAcquireContextHandle_A::pContext=[RAIIFree("DnsReleaseContextHandle")]
DnsAcquireContextHandle_W::pContext=[RAIIFree("DnsReleaseContextHandle")]
DsGetDcOpenA::RetGetDcContext=[RAIIFree("DsGetDcCloseW")]
DsGetDcOpenW::RetGetDcContext=[RAIIFree("DsGetDcCloseW")]
FilterFindFirst::lpFilterFind=[RAIIFree("FilterFindClose")]
FilterInstanceFindFirst::lpFilterInstanceFind=[RAIIFree("FilterInstanceFindClose")]
FilterVolumeFindFirst::lpVolumeFind=[RAIIFree("FilterVolumeFindClose")]
FilterVolumeInstanceFindFirst::lpVolumeInstanceFind=[RAIIFree("FilterVolumeInstanceFindClose")]
FindFirstChangeNotificationA::return=[RAIIFree("FindCloseChangeNotification")]
FindFirstChangeNotificationW::return=[RAIIFree("FindCloseChangeNotification")]
FindFirstFileA::return=[RAIIFree("FindClose")]
FindFirstFileExA::return=[RAIIFree("FindClose")]
FindFirstFileExW::return=[RAIIFree("FindClose")]
FindFirstFileNameTransactedW::return=[RAIIFree("FindClose")]
FindFirstFileNameW::return=[RAIIFree("FindClose")]
FindFirstFileTransactedA::return=[RAIIFree("FindClose")]
FindFirstFileTransactedW::return=[RAIIFree("FindClose")]
FindFirstFileW::return=[RAIIFree("FindClose")]
FindFirstStreamTransactedW::return=[RAIIFree("FindClose")]
FindFirstStreamW::return=[RAIIFree("FindClose")]
FindFirstVolumeA::return=[RAIIFree("FindVolumeClose")]
FindFirstVolumeMountPointA::return=[RAIIFree("FindVolumeMountPointClose")]
FindFirstVolumeMountPointW::return=[RAIIFree("FindVolumeMountPointClose")]
FindFirstVolumeW::return=[RAIIFree("FindVolumeClose")]
HeapCreate::return=[RAIIFree("HeapDestroy")]
Icmp6CreateFile::return=[RAIIFree("IcmpCloseHandle")]
IcmpCreateFile::return=[RAIIFree("IcmpCloseHandle")]
OpenBackupEventLogA::return=[RAIIFree("CloseEventLog")]
OpenBackupEventLogW::return=[RAIIFree("CloseEventLog")]
OpenEventLogA::return=[RAIIFree("CloseEventLog")]
OpenEventLogW::return=[RAIIFree("CloseEventLog")]
OpenPrivateNamespaceA::return=[RAIIFree("ClosePrivateNamespace")]
OpenPrivateNamespaceW::return=[RAIIFree("ClosePrivateNamespace")]
PerfOpenQueryHandle::phQuery=[RAIIFree("PerfCloseQueryHandle")]
PerfStartProvider::phProvider=[RAIIFree("PerfStopProvider")]
PerfStartProviderEx::Provider=[RAIIFree("PerfStopProvider")]
RegisterEventSourceA::return=[RAIIFree("DeregisterEventSource")]
RegisterEventSourceW::return=[RAIIFree("DeregisterEventSource")]
SHChangeNotification_Lock::return=[RAIIFree("SHChangeNotification_Unlock")]
WNetOpenEnumA::lphEnum=[RAIIFree("WNetCloseEnum")]
WNetOpenEnumW::lphEnum=[RAIIFree("WNetCloseEnum")]
WTSVirtualChannelOpen::return=[RAIIFree("WTSVirtualChannelClose")]
WTSVirtualChannelOpenEx::return=[RAIIFree("WTSVirtualChannelClose")]
CLRCreateInstance::ppInterface=[Out][ComOutPtr]

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,6 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Windows.Win32.Interop;
using Windows.Win32.Foundation.Metadata;
namespace Windows.Win32.System.ApplicationInstallationAndServicing
{

Просмотреть файл

@ -1,6 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Windows.Win32.Interop;
using Windows.Win32.Foundation.Metadata;
using static Windows.Win32.UI.WindowsAndMessaging.Apis;
namespace Windows.Win32.Media.Audio

Просмотреть файл

@ -1,6 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Windows.Win32.Interop;
using Windows.Win32.Foundation.Metadata;
using static Windows.Win32.UI.Controls.Apis;
namespace Windows.Win32.System.Com

Просмотреть файл

@ -1,6 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Windows.Win32.Interop;
using Windows.Win32.Foundation.Metadata;
namespace Windows.Win32.System.Console
{

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше