10.0.26100.3323 → 10.0.26100.3916
27
Structs added
1
Structs removed
3
Structs modified
22
Functions added
8
Functions removed
2
Functions changed
Structs Added
27IAttachmentExecute2
struct IAttachmentExecute2 { // size: 8 bytes, align: 8
struct IAttachmentExecute2Vtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (17)
HRESULT (*)(IAttachmentExecute2 *, const IID *const, void **) QueryInterface;
ULONG (*)(IAttachmentExecute2 *) AddRef;
ULONG (*)(IAttachmentExecute2 *) Release;
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetClientTitle;
HRESULT (*)(IAttachmentExecute2 *, const GUID *const) SetClientGuid;
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetLocalPath;
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetFileName;
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetSource;
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetReferrer;
HRESULT (*)(IAttachmentExecute2 *) CheckPolicy;
HRESULT (*)(IAttachmentExecute2 *, int, ATTACHMENT_PROMPT, ATTACHMENT_ACTION *) Prompt;
HRESULT (*)(IAttachmentExecute2 *) Save;
HRESULT (*)(IAttachmentExecute2 *, int, LPCWSTR, HANDLE *) Execute;
HRESULT (*)(IAttachmentExecute2 *, int) SaveWithUI;
HRESULT (*)(IAttachmentExecute2 *) ClearClientState;
HRESULT (*)(IAttachmentExecute2 *) SaveNoVirusCheck;
HRESULT (*)(IAttachmentExecute2 *, int) SaveWithUINoVirusCheck;
IAttachmentExecute2Vtbl
struct IAttachmentExecute2Vtbl { // size: 136 bytes, align: 8
HRESULT (*)(IAttachmentExecute2 *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IAttachmentExecute2 *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IAttachmentExecute2 *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetClientTitle; // offset: 192, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, const GUID *const) SetClientGuid; // offset: 256, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetLocalPath; // offset: 320, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetFileName; // offset: 384, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetSource; // offset: 448, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, LPCWSTR) SetReferrer; // offset: 512, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *) CheckPolicy; // offset: 576, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, int, ATTACHMENT_PROMPT, ATTACHMENT_ACTION *) Prompt; // offset: 640, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *) Save; // offset: 704, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, int, LPCWSTR, HANDLE *) Execute; // offset: 768, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, int) SaveWithUI; // offset: 832, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *) ClearClientState; // offset: 896, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *) SaveNoVirusCheck; // offset: 960, size: 64 bits
HRESULT (*)(IAttachmentExecute2 *, int) SaveWithUINoVirusCheck; // offset: 1024, size: 64 bits
};
IDCompositionDevice5
struct IDCompositionDevice5 { // size: 8 bytes, align: 8
struct IDCompositionDevice5Vtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (1)
HRESULT (*)(IDCompositionDevice5 *, IDCompositionDynamicTexture **) CreateDynamicTexture;
IDCompositionDevice5Vtbl
struct IDCompositionDevice5Vtbl { // size: 8 bytes, align: 8
HRESULT (*)(IDCompositionDevice5 *, IDCompositionDynamicTexture **) CreateDynamicTexture; // offset: 0, size: 64 bits
};
IDCompositionDynamicTexture
struct IDCompositionDynamicTexture { // size: 8 bytes, align: 8
struct IDCompositionDynamicTextureVtbl * lpVtbl; // offset: 0, size: 64 bits
};
ISearchCatalogManager3
struct ISearchCatalogManager3 { // size: 8 bytes, align: 8
struct ISearchCatalogManager3Vtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (31)
HRESULT (*)(ISearchCatalogManager3 *, const IID *const, void **) QueryInterface;
ULONG (*)(ISearchCatalogManager3 *) AddRef;
ULONG (*)(ISearchCatalogManager3 *) Release;
HRESULT (*)(ISearchCatalogManager3 *, LPWSTR *) get_Name;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, PROPVARIANT **) GetParameter;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, PROPVARIANT *) SetParameter;
HRESULT (*)(ISearchCatalogManager3 *, CatalogStatus *, CatalogPausedReason *) GetCatalogStatus;
HRESULT (*)(ISearchCatalogManager3 *) Reset;
HRESULT (*)(ISearchCatalogManager3 *) Reindex;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR) ReindexMatchingURLs;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR) ReindexSearchRoot;
HRESULT (*)(ISearchCatalogManager3 *, DWORD) put_ConnectTimeout;
HRESULT (*)(ISearchCatalogManager3 *, DWORD *) get_ConnectTimeout;
HRESULT (*)(ISearchCatalogManager3 *, DWORD) put_DataTimeout;
HRESULT (*)(ISearchCatalogManager3 *, DWORD *) get_DataTimeout;
HRESULT (*)(ISearchCatalogManager3 *, LONG *) NumberOfItems;
HRESULT (*)(ISearchCatalogManager3 *, LONG *, LONG *, LONG *) NumberOfItemsToIndex;
HRESULT (*)(ISearchCatalogManager3 *, LPWSTR *) URLBeingIndexed;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, DWORD *) GetURLIndexingState;
HRESULT (*)(ISearchCatalogManager3 *, ISearchPersistentItemsChangedSink **) GetPersistentItemsChangedSink;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, ISearchViewChangedSink *, DWORD *) RegisterViewForNotification;
HRESULT (*)(ISearchCatalogManager3 *, ISearchNotifyInlineSite *, const IID *const, void **, GUID *, GUID *, DWORD *) GetItemsChangedSink;
HRESULT (*)(ISearchCatalogManager3 *, DWORD) UnregisterViewForNotification;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, BOOL) SetExtensionClusion;
HRESULT (*)(ISearchCatalogManager3 *, IEnumString **) EnumerateExcludedExtensions;
HRESULT (*)(ISearchCatalogManager3 *, ISearchQueryHelper **) GetQueryHelper;
HRESULT (*)(ISearchCatalogManager3 *, BOOL) put_DiacriticSensitivity;
HRESULT (*)(ISearchCatalogManager3 *, BOOL *) get_DiacriticSensitivity;
HRESULT (*)(ISearchCatalogManager3 *, ISearchCrawlScopeManager **) GetCrawlScopeManager;
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, PRIORITIZE_FLAGS) PrioritizeMatchingURLs;
HRESULT (*)(ISearchCatalogManager3 *, BOOL *) IsContainsSemanticSupported;
ISearchCatalogManager3Vtbl
struct ISearchCatalogManager3Vtbl { // size: 248 bytes, align: 8
HRESULT (*)(ISearchCatalogManager3 *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ISearchCatalogManager3 *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ISearchCatalogManager3 *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPWSTR *) get_Name; // offset: 192, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, PROPVARIANT **) GetParameter; // offset: 256, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, PROPVARIANT *) SetParameter; // offset: 320, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, CatalogStatus *, CatalogPausedReason *) GetCatalogStatus; // offset: 384, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *) Reset; // offset: 448, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *) Reindex; // offset: 512, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR) ReindexMatchingURLs; // offset: 576, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR) ReindexSearchRoot; // offset: 640, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, DWORD) put_ConnectTimeout; // offset: 704, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, DWORD *) get_ConnectTimeout; // offset: 768, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, DWORD) put_DataTimeout; // offset: 832, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, DWORD *) get_DataTimeout; // offset: 896, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LONG *) NumberOfItems; // offset: 960, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LONG *, LONG *, LONG *) NumberOfItemsToIndex; // offset: 1024, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPWSTR *) URLBeingIndexed; // offset: 1088, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, DWORD *) GetURLIndexingState; // offset: 1152, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, ISearchPersistentItemsChangedSink **) GetPersistentItemsChangedSink; // offset: 1216, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, ISearchViewChangedSink *, DWORD *) RegisterViewForNotification; // offset: 1280, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, ISearchNotifyInlineSite *, const IID *const, void **, GUID *, GUID *, DWORD *) GetItemsChangedSink; // offset: 1344, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, DWORD) UnregisterViewForNotification; // offset: 1408, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, BOOL) SetExtensionClusion; // offset: 1472, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, IEnumString **) EnumerateExcludedExtensions; // offset: 1536, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, ISearchQueryHelper **) GetQueryHelper; // offset: 1600, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, BOOL) put_DiacriticSensitivity; // offset: 1664, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, BOOL *) get_DiacriticSensitivity; // offset: 1728, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, ISearchCrawlScopeManager **) GetCrawlScopeManager; // offset: 1792, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, LPCWSTR, PRIORITIZE_FLAGS) PrioritizeMatchingURLs; // offset: 1856, size: 64 bits
HRESULT (*)(ISearchCatalogManager3 *, BOOL *) IsContainsSemanticSupported; // offset: 1920, size: 64 bits
};
_ADAPTER_NOTIFY
struct _ADAPTER_NOTIFY { // size: 8 bytes, align: 4
UCHAR Version; // offset: 0, size: 8 bits
UCHAR[3] Reserved; // offset: 8, size: 24 bits
ULONG PeakPowerThreshold; // offset: 32, size: 32 bits
};
_BATTERY_CLASS_DRIVER_CAPABILITIES
union _BATTERY_CLASS_DRIVER_CAPABILITIES { // size: 4 bytes, align: 4
struct (unnamed struct at shared/batclass.h) Bits; // offset: 0, size: 32 bits
ULONG AsUlong; // offset: 0, size: 32 bits
};
_BATTERY_NOTIFY_V2
struct _BATTERY_NOTIFY_V2 { // size: 20 bytes, align: 4
ULONG PowerState; // offset: 0, size: 32 bits
ULONG LowCapacity; // offset: 32, size: 32 bits
ULONG HighCapacity; // offset: 64, size: 32 bits
UCHAR Version; // offset: 96, size: 8 bits
UCHAR[3] Reserved; // offset: 104, size: 24 bits
ULONG BatteryPresentRateThreshold; // offset: 128, size: 32 bits
};
_BATTERY_PEAK_POWER
struct _BATTERY_PEAK_POWER { // size: 20 bytes, align: 4
UCHAR Version; // offset: 0, size: 8 bits
UCHAR[3] Reserved; // offset: 8, size: 24 bits
ULONG InstantaneousPeakPower; // offset: 32, size: 32 bits
ULONG InstantaneousPeakPeriod; // offset: 64, size: 32 bits
ULONG SustainablePeakPower; // offset: 96, size: 32 bits
ULONG SustainablePeakPeriod; // offset: 128, size: 32 bits
};
_BATTERY_PEAK_POWER_THRESHOLDS
struct _BATTERY_PEAK_POWER_THRESHOLDS { // size: 12 bytes, align: 4
UCHAR Version; // offset: 0, size: 8 bits
UCHAR[3] Reserved; // offset: 8, size: 24 bits
ULONG InstantaneousPeakPowerThreshold; // offset: 32, size: 32 bits
ULONG SustainablePeakPowerThreshold; // offset: 64, size: 32 bits
};
_CREATEFILE3_EXTENDED_PARAMETERS
struct _CREATEFILE3_EXTENDED_PARAMETERS { // size: 32 bytes, align: 8
DWORD dwSize; // offset: 0, size: 32 bits
DWORD dwFileAttributes; // offset: 32, size: 32 bits
DWORD dwFileFlags; // offset: 64, size: 32 bits
DWORD dwSecurityQosFlags; // offset: 96, size: 32 bits
LPSECURITY_ATTRIBUTES lpSecurityAttributes; // offset: 128, size: 64 bits
HANDLE hTemplateFile; // offset: 192, size: 64 bits
};
_CUSTOMIZED_IO_CAPABILITIES
struct _CUSTOMIZED_IO_CAPABILITIES { // size: 8 bytes, align: 4
ULONG SupportedInputs; // offset: 0, size: 32 bits
ULONG SupportedOutputs; // offset: 32, size: 32 bits
};
_CUSTOMIZED_IO_QUERY_INPUT_RETURN
struct _CUSTOMIZED_IO_QUERY_INPUT_RETURN { // size: 12 bytes, align: 4
ULONG ChannelId; // offset: 0, size: 32 bits
ULONG ErrorCode; // offset: 32, size: 32 bits
ULONG Value; // offset: 64, size: 32 bits
};
_CUSTOMIZED_IO_SEND_OUTPUT_BUFFER
struct _CUSTOMIZED_IO_SEND_OUTPUT_BUFFER { // size: 8 bytes, align: 4
ULONG ChannelId; // offset: 0, size: 32 bits
ULONG Value; // offset: 32, size: 32 bits
};
_EUSB2_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR
struct _EUSB2_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR { // size: 8 bytes, align: 4
UCHAR bLength; // offset: 0, size: 8 bits
UCHAR bDescriptorType; // offset: 8, size: 8 bits
USHORT wMaxPacketSize; // offset: 16, size: 16 bits
ULONG dwBytesPerInterval; // offset: 32, size: 32 bits
};
_HTTP_REQUEST_DSCP_INFO
struct _HTTP_REQUEST_DSCP_INFO { // size: 1 bytes, align: 1
BYTE DscpTag; // offset: 0, size: 8 bits
};
_POWER_ADAPTER_CHARGE_REQUIREMENT
struct _POWER_ADAPTER_CHARGE_REQUIREMENT { // size: 16 bytes, align: 4
ULONG AcAdapterType; // offset: 0, size: 32 bits
ULONG MinimumPower; // offset: 32, size: 32 bits
ULONG NominalPower; // offset: 64, size: 32 bits
ULONG MaximumPower; // offset: 96, size: 32 bits
};
_POWER_ADAPTER_POWER_STATES
union _POWER_ADAPTER_POWER_STATES { // size: 4 bytes, align: 4
struct (unnamed struct at shared/poclass.h) States; // offset: 0, size: 32 bits
ULONG AsUlong; // offset: 0, size: 32 bits
};
_POWER_ADAPTER_STATUS
struct _POWER_ADAPTER_STATUS { // size: 40 bytes, align: 8
UCHAR Version; // offset: 0, size: 8 bits
UCHAR[3] Reserved; // offset: 8, size: 24 bits
POWER_ADAPTER_POWER_STATES PowerState; // offset: 32, size: 32 bits
ULONG PeakPower; // offset: 64, size: 32 bits
ULONG MaxOutputPower; // offset: 96, size: 32 bits
ULONG MaxInputPower; // offset: 128, size: 32 bits
ULONG64 RecStartTime; // offset: 192, size: 64 bits
ULONG64 RecEndTime; // offset: 256, size: 64 bits
};
_SECPKG_FAILURE_REASON
struct _SECPKG_FAILURE_REASON { // size: 8 bytes, align: 4
NTSTATUS Status; // offset: 0, size: 32 bits
SECPKG_FAILURE_SPECIAL_REASON Reason; // offset: 32, size: 32 bits
};
_STORAGE_CRYPTO_KEY_TYPE
union _STORAGE_CRYPTO_KEY_TYPE { // size: 1 bytes, align: 1
BYTE DirectKey; // offset: 0, size: 1 bits
BYTE PlatformWrappedKey; // offset: 1, size: 1 bits
BYTE PlutonWrappedKey; // offset: 2, size: 1 bits
BYTE Reserved; // offset: 3, size: 5 bits
BYTE AsUchar; // offset: 0, size: 8 bits
};
_STORAGE_HW_CRYPTO_CAPABILITY
struct _STORAGE_HW_CRYPTO_CAPABILITY { // size: 32 bytes, align: 4
DWORD Version; // offset: 0, size: 32 bits
DWORD Size; // offset: 32, size: 32 bits
DWORD CryptoCapabilityIndex; // offset: 64, size: 32 bits
STORAGE_CRYPTO_ALGORITHM_ID AlgorithmId; // offset: 96, size: 32 bits
STORAGE_CRYPTO_KEY_SIZE KeySize; // offset: 128, size: 32 bits
DWORD DataUnitSizeBitmask; // offset: 160, size: 32 bits
WORD MaxIVBitSize; // offset: 192, size: 16 bits
WORD Reserved; // offset: 208, size: 16 bits
STORAGE_SECURITY_COMPLIANCE_BITMASK SecurityComplianceBitmask; // offset: 224, size: 8 bits
};
_STORAGE_HW_CRYPTO_DESCRIPTOR
struct _STORAGE_HW_CRYPTO_DESCRIPTOR { // size: 32 bytes, align: 4
STORAGE_DESCRIPTOR_HEADER Header; // offset: 0, size: 64 bits
DWORD NumKeysSupported; // offset: 64, size: 32 bits
DWORD NumCryptoCapabilities; // offset: 96, size: 32 bits
DWORD OffsetToCryptoCapabilities; // offset: 128, size: 32 bits
DWORD SizeOfCryptoCapability; // offset: 160, size: 32 bits
STORAGE_ICE_TYPE IceType; // offset: 192, size: 32 bits
STORAGE_SECURITY_COMPLIANCE_BITMASK SecurityComplianceBitmask; // offset: 224, size: 8 bits
STORAGE_CRYPTO_KEY_TYPE KeyTypeBitmask; // offset: 232, size: 8 bits
};
_STORAGE_SECURITY_COMPLIANCE_BITMASK
union _STORAGE_SECURITY_COMPLIANCE_BITMASK { // size: 1 bytes, align: 1
BYTE FIPS; // offset: 0, size: 1 bits
BYTE Reserved; // offset: 1, size: 7 bits
BYTE AsUchar; // offset: 0, size: 8 bits
};
_SYSTEM_POWER_SOURCE_STATE
struct _SYSTEM_POWER_SOURCE_STATE { // size: 68 bytes, align: 4
SYSTEM_BATTERY_STATE BatteryState; // offset: 0, size: 256 bits
DWORD InstantaneousPeakPower; // offset: 256, size: 32 bits
DWORD InstantaneousPeakPeriod; // offset: 288, size: 32 bits
DWORD SustainablePeakPower; // offset: 320, size: 32 bits
DWORD SustainablePeakPeriod; // offset: 352, size: 32 bits
DWORD PeakPower; // offset: 384, size: 32 bits
DWORD MaxOutputPower; // offset: 416, size: 32 bits
DWORD MaxInputPower; // offset: 448, size: 32 bits
LONG BatteryRateInCurrent; // offset: 480, size: 32 bits
DWORD BatteryVoltage; // offset: 512, size: 32 bits
};
Structs Removed
1_BATTERY_MINIPORT_UPDATE_DATA
struct _BATTERY_MINIPORT_UPDATE_DATA { // size: 8 bytes, align: 4
ULONG Version; // offset: 0, size: 32 bits
BATTERY_NON_CATASTROPHIC_EVENT NotifyEvent; // offset: 32, size: 32 bits
};
Structs Modified
3WHV_CAPABILITY_FEATURES
Before
union WHV_CAPABILITY_FEATURES { // size: 8 bytes, align: 8
UINT64 PartialUnmap; // offset: 0, size: 1 bits
UINT64 LocalApicEmulation; // offset: 1, size: 1 bits
UINT64 Xsave; // offset: 2, size: 1 bits
UINT64 DirtyPageTracking; // offset: 3, size: 1 bits
UINT64 SpeculationControl; // offset: 4, size: 1 bits
UINT64 ApicRemoteRead; // offset: 5, size: 1 bits
UINT64 IdleSuspend; // offset: 6, size: 1 bits
UINT64 VirtualPciDeviceSupport; // offset: 7, size: 1 bits
UINT64 IommuSupport; // offset: 8, size: 1 bits
UINT64 VpHotAddRemove; // offset: 9, size: 1 bits
UINT64 Reserved; // offset: 10, size: 54 bits
UINT64 AsUINT64; // offset: 0, size: 64 bits
};
After
union WHV_CAPABILITY_FEATURES { // size: 8 bytes, align: 8
UINT64 PartialUnmap; // offset: 0, size: 1 bits
UINT64 LocalApicEmulation; // offset: 1, size: 1 bits
UINT64 Xsave; // offset: 2, size: 1 bits
UINT64 DirtyPageTracking; // offset: 3, size: 1 bits
UINT64 SpeculationControl; // offset: 4, size: 1 bits
UINT64 ApicRemoteRead; // offset: 5, size: 1 bits
UINT64 IdleSuspend; // offset: 6, size: 1 bits
UINT64 VirtualPciDeviceSupport; // offset: 7, size: 1 bits
UINT64 IommuSupport; // offset: 8, size: 1 bits
UINT64 VpHotAddRemove; // offset: 9, size: 1 bits
UINT64 DeviceAccessTracking; // offset: 10, size: 1 bits
UINT64 ReservedX640; // offset: 11, size: 1 bits
UINT64 Reserved; // offset: 12, size: 52 bits
UINT64 AsUINT64; // offset: 0, size: 64 bits
};
Changes
-
Added field
UINT64 DeviceAccessTrackingat offset 10 bits (1 bits). -
Moved
Reservedfrom offset 10 to 12 bits. -
Changed
Reservedsize from 54 to 52 bits. -
Added field
UINT64 ReservedX640at offset 11 bits (1 bits).
_LSA_SECPKG_FUNCTION_TABLE
Before
struct _LSA_SECPKG_FUNCTION_TABLE { // size: 512 bytes, align: 8
PLSA_CREATE_LOGON_SESSION CreateLogonSession; // offset: 0, size: 64 bits
PLSA_DELETE_LOGON_SESSION DeleteLogonSession; // offset: 64, size: 64 bits
PLSA_ADD_CREDENTIAL AddCredential; // offset: 128, size: 64 bits
PLSA_GET_CREDENTIALS GetCredentials; // offset: 192, size: 64 bits
PLSA_DELETE_CREDENTIAL DeleteCredential; // offset: 256, size: 64 bits
PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap; // offset: 320, size: 64 bits
PLSA_FREE_LSA_HEAP FreeLsaHeap; // offset: 384, size: 64 bits
PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer; // offset: 448, size: 64 bits
PLSA_FREE_CLIENT_BUFFER FreeClientBuffer; // offset: 512, size: 64 bits
PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer; // offset: 576, size: 64 bits
PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer; // offset: 640, size: 64 bits
PLSA_IMPERSONATE_CLIENT ImpersonateClient; // offset: 704, size: 64 bits
PLSA_UNLOAD_PACKAGE UnloadPackage; // offset: 768, size: 64 bits
PLSA_DUPLICATE_HANDLE DuplicateHandle; // offset: 832, size: 64 bits
PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS SaveSupplementalCredentials; // offset: 896, size: 64 bits
PLSA_CREATE_THREAD CreateThread; // offset: 960, size: 64 bits
PLSA_GET_CLIENT_INFO GetClientInfo; // offset: 1024, size: 64 bits
PLSA_REGISTER_NOTIFICATION RegisterNotification; // offset: 1088, size: 64 bits
PLSA_CANCEL_NOTIFICATION CancelNotification; // offset: 1152, size: 64 bits
PLSA_MAP_BUFFER MapBuffer; // offset: 1216, size: 64 bits
PLSA_CREATE_TOKEN CreateToken; // offset: 1280, size: 64 bits
PLSA_AUDIT_LOGON AuditLogon; // offset: 1344, size: 64 bits
PLSA_CALL_PACKAGE CallPackage; // offset: 1408, size: 64 bits
PLSA_FREE_LSA_HEAP FreeReturnBuffer; // offset: 1472, size: 64 bits
PLSA_GET_CALL_INFO GetCallInfo; // offset: 1536, size: 64 bits
PLSA_CALL_PACKAGEEX CallPackageEx; // offset: 1600, size: 64 bits
PLSA_CREATE_SHARED_MEMORY CreateSharedMemory; // offset: 1664, size: 64 bits
PLSA_ALLOCATE_SHARED_MEMORY AllocateSharedMemory; // offset: 1728, size: 64 bits
PLSA_FREE_SHARED_MEMORY FreeSharedMemory; // offset: 1792, size: 64 bits
PLSA_DELETE_SHARED_MEMORY DeleteSharedMemory; // offset: 1856, size: 64 bits
PLSA_OPEN_SAM_USER OpenSamUser; // offset: 1920, size: 64 bits
PLSA_GET_USER_CREDENTIALS GetUserCredentials; // offset: 1984, size: 64 bits
PLSA_GET_USER_AUTH_DATA GetUserAuthData; // offset: 2048, size: 64 bits
PLSA_CLOSE_SAM_USER CloseSamUser; // offset: 2112, size: 64 bits
PLSA_CONVERT_AUTH_DATA_TO_TOKEN ConvertAuthDataToToken; // offset: 2176, size: 64 bits
PLSA_CLIENT_CALLBACK ClientCallback; // offset: 2240, size: 64 bits
PLSA_UPDATE_PRIMARY_CREDENTIALS UpdateCredentials; // offset: 2304, size: 64 bits
PLSA_GET_AUTH_DATA_FOR_USER GetAuthDataForUser; // offset: 2368, size: 64 bits
PLSA_CRACK_SINGLE_NAME CrackSingleName; // offset: 2432, size: 64 bits
PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon; // offset: 2496, size: 64 bits
PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough; // offset: 2560, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction1; // offset: 2624, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction2; // offset: 2688, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction3; // offset: 2752, size: 64 bits
PLSA_PROTECT_MEMORY LsaProtectMemory; // offset: 2816, size: 64 bits
PLSA_PROTECT_MEMORY LsaUnprotectMemory; // offset: 2880, size: 64 bits
PLSA_OPEN_TOKEN_BY_LOGON_ID OpenTokenByLogonId; // offset: 2944, size: 64 bits
PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN ExpandAuthDataForDomain; // offset: 3008, size: 64 bits
PLSA_ALLOCATE_PRIVATE_HEAP AllocatePrivateHeap; // offset: 3072, size: 64 bits
PLSA_FREE_PRIVATE_HEAP FreePrivateHeap; // offset: 3136, size: 64 bits
PLSA_CREATE_TOKEN_EX CreateTokenEx; // offset: 3200, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction4; // offset: 3264, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction5; // offset: 3328, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction6; // offset: 3392, size: 64 bits
PLSA_GET_EXTENDED_CALL_FLAGS GetExtendedCallFlags; // offset: 3456, size: 64 bits
PLSA_DUPLICATE_HANDLE DuplicateTokenHandle; // offset: 3520, size: 64 bits
PLSA_GET_SERVICE_ACCOUNT_PASSWORD GetServiceAccountPassword; // offset: 3584, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction7; // offset: 3648, size: 64 bits
PLSA_AUDIT_LOGON_EX AuditLogonEx; // offset: 3712, size: 64 bits
PLSA_CHECK_PROTECTED_USER_BY_TOKEN CheckProtectedUserByToken; // offset: 3776, size: 64 bits
PLSA_QUERY_CLIENT_REQUEST QueryClientRequest; // offset: 3840, size: 64 bits
PLSA_GET_APP_MODE_INFO GetAppModeInfo; // offset: 3904, size: 64 bits
PLSA_SET_APP_MODE_INFO SetAppModeInfo; // offset: 3968, size: 64 bits
PLSA_GET_CLIENT_INFO_EX GetClientInfoEx; // offset: 4032, size: 64 bits
};
After
struct _LSA_SECPKG_FUNCTION_TABLE { // size: 528 bytes, align: 8
PLSA_CREATE_LOGON_SESSION CreateLogonSession; // offset: 0, size: 64 bits
PLSA_DELETE_LOGON_SESSION DeleteLogonSession; // offset: 64, size: 64 bits
PLSA_ADD_CREDENTIAL AddCredential; // offset: 128, size: 64 bits
PLSA_GET_CREDENTIALS GetCredentials; // offset: 192, size: 64 bits
PLSA_DELETE_CREDENTIAL DeleteCredential; // offset: 256, size: 64 bits
PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap; // offset: 320, size: 64 bits
PLSA_FREE_LSA_HEAP FreeLsaHeap; // offset: 384, size: 64 bits
PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer; // offset: 448, size: 64 bits
PLSA_FREE_CLIENT_BUFFER FreeClientBuffer; // offset: 512, size: 64 bits
PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer; // offset: 576, size: 64 bits
PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer; // offset: 640, size: 64 bits
PLSA_IMPERSONATE_CLIENT ImpersonateClient; // offset: 704, size: 64 bits
PLSA_UNLOAD_PACKAGE UnloadPackage; // offset: 768, size: 64 bits
PLSA_DUPLICATE_HANDLE DuplicateHandle; // offset: 832, size: 64 bits
PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS SaveSupplementalCredentials; // offset: 896, size: 64 bits
PLSA_CREATE_THREAD CreateThread; // offset: 960, size: 64 bits
PLSA_GET_CLIENT_INFO GetClientInfo; // offset: 1024, size: 64 bits
PLSA_REGISTER_NOTIFICATION RegisterNotification; // offset: 1088, size: 64 bits
PLSA_CANCEL_NOTIFICATION CancelNotification; // offset: 1152, size: 64 bits
PLSA_MAP_BUFFER MapBuffer; // offset: 1216, size: 64 bits
PLSA_CREATE_TOKEN CreateToken; // offset: 1280, size: 64 bits
PLSA_AUDIT_LOGON AuditLogon; // offset: 1344, size: 64 bits
PLSA_CALL_PACKAGE CallPackage; // offset: 1408, size: 64 bits
PLSA_FREE_LSA_HEAP FreeReturnBuffer; // offset: 1472, size: 64 bits
PLSA_GET_CALL_INFO GetCallInfo; // offset: 1536, size: 64 bits
PLSA_CALL_PACKAGEEX CallPackageEx; // offset: 1600, size: 64 bits
PLSA_CREATE_SHARED_MEMORY CreateSharedMemory; // offset: 1664, size: 64 bits
PLSA_ALLOCATE_SHARED_MEMORY AllocateSharedMemory; // offset: 1728, size: 64 bits
PLSA_FREE_SHARED_MEMORY FreeSharedMemory; // offset: 1792, size: 64 bits
PLSA_DELETE_SHARED_MEMORY DeleteSharedMemory; // offset: 1856, size: 64 bits
PLSA_OPEN_SAM_USER OpenSamUser; // offset: 1920, size: 64 bits
PLSA_GET_USER_CREDENTIALS GetUserCredentials; // offset: 1984, size: 64 bits
PLSA_GET_USER_AUTH_DATA GetUserAuthData; // offset: 2048, size: 64 bits
PLSA_CLOSE_SAM_USER CloseSamUser; // offset: 2112, size: 64 bits
PLSA_CONVERT_AUTH_DATA_TO_TOKEN ConvertAuthDataToToken; // offset: 2176, size: 64 bits
PLSA_CLIENT_CALLBACK ClientCallback; // offset: 2240, size: 64 bits
PLSA_UPDATE_PRIMARY_CREDENTIALS UpdateCredentials; // offset: 2304, size: 64 bits
PLSA_GET_AUTH_DATA_FOR_USER GetAuthDataForUser; // offset: 2368, size: 64 bits
PLSA_CRACK_SINGLE_NAME CrackSingleName; // offset: 2432, size: 64 bits
PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon; // offset: 2496, size: 64 bits
PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough; // offset: 2560, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction1; // offset: 2624, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction2; // offset: 2688, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction3; // offset: 2752, size: 64 bits
PLSA_PROTECT_MEMORY LsaProtectMemory; // offset: 2816, size: 64 bits
PLSA_PROTECT_MEMORY LsaUnprotectMemory; // offset: 2880, size: 64 bits
PLSA_OPEN_TOKEN_BY_LOGON_ID OpenTokenByLogonId; // offset: 2944, size: 64 bits
PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN ExpandAuthDataForDomain; // offset: 3008, size: 64 bits
PLSA_ALLOCATE_PRIVATE_HEAP AllocatePrivateHeap; // offset: 3072, size: 64 bits
PLSA_FREE_PRIVATE_HEAP FreePrivateHeap; // offset: 3136, size: 64 bits
PLSA_CREATE_TOKEN_EX CreateTokenEx; // offset: 3200, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction4; // offset: 3264, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction5; // offset: 3328, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction6; // offset: 3392, size: 64 bits
PLSA_GET_EXTENDED_CALL_FLAGS GetExtendedCallFlags; // offset: 3456, size: 64 bits
PLSA_DUPLICATE_HANDLE DuplicateTokenHandle; // offset: 3520, size: 64 bits
PLSA_GET_SERVICE_ACCOUNT_PASSWORD GetServiceAccountPassword; // offset: 3584, size: 64 bits
PLSA_PROTECT_MEMORY DummyFunction7; // offset: 3648, size: 64 bits
PLSA_AUDIT_LOGON_EX AuditLogonEx; // offset: 3712, size: 64 bits
PLSA_CHECK_PROTECTED_USER_BY_TOKEN CheckProtectedUserByToken; // offset: 3776, size: 64 bits
PLSA_QUERY_CLIENT_REQUEST QueryClientRequest; // offset: 3840, size: 64 bits
PLSA_GET_APP_MODE_INFO GetAppModeInfo; // offset: 3904, size: 64 bits
PLSA_SET_APP_MODE_INFO SetAppModeInfo; // offset: 3968, size: 64 bits
PLSA_GET_CLIENT_INFO_EX GetClientInfoEx; // offset: 4032, size: 64 bits
PLSA_GET_SECPKG_FAILURE_REASON GetSecpkgFailureReason; // offset: 4096, size: 64 bits
PLSA_SET_SECPKG_FAILURE_REASON SetSecpkgFailureReason; // offset: 4160, size: 64 bits
};
Changes
- Size changed from 512 to 528 bytes.
-
Added field
PLSA_GET_SECPKG_FAILURE_REASON GetSecpkgFailureReasonat offset 4096 bits (64 bits). -
Added field
PLSA_SET_SECPKG_FAILURE_REASON SetSecpkgFailureReasonat offset 4160 bits (64 bits).
_STORAGE_CRYPTO_CAPABILITY_V2
Before
struct _STORAGE_CRYPTO_CAPABILITY_V2 { // size: 32 bytes, align: 4
DWORD Version; // offset: 0, size: 32 bits
DWORD Size; // offset: 32, size: 32 bits
DWORD CryptoCapabilityIndex; // offset: 64, size: 32 bits
STORAGE_CRYPTO_ALGORITHM_ID AlgorithmId; // offset: 96, size: 32 bits
STORAGE_CRYPTO_KEY_SIZE KeySize; // offset: 128, size: 32 bits
DWORD DataUnitSizeBitmask; // offset: 160, size: 32 bits
WORD MaxIVBitSize; // offset: 192, size: 16 bits
WORD Reserved; // offset: 208, size: 16 bits
BYTE Reserved; // offset: 208, size: 7 bits
union (unnamed union at um/winioctl.h) SecurityComplianceBitmask; // offset: 224, size: 8 bits
};
After
struct _STORAGE_CRYPTO_CAPABILITY_V2 { // size: 32 bytes, align: 4
DWORD Version; // offset: 0, size: 32 bits
DWORD Size; // offset: 32, size: 32 bits
DWORD CryptoCapabilityIndex; // offset: 64, size: 32 bits
STORAGE_CRYPTO_ALGORITHM_ID AlgorithmId; // offset: 96, size: 32 bits
STORAGE_CRYPTO_KEY_SIZE KeySize; // offset: 128, size: 32 bits
DWORD DataUnitSizeBitmask; // offset: 160, size: 32 bits
WORD MaxIVBitSize; // offset: 192, size: 16 bits
WORD Reserved; // offset: 208, size: 16 bits
STORAGE_SECURITY_COMPLIANCE_BITMASK SecurityComplianceBitmask; // offset: 224, size: 8 bits
};
Changes
-
Changed
Reservedtype fromBYTEtoWORD. -
Changed
Reservedsize from 7 to 16 bits. -
Changed
SecurityComplianceBitmasktype fromunion (unnamed union at um/winioctl.h)toSTORAGE_SECURITY_COMPLIANCE_BITMASK.
Functions Added
22BOOL CanSetGamingFullScreenExperience(void);
HANDLE CreateDirectory2A(LPCSTR lpPathName, DWORD dwDesiredAccess, DWORD dwShareMode, DIRECTORY_FLAGS DirectoryFlags, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
HANDLE CreateDirectory2W(LPCWSTR lpPathName, DWORD dwDesiredAccess, DWORD dwShareMode, DIRECTORY_FLAGS DirectoryFlags, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
HANDLE CreateFile3(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, LPCREATEFILE3_EXTENDED_PARAMETERS pCreateExParams);
BOOL DeleteFile2A(LPCSTR lpFileName, DWORD Flags);
BOOL DeleteFile2W(LPCWSTR lpFileName, DWORD Flags);
HRESULT EXPERIMENTAL2_WebAuthNPluginAddAuthenticator(EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS pPluginAddAuthenticatorOptions, EXPERIMENTAL_PWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_RESPONSE * ppPluginAddAuthenticatorResponse);
HRESULT EXPERIMENTAL2_WebAuthNPluginUpdateAuthenticatorDetails(EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS pPluginUpdateAuthenticatorDetails);
HRESULT EnclaveCopyIntoEnclave(void * EnclaveAddress, const void * UnsecureAddress, SIZE_T NumberOfBytes);
HRESULT EnclaveCopyOutOfEnclave(void * UnsecureAddress, const void * EnclaveAddress, SIZE_T NumberOfBytes);
HRESULT EnclaveRestrictContainingProcessAccess(BOOL RestrictAccess, int PreviouslyRestricted);
const STORAGE_HW_CRYPTO_CAPABILITY * GetStorageHwCryptoCapability(const STORAGE_HW_CRYPTO_DESCRIPTOR * CryptoDescriptor, DWORD Index);
STORAGE_HW_CRYPTO_CAPABILITY * GetStorageHwCryptoCapabilityMut(STORAGE_HW_CRYPTO_DESCRIPTOR * CryptoDescriptor, DWORD Index);
BOOL IsGamingFullScreenExperienceActive(void);
BOOL IsGamingFullScreenExperienceSupported(void);
HRESULT RegisterGamingFullScreenExperienceChangeNotification(PGAMING_FULL_SCREEN_EXPERIENCE_CHANGE_ROUTINE routine, PVOID context, int * registration);
BOOL RemoveDirectory2A(LPCSTR lpPathName, DIRECTORY_FLAGS DirectoryFlags);
BOOL RemoveDirectory2W(LPCWSTR lpPathName, DIRECTORY_FLAGS DirectoryFlags);
HRESULT SetGamingFullScreenExperience(BOOL active);
void UnregisterGamingFullScreenExperienceChangeNotification(int registration);
int WSAGetReceivedProcessorOption(int Socket, int * Enabled);
int WSASetReceivedProcessorOption(int Socket, int Enabled);
Functions Removed
8NTSTATUS BatteryClassInitializeDevice(PBATTERY_MINIPORT_INFO MiniportInfo, PVOID * ClassData);
NTSTATUS BatteryClassIoctl(PVOID ClassData, int Irp);
NTSTATUS BatteryClassQueryWmiDataBlock(PVOID ClassData, int DeviceObject, int Irp, ULONG GuidIndex, PULONG InstanceLengthArray, ULONG OutBufferSize, PUCHAR Buffer);
NTSTATUS BatteryClassStatusNotify(PVOID ClassData);
NTSTATUS BatteryClassSystemControl(PVOID ClassData, PVOID WmiLibContext, int DeviceObject, int Irp, PVOID Disposition);
NTSTATUS BatteryClassUnload(PVOID ClassData);
NTSTATUS BatteryClassUpdateData(PVOID ClassData, PBATTERY_MINIPORT_UPDATE_DATA UpdateData);
float __ucrt_int_to_float(int i);
Functions Changed
2EapMethodAuthenticatorSendPacket
Before
DWORD EapMethodAuthenticatorSendPacket(int sessionHandle, BYTE bPacketId, DWORD * pcbSendPacket, int * pSendPacket, int * pTimeout, int ** ppEapError);
After
DWORD EapMethodAuthenticatorSendPacket(int sessionHandle, BYTE bPacketId, DWORD * pcbSendPacket, int (int *) _Pre_writable_byte_size_);
EapPeerGetMethodProperties
Before
DWORD EapPeerGetMethodProperties(DWORD dwVersion, DWORD dwFlags, int eapMethodType, HANDLE hUserImpersonationToken, DWORD dwSizeOfConnectionDataIn, BYTE * pConnectionDataIn, DWORD dwSizeOfUserDataIn, BYTE * pUserDataIn, int * pMethodPropertyArray, int ** ppEapError);
After
DWORD EapPeerGetMethodProperties(DWORD dwVersion, DWORD dwFlags, int eapMethodType, HANDLE hUserImpersonationToken, DWORD dwSizeOfConnectionDataIn, const BYTE * pConnectionDataIn, DWORD dwSizeOfUserDataIn, const BYTE * pUserDataIn, int * pMethodPropertyArray, int ** ppEapError);