Expand CI compatibility matrix to twenty verified samples
This commit is contained in:
1 parent
66be109b8f
commit
40165ccbb2
6 files changed
+319
-30
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# CI API compatibility matrix
|
||||
|
||||
This matrix records **named export presence in 13 exact `ci.dll` files**,
|
||||
This matrix records **named export presence in 20 exact `ci.dll` files**,
|
||||
with architecture stated separately for each sample.
|
||||
**Yes** means the complete PE export directory contains the name; **No** means
|
||||
it does not. Neither result is inferred from a header, import library or PDB.
|
||||
@@ -11,7 +11,14 @@ In particular, the Windows 10 22H2 consumer ISO contains CI **19041.1865**.
|
||||
Do not extrapolate a cell to every servicing revision of that Windows release.
|
||||
|
||||
[Machine-readable matrix](ci-api-compatibility.json) includes exact SHA-256 identities,
|
||||
all per-API results and hashes of the retained source inventories.
|
||||
all per-API results and canonical JSON hashes of the retained source inventories.
|
||||
Source hashes ignore whitespace and line-ending differences between checkouts;
|
||||
the binary SHA-256 identities always cover the exact original bytes.
|
||||
|
||||
The tables use numeric `VS_FIXEDFILEINFO` versions. The original modern x64
|
||||
sample has **fixed version 26100.9444** but its string `FileVersion` reports
|
||||
**26100.8328**. Original research/header labels retain that string version;
|
||||
they identify the same SHA-256 file, not two different CI samples.
|
||||
|
||||
## Windows 10 1507–1803 x64 samples
|
||||
|
||||
@@ -28,20 +35,50 @@ all per-API results and hashes of the retained source inventories.
|
||||
| `CiValidateFileObject` | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiVerifyHashInCatalog` | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
|
||||
## Later Windows 10 and Windows 11 x64 samples
|
||||
## Later Windows 10 x64 samples
|
||||
|
||||
| API | 19041.1 | 19041.1865 | 22000.318 | 22621.2792 | 26100.8328 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `CiCheckSignedFile` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiFindPageHashesInCatalog` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiFindPageHashesInSignedFile` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiFreePolicyInfo` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiGetCertPublisherName` | No | Yes | Yes | Yes | Yes |
|
||||
| `CiGetPEInformation` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiInitialize` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiSetTrustedOriginClaimId` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiValidateFileObject` | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiVerifyHashInCatalog` | Yes | Yes | Yes | Yes | Yes |
|
||||
| API | 17763.1 | 17763.348 | 18362.1 | 18362.329 | 18362.418 | 19041.1 | 19041.1865 |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `CiCheckSignedFile` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiFindPageHashesInCatalog` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiFindPageHashesInSignedFile` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiFreePolicyInfo` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiGetCertPublisherName` | No | No | No | No | No | No | Yes |
|
||||
| `CiGetPEInformation` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiInitialize` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiSetTrustedOriginClaimId` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiValidateFileObject` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| `CiVerifyHashInCatalog` | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
|
||||
## Windows 11 x64 samples
|
||||
|
||||
| API | 22000.318 | 22621.2792 | 26100.9444 |
|
||||
| --- | --- | --- | --- |
|
||||
| `CiCheckSignedFile` | Yes | Yes | Yes |
|
||||
| `CiFindPageHashesInCatalog` | Yes | Yes | Yes |
|
||||
| `CiFindPageHashesInSignedFile` | Yes | Yes | Yes |
|
||||
| `CiFreePolicyInfo` | Yes | Yes | Yes |
|
||||
| `CiGetCertPublisherName` | Yes | Yes | Yes |
|
||||
| `CiGetPEInformation` | Yes | Yes | Yes |
|
||||
| `CiInitialize` | Yes | Yes | Yes |
|
||||
| `CiSetTrustedOriginClaimId` | Yes | Yes | Yes |
|
||||
| `CiValidateFileObject` | Yes | Yes | Yes |
|
||||
| `CiVerifyHashInCatalog` | Yes | Yes | Yes |
|
||||
|
||||
## Windows 10 ARM64 samples
|
||||
|
||||
| API | 19041.1566 | 19041.2965 |
|
||||
| --- | --- | --- |
|
||||
| `CiCheckSignedFile` | Yes | Yes |
|
||||
| `CiFindPageHashesInCatalog` | Yes | Yes |
|
||||
| `CiFindPageHashesInSignedFile` | Yes | Yes |
|
||||
| `CiFreePolicyInfo` | Yes | Yes |
|
||||
| `CiGetCertPublisherName` | Yes | Yes |
|
||||
| `CiGetPEInformation` | Yes | Yes |
|
||||
| `CiInitialize` | Yes | Yes |
|
||||
| `CiSetTrustedOriginClaimId` | Yes | Yes |
|
||||
| `CiValidateFileObject` | Yes | Yes |
|
||||
| `CiVerifyHashInCatalog` | Yes | Yes |
|
||||
|
||||
## Windows 11 ARM64 samples
|
||||
|
||||
@@ -72,6 +109,16 @@ all per-API results and hashes of the retained source inventories.
|
||||
`1db7ae5a08bd2361fc7fcdd373fb980e8d680035e67b02e5967095db0443effd`.
|
||||
- Windows 10 1803: **10.0.17134.1130 x64**, SHA-256
|
||||
`8ce3b8fe38c23b699f30b045383640019a429d3a9d513285c655bffe03a796d9`.
|
||||
- Windows 10 1809 initial x64 ISO: **10.0.17763.1 x64**, SHA-256
|
||||
`eb177481f2aea3cae0c2f97f7058e7447c0695e4489428406598f168d4dcc5e8`.
|
||||
- Windows 10 1809 October v2 x64 ISO: **10.0.17763.348 x64**, SHA-256
|
||||
`da8282173cbce7ea38f8fca64db0972c3d9614ddbca98f6b96d11a4cadde92ad`.
|
||||
- Windows 10 1903 v1 x64 ISO: **10.0.18362.1 x64**, SHA-256
|
||||
`5d01bb84fa516e23c25def8ea03fc6b696082ccc67a61575fd00d1fe7c273d72`.
|
||||
- Windows 10 1903 v2 x64 ISO: **10.0.18362.329 x64**, SHA-256
|
||||
`d12131f14f781f8c314a795384e02afc3c2902bf67da9c2e75d8163c891bdd89`.
|
||||
- Windows 10 1909 x64 ISO: **10.0.18362.418 x64**, SHA-256
|
||||
`c3c5d32da42fa69b0795cd0f8c57252670d673fb036685db5c7d6392ffee0293`.
|
||||
- Windows 10 2004 ISO: **10.0.19041.1 x64**, SHA-256
|
||||
`2955710d34db26e352e62b20861ba338f0216cc36b378d128057be955e184282`.
|
||||
- Windows 10 22H2 consumer ISO: **10.0.19041.1865 x64**, SHA-256
|
||||
@@ -80,8 +127,13 @@ all per-API results and hashes of the retained source inventories.
|
||||
`301ae49ac5b87cf1cbe07d9d3c6486a066d045b6bf55fc8eb392d52951ec69ff`.
|
||||
- Windows 11 23H2 English ISO: **10.0.22621.2792 x64**, SHA-256
|
||||
`9ed77b8a53946ced8c3540edb26a765060dff908544634e7b069aa49f2b41559`.
|
||||
- Windows 11 24H2 sample: **10.0.26100.8328 x64**, SHA-256
|
||||
- Windows 11 24H2 sample: **10.0.26100.9444 x64**, SHA-256
|
||||
`c7d23814f3202c51fb23e3ca3d4328855787383cee5d14c4a986a13ec2aeda0b`.
|
||||
String FileVersion: **10.0.26100.8328** (original research label).
|
||||
- Windows 10 21H2 ARM64 ISO (archive Raspberry Pi folder): **10.0.19041.1566 ARM64**, SHA-256
|
||||
`a35f651261691cc67acc9c8bfd00bba7a64dd9f16d2c4b6fe1d183e34aeead78`.
|
||||
- Windows 10 22H2.7 ARM64 ISO: **10.0.19041.2965 ARM64**, SHA-256
|
||||
`33f2d1256f60392bbb84c4251d6435461dfa852a100e065376f83dc8a4dd2ec6`.
|
||||
- Windows 11 22H2.9 ARM64 ISO: **10.0.22621.1702 ARM64**, SHA-256
|
||||
`4164ac08fd19628c5ab6cbca6234265ac2bf7f39d5149f57d3845646d8a8ad60`.
|
||||
- Windows 11 24H2 ARM64 ISO: **10.0.26100.1591 ARM64**, SHA-256
|
||||
@@ -92,9 +144,12 @@ all per-API results and hashes of the retained source inventories.
|
||||
- `CiValidateFileObject` is already exported in the sampled Windows 10 1507 file.
|
||||
- `CiSetTrustedOriginClaimId` is present in the sampled 1703 file and absent in
|
||||
the three earlier samples. This does not prove its first introduction build.
|
||||
- `CiGetCertPublisherName` is absent in 19041.1 and present in 19041.1865.
|
||||
- On sampled x64 files, `CiGetCertPublisherName` is absent in 19041.1
|
||||
and present in 19041.1865.
|
||||
Its first Windows 10 servicing update remains unknown. It is also present
|
||||
in the sampled 22000.318 and 26100.8328 files.
|
||||
in the sampled 22000.318 and 26100.9444 fixed-version files.
|
||||
- The Windows 10 ARM64 21H2 sample already exports the publisher-name API
|
||||
in CI 19041.1566. That does not establish x64 availability at that revision.
|
||||
- CI entry points currently use static imports from `ci.lib`. An unavailable
|
||||
import can prevent driver loading; this matrix does not add an automatic
|
||||
`STATUS_NOT_IMPLEMENTED` fallback. Supporting these older samples requires
|
||||
@@ -106,8 +161,8 @@ all per-API results and hashes of the retained source inventories.
|
||||
|
||||
## Coverage gaps and evidence
|
||||
|
||||
**Unknown / not sampled:** x86 export availability; Windows 10 ARM64;
|
||||
pre-Windows-10; Windows 10 1809/1903/1909; and other servicing revisions
|
||||
**Unknown / not sampled:** x86 export availability; pre-Windows-10;
|
||||
earlier Windows 10 ARM64 releases; and other servicing revisions
|
||||
or architecture/release combinations absent from these tables.
|
||||
These are gaps, not negative export results. No interval between
|
||||
two samples is certified. Runtime verification and cross-version ABI checks
|
||||
|
||||
Reference in new issue
Block a user