10.0.20348.19 → 10.0.22000.194
248
Structs added
72
Structs removed
18
Structs modified
346
Functions added
23
Functions removed
23
Functions changed
Structs Added
248Structs Removed
72D3D12_FEATURE_DATA_WAVE_MMA
struct D3D12_FEATURE_DATA_WAVE_MMA { // size: 32 bytes, align: 4
D3D12_WAVE_MMA_INPUT_DATATYPE InputDataType; // offset: 0, size: 32 bits
D3D12_WAVE_MMA_DIMENSION M; // offset: 32, size: 32 bits
D3D12_WAVE_MMA_DIMENSION N; // offset: 64, size: 32 bits
BOOL Supported; // offset: 96, size: 32 bits
UINT K; // offset: 128, size: 32 bits
D3D12_WAVE_MMA_ACCUM_DATATYPE AccumDataTypes; // offset: 160, size: 32 bits
UINT RequiredWaveLaneCountMin; // offset: 192, size: 32 bits
UINT RequiredWaveLaneCountMax; // offset: 224, size: 32 bits
};
DML_ACTIVATION_RELU_GRAD_OPERATOR_DESC
struct DML_ACTIVATION_RELU_GRAD_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * InputGradientTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputGradientTensor; // offset: 128, size: 64 bits
};
DML_ARGMAX_OPERATOR_DESC
struct DML_ARGMAX_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
UINT AxisCount; // offset: 128, size: 32 bits
const UINT * Axes; // offset: 192, size: 64 bits
enum DML_AXIS_DIRECTION AxisDirection; // offset: 256, size: 32 bits
};
DML_ARGMIN_OPERATOR_DESC
struct DML_ARGMIN_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
UINT AxisCount; // offset: 128, size: 32 bits
const UINT * Axes; // offset: 192, size: 64 bits
enum DML_AXIS_DIRECTION AxisDirection; // offset: 256, size: 32 bits
};
DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC
struct DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC { // size: 64 bytes, align: 8
const struct DML_TENSOR_DESC * InputGradientTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputGradientTensor; // offset: 64, size: 64 bits
UINT DimensionCount; // offset: 128, size: 32 bits
const UINT * Strides; // offset: 192, size: 64 bits
const UINT * WindowSize; // offset: 256, size: 64 bits
const UINT * StartPadding; // offset: 320, size: 64 bits
const UINT * EndPadding; // offset: 384, size: 64 bits
BOOL IncludePadding; // offset: 448, size: 32 bits
};
DML_CONVOLUTION_INTEGER_OPERATOR_DESC
struct DML_CONVOLUTION_INTEGER_OPERATOR_DESC { // size: 88 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * InputZeroPointTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * FilterTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * FilterZeroPointTensor; // offset: 192, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 256, size: 64 bits
UINT DimensionCount; // offset: 320, size: 32 bits
const UINT * Strides; // offset: 384, size: 64 bits
const UINT * Dilations; // offset: 448, size: 64 bits
const UINT * StartPadding; // offset: 512, size: 64 bits
const UINT * EndPadding; // offset: 576, size: 64 bits
UINT GroupCount; // offset: 640, size: 32 bits
};
DML_CUMULATIVE_SUMMATION_OPERATOR_DESC
struct DML_CUMULATIVE_SUMMATION_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
UINT Axis; // offset: 128, size: 32 bits
enum DML_AXIS_DIRECTION AxisDirection; // offset: 160, size: 32 bits
BOOL HasExclusiveSum; // offset: 192, size: 32 bits
};
DML_DEPTH_TO_SPACE1_OPERATOR_DESC
struct DML_DEPTH_TO_SPACE1_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
UINT BlockSize; // offset: 128, size: 32 bits
enum DML_DEPTH_SPACE_ORDER Order; // offset: 160, size: 32 bits
};
DML_ELEMENT_WISE_ACOSH_OPERATOR_DESC
struct DML_ELEMENT_WISE_ACOSH_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_ASINH_OPERATOR_DESC
struct DML_ELEMENT_WISE_ASINH_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_ATANH_OPERATOR_DESC
struct DML_ELEMENT_WISE_ATANH_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_BIT_AND_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_AND_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_BIT_COUNT_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_COUNT_OPERATOR_DESC { // size: 16 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
};
DML_ELEMENT_WISE_BIT_NOT_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_NOT_OPERATOR_DESC { // size: 16 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
};
DML_ELEMENT_WISE_BIT_OR_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_OR_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_BIT_SHIFT_LEFT_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_SHIFT_LEFT_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_BIT_SHIFT_RIGHT_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_SHIFT_RIGHT_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC
struct DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_COSH_OPERATOR_DESC
struct DML_ELEMENT_WISE_COSH_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_ERF_OPERATOR_DESC
struct DML_ELEMENT_WISE_ERF_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_IF_OPERATOR_DESC
struct DML_ELEMENT_WISE_IF_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * ConditionTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * ATensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 192, size: 64 bits
};
DML_ELEMENT_WISE_IS_INFINITY_OPERATOR_DESC
struct DML_ELEMENT_WISE_IS_INFINITY_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
enum DML_IS_INFINITY_MODE InfinityMode; // offset: 128, size: 32 bits
};
DML_ELEMENT_WISE_IS_NAN_OPERATOR_DESC
struct DML_ELEMENT_WISE_IS_NAN_OPERATOR_DESC { // size: 16 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
};
DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL_OPERATOR_DESC
struct DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL_OPERATOR_DESC
struct DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_MODULUS_FLOOR_OPERATOR_DESC
struct DML_ELEMENT_WISE_MODULUS_FLOOR_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_MODULUS_TRUNCATE_OPERATOR_DESC
struct DML_ELEMENT_WISE_MODULUS_TRUNCATE_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_ROUND_OPERATOR_DESC
struct DML_ELEMENT_WISE_ROUND_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
enum DML_ROUNDING_MODE RoundingMode; // offset: 128, size: 32 bits
};
DML_ELEMENT_WISE_SIGN_OPERATOR_DESC
struct DML_ELEMENT_WISE_SIGN_OPERATOR_DESC { // size: 16 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
};
DML_ELEMENT_WISE_SINH_OPERATOR_DESC
struct DML_ELEMENT_WISE_SINH_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_ELEMENT_WISE_TANH_OPERATOR_DESC
struct DML_ELEMENT_WISE_TANH_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_SCALE_BIAS * ScaleBias; // offset: 128, size: 64 bits
};
DML_FEATURE_DATA_FEATURE_LEVELS
struct DML_FEATURE_DATA_FEATURE_LEVELS { // size: 4 bytes, align: 4
enum DML_FEATURE_LEVEL MaxSupportedFeatureLevel; // offset: 0, size: 32 bits
};
DML_FEATURE_QUERY_FEATURE_LEVELS
struct DML_FEATURE_QUERY_FEATURE_LEVELS { // size: 16 bytes, align: 8
UINT RequestedFeatureLevelCount; // offset: 0, size: 32 bits
const enum DML_FEATURE_LEVEL * RequestedFeatureLevels; // offset: 64, size: 64 bits
};
DML_GATHER_ELEMENTS_OPERATOR_DESC
struct DML_GATHER_ELEMENTS_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
UINT Axis; // offset: 192, size: 32 bits
};
DML_GATHER_ND1_OPERATOR_DESC
struct DML_GATHER_ND1_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
UINT InputDimensionCount; // offset: 192, size: 32 bits
UINT IndicesDimensionCount; // offset: 224, size: 32 bits
UINT BatchDimensionCount; // offset: 256, size: 32 bits
};
DML_GATHER_ND_OPERATOR_DESC
struct DML_GATHER_ND_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
UINT InputDimensionCount; // offset: 192, size: 32 bits
UINT IndicesDimensionCount; // offset: 224, size: 32 bits
};
DML_GRAPH_DESC
struct DML_GRAPH_DESC { // size: 72 bytes, align: 8
UINT InputCount; // offset: 0, size: 32 bits
UINT OutputCount; // offset: 32, size: 32 bits
UINT NodeCount; // offset: 64, size: 32 bits
const struct DML_GRAPH_NODE_DESC * Nodes; // offset: 128, size: 64 bits
UINT InputEdgeCount; // offset: 192, size: 32 bits
const struct DML_GRAPH_EDGE_DESC * InputEdges; // offset: 256, size: 64 bits
UINT OutputEdgeCount; // offset: 320, size: 32 bits
const struct DML_GRAPH_EDGE_DESC * OutputEdges; // offset: 384, size: 64 bits
UINT IntermediateEdgeCount; // offset: 448, size: 32 bits
const struct DML_GRAPH_EDGE_DESC * IntermediateEdges; // offset: 512, size: 64 bits
};
DML_GRAPH_EDGE_DESC
struct DML_GRAPH_EDGE_DESC { // size: 16 bytes, align: 8
enum DML_GRAPH_EDGE_TYPE Type; // offset: 0, size: 32 bits
const void * Desc; // offset: 64, size: 64 bits
};
DML_GRAPH_NODE_DESC
struct DML_GRAPH_NODE_DESC { // size: 16 bytes, align: 8
enum DML_GRAPH_NODE_TYPE Type; // offset: 0, size: 32 bits
const void * Desc; // offset: 64, size: 64 bits
};
DML_INPUT_GRAPH_EDGE_DESC
struct DML_INPUT_GRAPH_EDGE_DESC { // size: 24 bytes, align: 8
UINT GraphInputIndex; // offset: 0, size: 32 bits
UINT ToNodeIndex; // offset: 32, size: 32 bits
UINT ToNodeInputIndex; // offset: 64, size: 32 bits
const char * Name; // offset: 128, size: 64 bits
};
DML_INTERMEDIATE_GRAPH_EDGE_DESC
struct DML_INTERMEDIATE_GRAPH_EDGE_DESC { // size: 24 bytes, align: 8
UINT FromNodeIndex; // offset: 0, size: 32 bits
UINT FromNodeOutputIndex; // offset: 32, size: 32 bits
UINT ToNodeIndex; // offset: 64, size: 32 bits
UINT ToNodeInputIndex; // offset: 96, size: 32 bits
const char * Name; // offset: 128, size: 64 bits
};
DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC
struct DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * AZeroPointTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * BZeroPointTensor; // offset: 192, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 256, size: 64 bits
};
DML_MAX_POOLING1_OPERATOR_DESC
struct DML_MAX_POOLING1_OPERATOR_DESC { // size: 64 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputIndicesTensor; // offset: 128, size: 64 bits
UINT DimensionCount; // offset: 192, size: 32 bits
const UINT * Strides; // offset: 256, size: 64 bits
const UINT * WindowSize; // offset: 320, size: 64 bits
const UINT * StartPadding; // offset: 384, size: 64 bits
const UINT * EndPadding; // offset: 448, size: 64 bits
};
DML_MAX_POOLING2_OPERATOR_DESC
struct DML_MAX_POOLING2_OPERATOR_DESC { // size: 72 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputIndicesTensor; // offset: 128, size: 64 bits
UINT DimensionCount; // offset: 192, size: 32 bits
const UINT * Strides; // offset: 256, size: 64 bits
const UINT * WindowSize; // offset: 320, size: 64 bits
const UINT * StartPadding; // offset: 384, size: 64 bits
const UINT * EndPadding; // offset: 448, size: 64 bits
const UINT * Dilations; // offset: 512, size: 64 bits
};
DML_MAX_POOLING_GRAD_OPERATOR_DESC
struct DML_MAX_POOLING_GRAD_OPERATOR_DESC { // size: 72 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * InputGradientTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputGradientTensor; // offset: 128, size: 64 bits
UINT DimensionCount; // offset: 192, size: 32 bits
const UINT * Strides; // offset: 256, size: 64 bits
const UINT * WindowSize; // offset: 320, size: 64 bits
const UINT * StartPadding; // offset: 384, size: 64 bits
const UINT * EndPadding; // offset: 448, size: 64 bits
const UINT * Dilations; // offset: 512, size: 64 bits
};
DML_MAX_UNPOOLING_OPERATOR_DESC
struct DML_MAX_UNPOOLING_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
};
DML_NONZERO_COORDINATES_OPERATOR_DESC
struct DML_NONZERO_COORDINATES_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputCountTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputCoordinatesTensor; // offset: 128, size: 64 bits
};
DML_ONE_HOT_OPERATOR_DESC
struct DML_ONE_HOT_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * ValuesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
UINT Axis; // offset: 192, size: 32 bits
};
DML_OPERATOR_GRAPH_NODE_DESC
struct DML_OPERATOR_GRAPH_NODE_DESC { // size: 16 bytes, align: 8
struct IDMLOperator * Operator; // offset: 0, size: 64 bits
const char * Name; // offset: 64, size: 64 bits
};
DML_OUTPUT_GRAPH_EDGE_DESC
struct DML_OUTPUT_GRAPH_EDGE_DESC { // size: 24 bytes, align: 8
UINT FromNodeIndex; // offset: 0, size: 32 bits
UINT FromNodeOutputIndex; // offset: 32, size: 32 bits
UINT GraphOutputIndex; // offset: 64, size: 32 bits
const char * Name; // offset: 128, size: 64 bits
};
DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC
struct DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC { // size: 128 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * InputScaleTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * InputZeroPointTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * FilterTensor; // offset: 192, size: 64 bits
const struct DML_TENSOR_DESC * FilterScaleTensor; // offset: 256, size: 64 bits
const struct DML_TENSOR_DESC * FilterZeroPointTensor; // offset: 320, size: 64 bits
const struct DML_TENSOR_DESC * BiasTensor; // offset: 384, size: 64 bits
const struct DML_TENSOR_DESC * OutputScaleTensor; // offset: 448, size: 64 bits
const struct DML_TENSOR_DESC * OutputZeroPointTensor; // offset: 512, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 576, size: 64 bits
UINT DimensionCount; // offset: 640, size: 32 bits
const UINT * Strides; // offset: 704, size: 64 bits
const UINT * Dilations; // offset: 768, size: 64 bits
const UINT * StartPadding; // offset: 832, size: 64 bits
const UINT * EndPadding; // offset: 896, size: 64 bits
UINT GroupCount; // offset: 960, size: 32 bits
};
DML_QUANTIZED_LINEAR_MATRIX_MULTIPLY_OPERATOR_DESC
struct DML_QUANTIZED_LINEAR_MATRIX_MULTIPLY_OPERATOR_DESC { // size: 72 bytes, align: 8
const struct DML_TENSOR_DESC * ATensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * AScaleTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * AZeroPointTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * BTensor; // offset: 192, size: 64 bits
const struct DML_TENSOR_DESC * BScaleTensor; // offset: 256, size: 64 bits
const struct DML_TENSOR_DESC * BZeroPointTensor; // offset: 320, size: 64 bits
const struct DML_TENSOR_DESC * OutputScaleTensor; // offset: 384, size: 64 bits
const struct DML_TENSOR_DESC * OutputZeroPointTensor; // offset: 448, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 512, size: 64 bits
};
DML_RANDOM_GENERATOR_OPERATOR_DESC
struct DML_RANDOM_GENERATOR_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * InputStateTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputStateTensor; // offset: 128, size: 64 bits
enum DML_RANDOM_GENERATOR_TYPE Type; // offset: 192, size: 32 bits
};
DML_REVERSE_SUBSEQUENCES_OPERATOR_DESC
struct DML_REVERSE_SUBSEQUENCES_OPERATOR_DESC { // size: 32 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * SequenceLengthsTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 128, size: 64 bits
UINT Axis; // offset: 192, size: 32 bits
};
DML_SCATTER_ND_OPERATOR_DESC
struct DML_SCATTER_ND_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * UpdatesTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 192, size: 64 bits
UINT InputDimensionCount; // offset: 256, size: 32 bits
UINT IndicesDimensionCount; // offset: 288, size: 32 bits
};
DML_SCATTER_OPERATOR_DESC
struct DML_SCATTER_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * IndicesTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * UpdatesTensor; // offset: 128, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 192, size: 64 bits
UINT Axis; // offset: 256, size: 32 bits
};
DML_SPACE_TO_DEPTH1_OPERATOR_DESC
struct DML_SPACE_TO_DEPTH1_OPERATOR_DESC { // size: 24 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputTensor; // offset: 64, size: 64 bits
UINT BlockSize; // offset: 128, size: 32 bits
enum DML_DEPTH_SPACE_ORDER Order; // offset: 160, size: 32 bits
};
DML_TOP_K1_OPERATOR_DESC
struct DML_TOP_K1_OPERATOR_DESC { // size: 40 bytes, align: 8
const struct DML_TENSOR_DESC * InputTensor; // offset: 0, size: 64 bits
const struct DML_TENSOR_DESC * OutputValueTensor; // offset: 64, size: 64 bits
const struct DML_TENSOR_DESC * OutputIndexTensor; // offset: 128, size: 64 bits
UINT Axis; // offset: 192, size: 32 bits
UINT K; // offset: 224, size: 32 bits
enum DML_AXIS_DIRECTION AxisDirection; // offset: 256, size: 32 bits
};
IWRdsRemoteFXGraphicsConnection
struct IWRdsRemoteFXGraphicsConnection { // size: 8 bytes, align: 8
struct IWRdsRemoteFXGraphicsConnectionVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (5)
HRESULT (*)(IWRdsRemoteFXGraphicsConnection *, const IID *const, void **) QueryInterface;
ULONG (*)(IWRdsRemoteFXGraphicsConnection *) AddRef;
ULONG (*)(IWRdsRemoteFXGraphicsConnection *) Release;
HRESULT (*)(IWRdsRemoteFXGraphicsConnection *, BOOL *) EnableRemoteFXGraphics;
HRESULT (*)(IWRdsRemoteFXGraphicsConnection *, int **) GetVirtualChannelTransport;
IWRdsRemoteFXGraphicsConnectionVtbl
struct IWRdsRemoteFXGraphicsConnectionVtbl { // size: 40 bytes, align: 8
HRESULT (*)(IWRdsRemoteFXGraphicsConnection *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IWRdsRemoteFXGraphicsConnection *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IWRdsRemoteFXGraphicsConnection *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IWRdsRemoteFXGraphicsConnection *, BOOL *) EnableRemoteFXGraphics; // offset: 192, size: 64 bits
HRESULT (*)(IWRdsRemoteFXGraphicsConnection *, int **) GetVirtualChannelTransport; // offset: 256, size: 64 bits
};
WhitePoint
struct WhitePoint { // size: 16 bytes, align: 4
enum (unnamed enum at um/Icm.h) type; // offset: 0, size: 32 bits
XYYPoint xyY; // offset: 32, size: 96 bits
float CCT; // offset: 32, size: 32 bits
};
XYYPoint
struct XYYPoint { // size: 12 bytes, align: 4
float x; // offset: 0, size: 32 bits
float y; // offset: 32, size: 32 bits
float Y; // offset: 64, size: 32 bits
};
_AMD64_MXCSR_REG
union _AMD64_MXCSR_REG { // size: 4 bytes, align: 4
DWORD Value; // offset: 0, size: 32 bits
DWORD IE; // offset: 0, size: 1 bits
DWORD DE; // offset: 1, size: 1 bits
DWORD ZE; // offset: 2, size: 1 bits
DWORD OE; // offset: 3, size: 1 bits
DWORD UE; // offset: 4, size: 1 bits
DWORD PE; // offset: 5, size: 1 bits
DWORD DAZ; // offset: 6, size: 1 bits
DWORD IM; // offset: 7, size: 1 bits
DWORD DM; // offset: 8, size: 1 bits
DWORD ZM; // offset: 9, size: 1 bits
DWORD OM; // offset: 10, size: 1 bits
DWORD UM; // offset: 11, size: 1 bits
DWORD PM; // offset: 12, size: 1 bits
DWORD RC; // offset: 13, size: 2 bits
DWORD FZ; // offset: 15, size: 1 bits
DWORD res; // offset: 16, size: 16 bits
};
_ARM64_FPCR_REG
union _ARM64_FPCR_REG { // size: 4 bytes, align: 4
DWORD Value; // offset: 0, size: 32 bits
DWORD res0_1; // offset: 0, size: 8 bits
DWORD IOE; // offset: 8, size: 1 bits
DWORD DZE; // offset: 9, size: 1 bits
DWORD OFE; // offset: 10, size: 1 bits
DWORD UFE; // offset: 11, size: 1 bits
DWORD IXE; // offset: 12, size: 1 bits
DWORD res0_2; // offset: 13, size: 2 bits
DWORD IDE; // offset: 15, size: 1 bits
DWORD Len; // offset: 16, size: 3 bits
DWORD FZ16; // offset: 19, size: 1 bits
DWORD Stride; // offset: 20, size: 2 bits
DWORD RMode; // offset: 22, size: 2 bits
DWORD FZ; // offset: 24, size: 1 bits
DWORD DN; // offset: 25, size: 1 bits
DWORD AHP; // offset: 26, size: 1 bits
DWORD res0_3; // offset: 27, size: 5 bits
};
_ARM64_FPSR_REG
union _ARM64_FPSR_REG { // size: 4 bytes, align: 4
DWORD Value; // offset: 0, size: 32 bits
DWORD IOC; // offset: 0, size: 1 bits
DWORD DZC; // offset: 1, size: 1 bits
DWORD OFC; // offset: 2, size: 1 bits
DWORD UFC; // offset: 3, size: 1 bits
DWORD IXC; // offset: 4, size: 1 bits
DWORD res0_1; // offset: 5, size: 2 bits
DWORD IDC; // offset: 7, size: 1 bits
DWORD res0_2; // offset: 8, size: 19 bits
DWORD QC; // offset: 27, size: 1 bits
DWORD V; // offset: 28, size: 1 bits
DWORD C; // offset: 29, size: 1 bits
DWORD Z; // offset: 30, size: 1 bits
DWORD N; // offset: 31, size: 1 bits
};
_D3DKMT_MULTIPLANE_OVERLAY3
struct _D3DKMT_MULTIPLANE_OVERLAY3 { // size: 56 bytes, align: 8
UINT LayerIndex; // offset: 0, size: 32 bits
D3DKMT_PLANE_SPECIFIC_INPUT_FLAGS InputFlags; // offset: 32, size: 32 bits
D3DDDI_FLIPINTERVAL_TYPE FlipInterval; // offset: 64, size: 32 bits
UINT MaxImmediateFlipLine; // offset: 96, size: 32 bits
UINT AllocationCount; // offset: 128, size: 32 bits
D3DKMT_HANDLE * pAllocationList; // offset: 192, size: 64 bits
UINT DriverPrivateDataSize; // offset: 256, size: 32 bits
void * pDriverPrivateData; // offset: 320, size: 64 bits
const D3DKMT_MULTIPLANE_OVERLAY_ATTRIBUTES3 * pPlaneAttributes; // offset: 384, size: 64 bits
};
_D3DKMT_VIDSCH_ESCAPE
struct _D3DKMT_VIDSCH_ESCAPE { // size: 12 bytes, align: 4
D3DKMT_VIDSCHESCAPETYPE Type; // offset: 0, size: 32 bits
BOOL PreemptionControl; // offset: 32, size: 32 bits
BOOL EnableContextDelay; // offset: 32, size: 32 bits
ULONG TdrControl; // offset: 32, size: 32 bits
struct (unnamed struct at shared/d3dkmthk.h) TdrControl2; // offset: 32, size: 64 bits
BOOL SuspendScheduler; // offset: 32, size: 32 bits
ULONG TdrControl; // offset: 32, size: 32 bits
ULONG SuspendTime; // offset: 32, size: 32 bits
struct (unnamed struct at shared/d3dkmthk.h) TdrLimit; // offset: 32, size: 64 bits
D3DKMT_ESCAPE_PFN_CONTROL_COMMAND PfnControl; // offset: 32, size: 32 bits
};
_DOS_IMAGE_INFO
struct _DOS_IMAGE_INFO { // size: 16 bytes, align: 8
LPCSTR PdbName; // offset: 0, size: 64 bits
GUEST_VIRTUAL_ADDRESS ImageBaseAddress; // offset: 64, size: 32 bits
DWORD ImageSize; // offset: 96, size: 32 bits
};
_MODULE_INFO
struct _MODULE_INFO { // size: 24 bytes, align: 8
LPCSTR ProcessImageName; // offset: 0, size: 64 bits
DOS_IMAGE_INFO Image; // offset: 64, size: 128 bits
};
_WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS
struct _WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS { // size: 88 bytes, align: 8
DWORD dwVersion; // offset: 0, size: 32 bits
DWORD dwTimeoutMilliseconds; // offset: 32, size: 32 bits
WEBAUTHN_CREDENTIALS CredentialList; // offset: 64, size: 128 bits
WEBAUTHN_EXTENSIONS Extensions; // offset: 192, size: 128 bits
DWORD dwAuthenticatorAttachment; // offset: 320, size: 32 bits
DWORD dwUserVerificationRequirement; // offset: 352, size: 32 bits
DWORD dwFlags; // offset: 384, size: 32 bits
PCWSTR pwszU2fAppId; // offset: 448, size: 64 bits
BOOL * pbU2fAppId; // offset: 512, size: 64 bits
GUID * pCancellationId; // offset: 576, size: 64 bits
PWEBAUTHN_CREDENTIAL_LIST pAllowCredentialList; // offset: 640, size: 64 bits
};
_WHEA_PCIE_CORRECTABLE_ERROR_SECTION_VALIDBITS
union _WHEA_PCIE_CORRECTABLE_ERROR_SECTION_VALIDBITS { // size: 8 bytes, align: 1
struct (unnamed struct at um/cper.h) DUMMYSTRUCTNAME; // offset: 0, size: 64 bits
ULONGLONG ValidBits; // offset: 0, size: 64 bits
};
_WOW64_ARCHITECTURE_INFORMATION
struct _WOW64_ARCHITECTURE_INFORMATION { // size: 4 bytes, align: 4
DWORD Machine; // offset: 0, size: 16 bits
DWORD KernelMode; // offset: 16, size: 1 bits
DWORD UserMode; // offset: 17, size: 1 bits
DWORD Native; // offset: 18, size: 1 bits
DWORD Process; // offset: 19, size: 1 bits
DWORD ReservedZero0; // offset: 20, size: 12 bits
};
Structs Modified
18IDeviceSpecificPropertyVtbl
Before
struct IDeviceSpecificPropertyVtbl { // size: 56 bytes, align: 8
HRESULT (*)(IDeviceSpecificProperty *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IDeviceSpecificProperty *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IDeviceSpecificProperty *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, int *) GetType; // offset: 192, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, void *, DWORD *) GetValue; // offset: 256, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, void *, DWORD, LPCGUID) SetValue; // offset: 320, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, LONG *, LONG *, LONG *) Get4BRange; // offset: 384, size: 64 bits
};
After
struct IDeviceSpecificPropertyVtbl { // size: 56 bytes, align: 8
HRESULT (*)(IDeviceSpecificProperty *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IDeviceSpecificProperty *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IDeviceSpecificProperty *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, VARTYPE *) GetType; // offset: 192, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, void *, DWORD *) GetValue; // offset: 256, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, void *, DWORD, LPCGUID) SetValue; // offset: 320, size: 64 bits
HRESULT (*)(IDeviceSpecificProperty *, LONG *, LONG *, LONG *) Get4BRange; // offset: 384, size: 64 bits
};
Changes
-
Changed
GetTypetype fromHRESULT (*)(IDeviceSpecificProperty *, int *)toHRESULT (*)(IDeviceSpecificProperty *, VARTYPE *).
IMILBitmapEffectEventsVtbl
Before
struct IMILBitmapEffectEventsVtbl { // size: 40 bytes, align: 8
HRESULT (*)(IMILBitmapEffectEvents *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectEvents *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectEvents *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectEvents *, IMILBitmapEffect *, BSTR) PropertyChange; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectEvents *, IMILBitmapEffect *, struct MilRectD *) DirtyRegion; // offset: 256, size: 64 bits
};
After
struct IMILBitmapEffectEventsVtbl { // size: 40 bytes, align: 8
HRESULT (*)(IMILBitmapEffectEvents *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectEvents *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectEvents *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectEvents *, IMILBitmapEffect *, BSTR) PropertyChange; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectEvents *, IMILBitmapEffect *, MilRectD *) DirtyRegion; // offset: 256, size: 64 bits
};
Changes
-
Changed
DirtyRegiontype fromHRESULT (*)(IMILBitmapEffectEvents *, IMILBitmapEffect *, struct MilRectD *)toHRESULT (*)(IMILBitmapEffectEvents *, IMILBitmapEffect *, MilRectD *).
IMILBitmapEffectImplVtbl
Before
struct IMILBitmapEffectImplVtbl { // size: 80 bytes, align: 8
HRESULT (*)(IMILBitmapEffectImpl *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectImpl *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectImpl *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, IMILBitmapEffectOutputConnector *, VARIANT_BOOL *) IsInPlaceModificationAllowed; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, IMILBitmapEffectGroup *) SetParentEffect; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, IWICBitmapSource **) GetInputSource; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, struct MilRectD *) GetInputSourceBounds; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, IMILBitmapEffectRenderContext *, VARIANT_BOOL *, IWICBitmapSource **) GetInputBitmapSource; // offset: 448, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, IMILBitmapEffectRenderContext *, VARIANT_BOOL *, IWICBitmapSource **) GetOutputBitmapSource; // offset: 512, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, int *) Initialize; // offset: 576, size: 64 bits
};
After
struct IMILBitmapEffectImplVtbl { // size: 80 bytes, align: 8
HRESULT (*)(IMILBitmapEffectImpl *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectImpl *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectImpl *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, IMILBitmapEffectOutputConnector *, VARIANT_BOOL *) IsInPlaceModificationAllowed; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, IMILBitmapEffectGroup *) SetParentEffect; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, IWICBitmapSource **) GetInputSource; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, MilRectD *) GetInputSourceBounds; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, IMILBitmapEffectRenderContext *, VARIANT_BOOL *, IWICBitmapSource **) GetInputBitmapSource; // offset: 448, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, ULONG, IMILBitmapEffectRenderContext *, VARIANT_BOOL *, IWICBitmapSource **) GetOutputBitmapSource; // offset: 512, size: 64 bits
HRESULT (*)(IMILBitmapEffectImpl *, int *) Initialize; // offset: 576, size: 64 bits
};
Changes
-
Changed
GetInputSourceBoundstype fromHRESULT (*)(IMILBitmapEffectImpl *, ULONG, struct MilRectD *)toHRESULT (*)(IMILBitmapEffectImpl *, ULONG, MilRectD *).
IMILBitmapEffectPrimitiveVtbl
Before
struct IMILBitmapEffectPrimitiveVtbl { // size: 72 bytes, align: 8
HRESULT (*)(IMILBitmapEffectPrimitive *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectPrimitive *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectPrimitive *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, IMILBitmapEffectRenderContext *, VARIANT_BOOL *, IWICBitmapSource **) GetOutput; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, struct MilPoint2D *, VARIANT_BOOL, IMILBitmapEffectRenderContext *, VARIANT_BOOL *) TransformPoint; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, struct MilRectD *, VARIANT_BOOL, IMILBitmapEffectRenderContext *) TransformRect; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, VARIANT_BOOL *) HasAffineTransform; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, VARIANT_BOOL *) HasInverseTransform; // offset: 448, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, struct MilMatrix3x2D *) GetAffineMatrix; // offset: 512, size: 64 bits
};
After
struct IMILBitmapEffectPrimitiveVtbl { // size: 72 bytes, align: 8
HRESULT (*)(IMILBitmapEffectPrimitive *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectPrimitive *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectPrimitive *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, IMILBitmapEffectRenderContext *, VARIANT_BOOL *, IWICBitmapSource **) GetOutput; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, MilPoint2D *, VARIANT_BOOL, IMILBitmapEffectRenderContext *, VARIANT_BOOL *) TransformPoint; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, MilRectD *, VARIANT_BOOL, IMILBitmapEffectRenderContext *) TransformRect; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, VARIANT_BOOL *) HasAffineTransform; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, VARIANT_BOOL *) HasInverseTransform; // offset: 448, size: 64 bits
HRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, MilMatrix3x2D *) GetAffineMatrix; // offset: 512, size: 64 bits
};
Changes
-
Changed
GetAffineMatrixtype fromHRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, struct MilMatrix3x2D *)toHRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, MilMatrix3x2D *). -
Changed
TransformPointtype fromHRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, struct MilPoint2D *, VARIANT_BOOL, IMILBitmapEffectRenderContext *, VARIANT_BOOL *)toHRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, MilPoint2D *, VARIANT_BOOL, IMILBitmapEffectRenderContext *, VARIANT_BOOL *). -
Changed
TransformRecttype fromHRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, struct MilRectD *, VARIANT_BOOL, IMILBitmapEffectRenderContext *)toHRESULT (*)(IMILBitmapEffectPrimitive *, ULONG, MilRectD *, VARIANT_BOOL, IMILBitmapEffectRenderContext *).
IMILBitmapEffectRenderContextImplVtbl
Before
struct IMILBitmapEffectRenderContextImplVtbl { // size: 64 bytes, align: 8
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContextImpl *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContextImpl *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, VARIANT_BOOL *) GetUseSoftwareRenderer; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, MILMatrixF *) GetTransform; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, MILMatrixF *) UpdateTransform; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, struct MilRectD *) GetOutputBounds; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, struct MilRectD *) UpdateOutputBounds; // offset: 448, size: 64 bits
};
After
struct IMILBitmapEffectRenderContextImplVtbl { // size: 64 bytes, align: 8
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContextImpl *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContextImpl *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, VARIANT_BOOL *) GetUseSoftwareRenderer; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, MILMatrixF *) GetTransform; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, MILMatrixF *) UpdateTransform; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, MilRectD *) GetOutputBounds; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContextImpl *, MilRectD *) UpdateOutputBounds; // offset: 448, size: 64 bits
};
Changes
-
Changed
GetOutputBoundstype fromHRESULT (*)(IMILBitmapEffectRenderContextImpl *, struct MilRectD *)toHRESULT (*)(IMILBitmapEffectRenderContextImpl *, MilRectD *). -
Changed
UpdateOutputBoundstype fromHRESULT (*)(IMILBitmapEffectRenderContextImpl *, struct MilRectD *)toHRESULT (*)(IMILBitmapEffectRenderContextImpl *, MilRectD *).
IMILBitmapEffectRenderContextVtbl
Before
struct IMILBitmapEffectRenderContextVtbl { // size: 88 bytes, align: 8
HRESULT (*)(IMILBitmapEffectRenderContext *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContext *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContext *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, REFWICPixelFormatGUID) SetOutputPixelFormat; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, WICPixelFormatGUID *) GetOutputPixelFormat; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, VARIANT_BOOL) SetUseSoftwareRenderer; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, MILMatrixF *) SetInitialTransform; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, MILMatrixF *) GetFinalTransform; // offset: 448, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, double, double) SetOutputDPI; // offset: 512, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, double *, double *) GetOutputDPI; // offset: 576, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, struct MilRectD *) SetRegionOfInterest; // offset: 640, size: 64 bits
};
After
struct IMILBitmapEffectRenderContextVtbl { // size: 88 bytes, align: 8
HRESULT (*)(IMILBitmapEffectRenderContext *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContext *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IMILBitmapEffectRenderContext *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, REFWICPixelFormatGUID) SetOutputPixelFormat; // offset: 192, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, WICPixelFormatGUID *) GetOutputPixelFormat; // offset: 256, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, VARIANT_BOOL) SetUseSoftwareRenderer; // offset: 320, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, MILMatrixF *) SetInitialTransform; // offset: 384, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, MILMatrixF *) GetFinalTransform; // offset: 448, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, double, double) SetOutputDPI; // offset: 512, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, double *, double *) GetOutputDPI; // offset: 576, size: 64 bits
HRESULT (*)(IMILBitmapEffectRenderContext *, MilRectD *) SetRegionOfInterest; // offset: 640, size: 64 bits
};
Changes
-
Changed
SetRegionOfInteresttype fromHRESULT (*)(IMILBitmapEffectRenderContext *, struct MilRectD *)toHRESULT (*)(IMILBitmapEffectRenderContext *, MilRectD *).
_D3DDDI_CREATECONTEXTFLAGS
Before
struct _D3DDDI_CREATECONTEXTFLAGS { // size: 4 bytes, align: 4
UINT NullRendering; // offset: 0, size: 1 bits
UINT InitialData; // offset: 1, size: 1 bits
UINT DisableGpuTimeout; // offset: 2, size: 1 bits
UINT SynchronizationOnly; // offset: 3, size: 1 bits
UINT HwQueueSupported; // offset: 4, size: 1 bits
UINT Reserved; // offset: 5, size: 27 bits
UINT Value; // offset: 0, size: 32 bits
};
After
struct _D3DDDI_CREATECONTEXTFLAGS { // size: 4 bytes, align: 4
UINT NullRendering; // offset: 0, size: 1 bits
UINT InitialData; // offset: 1, size: 1 bits
UINT DisableGpuTimeout; // offset: 2, size: 1 bits
UINT SynchronizationOnly; // offset: 3, size: 1 bits
UINT HwQueueSupported; // offset: 4, size: 1 bits
UINT NoKmdAccess; // offset: 5, size: 1 bits
UINT Reserved; // offset: 6, size: 26 bits
UINT Value; // offset: 0, size: 32 bits
};
Changes
-
Added field
UINT NoKmdAccessat offset 5 bits (1 bits). -
Moved
Reservedfrom offset 5 to 6 bits. -
Changed
Reservedsize from 27 to 26 bits.
_D3DDDI_CREATEHWQUEUEFLAGS
Before
struct _D3DDDI_CREATEHWQUEUEFLAGS { // size: 4 bytes, align: 4
UINT DisableGpuTimeout; // offset: 0, size: 1 bits
UINT NoBroadcastSignal; // offset: 1, size: 1 bits
UINT NoBroadcastWait; // offset: 2, size: 1 bits
UINT Reserved; // offset: 3, size: 29 bits
UINT Value; // offset: 0, size: 32 bits
};
After
struct _D3DDDI_CREATEHWQUEUEFLAGS { // size: 4 bytes, align: 4
UINT DisableGpuTimeout; // offset: 0, size: 1 bits
UINT NoBroadcastSignal; // offset: 1, size: 1 bits
UINT NoBroadcastWait; // offset: 2, size: 1 bits
UINT NoKmdAccess; // offset: 3, size: 1 bits
UINT Reserved; // offset: 4, size: 28 bits
UINT Value; // offset: 0, size: 32 bits
};
Changes
-
Added field
UINT NoKmdAccessat offset 3 bits (1 bits). -
Moved
Reservedfrom offset 3 to 4 bits. -
Changed
Reservedsize from 29 to 28 bits.
_D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
Before
struct _D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS { // size: 4 bytes, align: 4
UINT Shared; // offset: 0, size: 1 bits
UINT NtSecuritySharing; // offset: 1, size: 1 bits
UINT CrossAdapter; // offset: 2, size: 1 bits
UINT TopOfPipeline; // offset: 3, size: 1 bits
UINT NoSignal; // offset: 4, size: 1 bits
UINT NoWait; // offset: 5, size: 1 bits
UINT NoSignalMaxValueOnTdr; // offset: 6, size: 1 bits
UINT NoGPUAccess; // offset: 7, size: 1 bits
UINT Reserved; // offset: 8, size: 23 bits
UINT Reserved0; // offset: 31, size: 1 bits
UINT Value; // offset: 0, size: 32 bits
};
After
struct _D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS { // size: 4 bytes, align: 4
UINT Shared; // offset: 0, size: 1 bits
UINT NtSecuritySharing; // offset: 1, size: 1 bits
UINT CrossAdapter; // offset: 2, size: 1 bits
UINT TopOfPipeline; // offset: 3, size: 1 bits
UINT NoSignal; // offset: 4, size: 1 bits
UINT NoWait; // offset: 5, size: 1 bits
UINT NoSignalMaxValueOnTdr; // offset: 6, size: 1 bits
UINT NoGPUAccess; // offset: 7, size: 1 bits
UINT SignalByKmd; // offset: 8, size: 1 bits
UINT Reserved; // offset: 9, size: 22 bits
UINT Reserved0; // offset: 31, size: 1 bits
UINT Value; // offset: 0, size: 32 bits
};
Changes
-
Moved
Reservedfrom offset 8 to 9 bits. -
Changed
Reservedsize from 23 to 22 bits. -
Added field
UINT SignalByKmdat offset 8 bits (1 bits).
_D3DKMDT_DISPLAYMODE_FLAGS
Before
struct _D3DKMDT_DISPLAYMODE_FLAGS { // size: 8 bytes, align: 4
UINT ValidatedAgainstMonitorCaps; // offset: 0, size: 1 bits
UINT RoundedFakeMode; // offset: 1, size: 1 bits
D3DKMDT_MODE_PRUNING_REASON ModePruningReason; // offset: 32, size: 4 bits
UINT Stereo; // offset: 36, size: 1 bits
UINT AdvancedScanCapable; // offset: 37, size: 1 bits
UINT PreferredTiming; // offset: 38, size: 1 bits
UINT PhysicalModeSupported; // offset: 39, size: 1 bits
UINT Reserved; // offset: 40, size: 24 bits
};
After
struct _D3DKMDT_DISPLAYMODE_FLAGS { // size: 8 bytes, align: 4
UINT ValidatedAgainstMonitorCaps; // offset: 0, size: 1 bits
UINT RoundedFakeMode; // offset: 1, size: 1 bits
D3DKMDT_MODE_PRUNING_REASON ModePruningReason; // offset: 32, size: 4 bits
UINT Stereo; // offset: 36, size: 1 bits
UINT AdvancedScanCapable; // offset: 37, size: 1 bits
UINT PreferredTiming; // offset: 38, size: 1 bits
UINT PhysicalModeSupported; // offset: 39, size: 1 bits
UINT VirtualRefreshRate; // offset: 40, size: 1 bits
UINT Reserved; // offset: 41, size: 23 bits
};
Changes
-
Moved
Reservedfrom offset 40 to 41 bits. -
Changed
Reservedsize from 24 to 23 bits. -
Added field
UINT VirtualRefreshRateat offset 40 bits (1 bits).
_D3DKMT_CREATEALLOCATIONFLAGS
Before
struct _D3DKMT_CREATEALLOCATIONFLAGS { // size: 4 bytes, align: 4
UINT CreateResource; // offset: 0, size: 1 bits
UINT CreateShared; // offset: 1, size: 1 bits
UINT NonSecure; // offset: 2, size: 1 bits
UINT CreateProtected; // offset: 3, size: 1 bits
UINT RestrictSharedAccess; // offset: 4, size: 1 bits
UINT ExistingSysMem; // offset: 5, size: 1 bits
UINT NtSecuritySharing; // offset: 6, size: 1 bits
UINT ReadOnly; // offset: 7, size: 1 bits
UINT CreateWriteCombined; // offset: 8, size: 1 bits
UINT CreateCached; // offset: 9, size: 1 bits
UINT SwapChainBackBuffer; // offset: 10, size: 1 bits
UINT CrossAdapter; // offset: 11, size: 1 bits
UINT OpenCrossAdapter; // offset: 12, size: 1 bits
UINT PartialSharedCreation; // offset: 13, size: 1 bits
UINT Zeroed; // offset: 14, size: 1 bits
UINT WriteWatch; // offset: 15, size: 1 bits
UINT StandardAllocation; // offset: 16, size: 1 bits
UINT ExistingSection; // offset: 17, size: 1 bits
UINT AllowNotZeroed; // offset: 18, size: 1 bits
UINT PhysicallyContiguous; // offset: 19, size: 1 bits
UINT Reserved; // offset: 20, size: 12 bits
};
After
struct _D3DKMT_CREATEALLOCATIONFLAGS { // size: 4 bytes, align: 4
UINT CreateResource; // offset: 0, size: 1 bits
UINT CreateShared; // offset: 1, size: 1 bits
UINT NonSecure; // offset: 2, size: 1 bits
UINT CreateProtected; // offset: 3, size: 1 bits
UINT RestrictSharedAccess; // offset: 4, size: 1 bits
UINT ExistingSysMem; // offset: 5, size: 1 bits
UINT NtSecuritySharing; // offset: 6, size: 1 bits
UINT ReadOnly; // offset: 7, size: 1 bits
UINT CreateWriteCombined; // offset: 8, size: 1 bits
UINT CreateCached; // offset: 9, size: 1 bits
UINT SwapChainBackBuffer; // offset: 10, size: 1 bits
UINT CrossAdapter; // offset: 11, size: 1 bits
UINT OpenCrossAdapter; // offset: 12, size: 1 bits
UINT PartialSharedCreation; // offset: 13, size: 1 bits
UINT Zeroed; // offset: 14, size: 1 bits
UINT WriteWatch; // offset: 15, size: 1 bits
UINT StandardAllocation; // offset: 16, size: 1 bits
UINT ExistingSection; // offset: 17, size: 1 bits
UINT AllowNotZeroed; // offset: 18, size: 1 bits
UINT PhysicallyContiguous; // offset: 19, size: 1 bits
UINT NoKmdAccess; // offset: 20, size: 1 bits
UINT SharedDisplayable; // offset: 21, size: 1 bits
UINT Reserved; // offset: 22, size: 10 bits
};
Changes
-
Added field
UINT NoKmdAccessat offset 20 bits (1 bits). -
Moved
Reservedfrom offset 20 to 22 bits. -
Changed
Reservedsize from 12 to 10 bits. -
Added field
UINT SharedDisplayableat offset 21 bits (1 bits).
_D3DKMT_DRIVERCAPS_EXT
Before
struct _D3DKMT_DRIVERCAPS_EXT { // size: 4 bytes, align: 1
UINT VirtualModeSupport; // offset: 0, size: 1 bits
UINT Reserved; // offset: 1, size: 31 bits
UINT Value; // offset: 0, size: 32 bits
};
After
struct _D3DKMT_DRIVERCAPS_EXT { // size: 4 bytes, align: 1
UINT VirtualModeSupport; // offset: 0, size: 1 bits
UINT Usb4MonitorSupport; // offset: 1, size: 1 bits
UINT Reserved; // offset: 2, size: 30 bits
UINT Value; // offset: 0, size: 32 bits
};
Changes
-
Moved
Reservedfrom offset 1 to 2 bits. -
Changed
Reservedsize from 31 to 30 bits. -
Added field
UINT Usb4MonitorSupportat offset 1 bits (1 bits).
_D3DKMT_SUBMITCOMMANDFLAGS
Before
struct _D3DKMT_SUBMITCOMMANDFLAGS { // size: 4 bytes, align: 4
UINT NullRendering; // offset: 0, size: 1 bits
UINT PresentRedirected; // offset: 1, size: 1 bits
UINT Reserved; // offset: 2, size: 30 bits
};
After
struct _D3DKMT_SUBMITCOMMANDFLAGS { // size: 4 bytes, align: 4
UINT NullRendering; // offset: 0, size: 1 bits
UINT PresentRedirected; // offset: 1, size: 1 bits
UINT NoKmdAccess; // offset: 2, size: 1 bits
UINT Reserved; // offset: 3, size: 29 bits
};
Changes
-
Added field
UINT NoKmdAccessat offset 2 bits (1 bits). -
Moved
Reservedfrom offset 2 to 3 bits. -
Changed
Reservedsize from 30 to 29 bits.
_HTTP_SERVICE_CONFIG_SSL_PARAM_EX
Before
struct _HTTP_SERVICE_CONFIG_SSL_PARAM_EX { // size: 32 bytes, align: 8
HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE ParamType; // offset: 0, size: 32 bits
ULONGLONG Flags; // offset: 64, size: 64 bits
HTTP2_WINDOW_SIZE_PARAM Http2WindowSizeParam; // offset: 128, size: 32 bits
HTTP2_SETTINGS_LIMITS_PARAM Http2SettingsLimitsParam; // offset: 128, size: 64 bits
HTTP_PERFORMANCE_PARAM HttpPerformanceParam; // offset: 128, size: 128 bits
HTTP_TLS_RESTRICTIONS_PARAM HttpTlsRestrictionsParam; // offset: 128, size: 128 bits
HTTP_ERROR_HEADERS_PARAM HttpErrorHeadersParam; // offset: 128, size: 128 bits
};
After
struct _HTTP_SERVICE_CONFIG_SSL_PARAM_EX { // size: 32 bytes, align: 8
HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE ParamType; // offset: 0, size: 32 bits
ULONGLONG Flags; // offset: 64, size: 64 bits
HTTP2_WINDOW_SIZE_PARAM Http2WindowSizeParam; // offset: 128, size: 32 bits
HTTP2_SETTINGS_LIMITS_PARAM Http2SettingsLimitsParam; // offset: 128, size: 64 bits
HTTP_PERFORMANCE_PARAM HttpPerformanceParam; // offset: 128, size: 128 bits
HTTP_TLS_RESTRICTIONS_PARAM HttpTlsRestrictionsParam; // offset: 128, size: 128 bits
HTTP_ERROR_HEADERS_PARAM HttpErrorHeadersParam; // offset: 128, size: 128 bits
HTTP_TLS_SESSION_TICKET_KEYS_PARAM HttpTlsSessionTicketKeysParam; // offset: 128, size: 128 bits
};
Changes
-
Added field
HTTP_TLS_SESSION_TICKET_KEYS_PARAM HttpTlsSessionTicketKeysParamat offset 128 bits (128 bits).
_KERNEL_CET_CONTEXT
Before
struct _KERNEL_CET_CONTEXT { // size: 24 bytes, align: 8
DWORD64 Ssp; // offset: 0, size: 64 bits
DWORD64 Rip; // offset: 64, size: 64 bits
WORD SegCs; // offset: 128, size: 16 bits
WORD[3] Fill; // offset: 144, size: 48 bits
};
After
struct _KERNEL_CET_CONTEXT { // size: 24 bytes, align: 8
DWORD64 Ssp; // offset: 0, size: 64 bits
DWORD64 Rip; // offset: 64, size: 64 bits
WORD SegCs; // offset: 128, size: 16 bits
WORD AllFlags; // offset: 144, size: 16 bits
WORD UseWrss; // offset: 144, size: 1 bits
WORD PopShadowStackOne; // offset: 145, size: 1 bits
WORD Unused; // offset: 146, size: 14 bits
WORD[2] Fill; // offset: 160, size: 32 bits
};
Changes
-
Added field
WORD AllFlagsat offset 144 bits (16 bits). -
Changed
Filltype fromWORD[3]toWORD[2]. -
Moved
Fillfrom offset 144 to 160 bits. -
Changed
Fillsize from 48 to 32 bits. -
Added field
WORD PopShadowStackOneat offset 145 bits (1 bits). -
Added field
WORD Unusedat offset 146 bits (14 bits). -
Added field
WORD UseWrssat offset 144 bits (1 bits).
_POWER_SESSION_RIT_STATE
Before
struct _POWER_SESSION_RIT_STATE { // size: 8 bytes, align: 4
BOOLEAN Active; // offset: 0, size: 8 bits
DWORD LastInputTime; // offset: 32, size: 32 bits
};
After
struct _POWER_SESSION_RIT_STATE { // size: 16 bytes, align: 8
BOOLEAN Active; // offset: 0, size: 8 bits
DWORD64 LastInputTime; // offset: 64, size: 64 bits
};
Changes
- Size changed from 8 to 16 bytes.
- Alignment changed from 4 to 8 bytes.
-
Changed
LastInputTimetype fromDWORDtoDWORD64. -
Moved
LastInputTimefrom offset 32 to 64 bits. -
Changed
LastInputTimesize from 32 to 64 bits.
_SECPKG_USER_FUNCTION_TABLE
Before
struct _SECPKG_USER_FUNCTION_TABLE { // size: 112 bytes, align: 8
SpInstanceInitFn * InstanceInit; // offset: 0, size: 64 bits
SpInitUserModeContextFn * InitUserModeContext; // offset: 64, size: 64 bits
SpMakeSignatureFn * MakeSignature; // offset: 128, size: 64 bits
SpVerifySignatureFn * VerifySignature; // offset: 192, size: 64 bits
SpSealMessageFn * SealMessage; // offset: 256, size: 64 bits
SpUnsealMessageFn * UnsealMessage; // offset: 320, size: 64 bits
SpGetContextTokenFn * GetContextToken; // offset: 384, size: 64 bits
SpQueryContextAttributesFn * QueryContextAttributes; // offset: 448, size: 64 bits
SpCompleteAuthTokenFn * CompleteAuthToken; // offset: 512, size: 64 bits
SpDeleteContextFn * DeleteUserModeContext; // offset: 576, size: 64 bits
SpFormatCredentialsFn * FormatCredentials; // offset: 640, size: 64 bits
SpMarshallSupplementalCredsFn * MarshallSupplementalCreds; // offset: 704, size: 64 bits
SpExportSecurityContextFn * ExportContext; // offset: 768, size: 64 bits
SpImportSecurityContextFn * ImportContext; // offset: 832, size: 64 bits
};
After
struct _SECPKG_USER_FUNCTION_TABLE { // size: 120 bytes, align: 8
SpInstanceInitFn * InstanceInit; // offset: 0, size: 64 bits
SpInitUserModeContextFn * InitUserModeContext; // offset: 64, size: 64 bits
SpMakeSignatureFn * MakeSignature; // offset: 128, size: 64 bits
SpVerifySignatureFn * VerifySignature; // offset: 192, size: 64 bits
SpSealMessageFn * SealMessage; // offset: 256, size: 64 bits
SpUnsealMessageFn * UnsealMessage; // offset: 320, size: 64 bits
SpGetContextTokenFn * GetContextToken; // offset: 384, size: 64 bits
SpQueryContextAttributesFn * QueryContextAttributes; // offset: 448, size: 64 bits
SpCompleteAuthTokenFn * CompleteAuthToken; // offset: 512, size: 64 bits
SpDeleteContextFn * DeleteUserModeContext; // offset: 576, size: 64 bits
SpFormatCredentialsFn * FormatCredentials; // offset: 640, size: 64 bits
SpMarshallSupplementalCredsFn * MarshallSupplementalCreds; // offset: 704, size: 64 bits
SpExportSecurityContextFn * ExportContext; // offset: 768, size: 64 bits
SpImportSecurityContextFn * ImportContext; // offset: 832, size: 64 bits
SpMarshalAttributeDataFn * MarshalAttributeData; // offset: 896, size: 64 bits
};
Changes
- Size changed from 112 to 120 bytes.
-
Added field
SpMarshalAttributeDataFn * MarshalAttributeDataat offset 896 bits (64 bits).
_WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS
Before
struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS { // size: 80 bytes, align: 8
DWORD dwVersion; // offset: 0, size: 32 bits
DWORD dwTimeoutMilliseconds; // offset: 32, size: 32 bits
WEBAUTHN_CREDENTIALS CredentialList; // offset: 64, size: 128 bits
WEBAUTHN_EXTENSIONS Extensions; // offset: 192, size: 128 bits
DWORD dwAuthenticatorAttachment; // offset: 320, size: 32 bits
BOOL bRequireResidentKey; // offset: 352, size: 32 bits
DWORD dwUserVerificationRequirement; // offset: 384, size: 32 bits
DWORD dwAttestationConveyancePreference; // offset: 416, size: 32 bits
DWORD dwFlags; // offset: 448, size: 32 bits
GUID * pCancellationId; // offset: 512, size: 64 bits
PWEBAUTHN_CREDENTIAL_LIST pExcludeCredentialList; // offset: 576, size: 64 bits
};
After
struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS { // size: 96 bytes, align: 8
DWORD dwVersion; // offset: 0, size: 32 bits
DWORD dwTimeoutMilliseconds; // offset: 32, size: 32 bits
WEBAUTHN_CREDENTIALS CredentialList; // offset: 64, size: 128 bits
WEBAUTHN_EXTENSIONS Extensions; // offset: 192, size: 128 bits
DWORD dwAuthenticatorAttachment; // offset: 320, size: 32 bits
BOOL bRequireResidentKey; // offset: 352, size: 32 bits
DWORD dwUserVerificationRequirement; // offset: 384, size: 32 bits
DWORD dwAttestationConveyancePreference; // offset: 416, size: 32 bits
DWORD dwFlags; // offset: 448, size: 32 bits
GUID * pCancellationId; // offset: 512, size: 64 bits
PWEBAUTHN_CREDENTIAL_LIST pExcludeCredentialList; // offset: 576, size: 64 bits
DWORD dwEnterpriseAttestation; // offset: 640, size: 32 bits
DWORD dwLargeBlobSupport; // offset: 672, size: 32 bits
BOOL bPreferResidentKey; // offset: 704, size: 32 bits
};
Changes
- Size changed from 80 to 96 bytes.
-
Added field
BOOL bPreferResidentKeyat offset 704 bits (32 bits). -
Added field
DWORD dwEnterpriseAttestationat offset 640 bits (32 bits). -
Added field
DWORD dwLargeBlobSupportat offset 672 bits (32 bits).
Functions Added
346Functions Removed
23uint32_t CRC32(uint32_t X, uint64_t Y, uint64_t Polynomial, unsigned int Datawidth);
HRESULT ColorAdapterGetCurrentProfileCalibration(DisplayID displayID, DWORD maxCalibrationBlobSize, int * blobSize, BYTE * calibrationBlob);
HRESULT ColorAdapterGetDisplayCurrentStateID(DisplayID displayID, DisplayStateID * displayStateID);
HRESULT ColorAdapterGetDisplayProfile(DisplayID displayID, LPWSTR displayProfile, int * profileID, BOOL * bUseAccurate);
HRESULT ColorAdapterGetDisplayTargetWhitePoint(DisplayID displayID, WhitePoint * wtpt, int * transitionTime, int * whitepointID);
HRESULT ColorAdapterGetDisplayTransformData(DisplayID displayID, DisplayTransformLut * displayTransformLut, int * transformID);
HRESULT ColorAdapterGetSystemModifyWhitePointCaps(BOOL * whitePointAdjCapable, BOOL * isColorOverrideActive);
HRESULT ColorAdapterRegisterOEMColorService(HANDLE * registration);
HRESULT ColorAdapterUnregisterOEMColorService(HANDLE registration);
HRESULT ColorAdapterUpdateDeviceProfile(DisplayID displayID, LPWSTR profName);
HRESULT ColorAdapterUpdateDisplayGamma(DisplayID displayID, DisplayTransformLut * displayTransform, BOOL internal);
int CompareResultForOperation(unsigned int CompareResult, int Operation);
HRESULT DMLCreateDevice1(ID3D12Device * d3d12Device, enum DML_CREATE_DEVICE_FLAGS flags, enum DML_FEATURE_LEVEL minimumFeatureLevel, const IID *const riid, void ** ppv);
BOOLEAN RtlIsEcCode(DWORD64 CodePointer);
DWORD _convert_cpsr_to_eflags(DWORD Cpsr);
DWORD _convert_eflags_to_cpsr(DWORD Eflags);
DWORD _convert_fpcr_fpsr_to_mxcsr(DWORD Fpcr, DWORD Fpsr);
void _convert_mxcsr_to_fpcr_fpsr(DWORD MxCsr, DWORD * Fpcr, DWORD * Fpsr);
wchar_t * wcslwr(wchar_t * _String);
wchar_t * wcsnset(wchar_t * _String, wchar_t _Value, size_t _MaxCount);
wchar_t * wcsrev(wchar_t * _String);
wchar_t * wcsset(wchar_t * _String, wchar_t _Value);
wchar_t * wcsupr(wchar_t * _String);
Functions Changed
23CVTPD2DQ128
Before
uint128_t CVTPD2DQ128(uint128_t X);
After
uint128_t CVTPD2DQ128(uint128_t X, unsigned int RoundingMode);
CVTPD2PI128
Before
uint64_t CVTPD2PI128(uint128_t X);
After
uint64_t CVTPD2PI128(uint128_t X, unsigned int RoundingMode);
CVTPS2DQ128
Before
uint128_t CVTPS2DQ128(uint128_t X);
After
uint128_t CVTPS2DQ128(uint128_t X, unsigned int RoundingMode);
CVTPS2PI128
Before
uint64_t CVTPS2PI128(uint64_t X);
After
uint64_t CVTPS2PI128(uint64_t X, unsigned int RoundingMode);
DeviceDsmAddDataSetRange
Before
int DeviceDsmAddDataSetRange(PDEVICE_DSM_INPUT Input, DWORD InputLength, LONGLONG Offset, int Length);
After
int DeviceDsmAddDataSetRange(PDEVICE_DSM_INPUT Input, int () _In_range_);
DeviceDsmInitializeInput
Before
void DeviceDsmInitializeInput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_INPUT Input, DWORD InputLength, DWORD Flags, PVOID Parameters, DWORD ParameterBlockLength);
After
void DeviceDsmInitializeInput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_INPUT Input, int () _In_range_);
DeviceDsmInitializeOutput
Before
void DeviceDsmInitializeOutput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_OUTPUT Output, DWORD OutputLength, DWORD Flags);
After
void DeviceDsmInitializeOutput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_OUTPUT Output, int () _In_range_);
DeviceDsmValidateInput
Before
int DeviceDsmValidateInput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_INPUT Input, DWORD InputLength);
After
int DeviceDsmValidateInput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_INPUT Input, int () _In_range_);
DeviceDsmValidateOutput
Before
int DeviceDsmValidateOutput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_OUTPUT Output, DWORD OutputLength);
After
int DeviceDsmValidateOutput(PDEVICE_DSM_DEFINITION Definition, PDEVICE_DSM_OUTPUT Output, int () _In_range_);
DockPattern_SetDockPosition
Before
HRESULT DockPattern_SetDockPosition(int hobj, int dockPosition);
After
HRESULT DockPattern_SetDockPosition(int hobj, enum DockPosition dockPosition);
GetEnabledVirtualTrustLevels
Before
HRESULT GetEnabledVirtualTrustLevels(int vmSavedStateDumpHandle, int vpId, int * virtualTrustLevels, int * virtualTrustLevelCount);
After
HRESULT GetEnabledVirtualTrustLevels(int vmSavedStateDumpHandle, int vpId, int * virtualTrustLevels);
GetRegisterValue
Before
HRESULT GetRegisterValue(int vmSavedStateDumpHandle, int vpId, int * vpRegister);
After
HRESULT GetRegisterValue(int vmSavedStateDumpHandle, int vpId, DWORD registerId, int * registerValue);
GuestVirtualAddressToPhysicalAddress
Before
HRESULT GuestVirtualAddressToPhysicalAddress(int vmSavedStateDumpHandle, int vpId, const int virtualAddress, int * physicalAddress);
After
HRESULT GuestVirtualAddressToPhysicalAddress(int vmSavedStateDumpHandle, int vpId, const int virtualAddress, int * physicalAddress, int * unmappedRegionSize);
PSHUFD128
Before
uint128_t PSHUFD128(uint128_t X, uint128_t Y, unsigned int Imm);
After
uint128_t PSHUFD128(uint128_t Y, int Imm);
PSHUFW64
Before
uint64_t PSHUFW64(uint64_t X, uint64_t Y, unsigned int Imm);
After
uint64_t PSHUFW64(uint64_t Y, int Imm);
ScrollPattern_Scroll
Before
HRESULT ScrollPattern_Scroll(int hobj, int horizontalAmount, int verticalAmount);
After
HRESULT ScrollPattern_Scroll(int hobj, enum ScrollAmount horizontalAmount, enum ScrollAmount verticalAmount);
SynchronizedInputPattern_StartListening
Before
HRESULT SynchronizedInputPattern_StartListening(int hobj, int inputType);
After
HRESULT SynchronizedInputPattern_StartListening(int hobj, enum SynchronizedInputType inputType);
UiaAddEvent
Before
HRESULT UiaAddEvent(int hnode, EVENTID eventId, UiaEventCallback * pCallback, int scope, PROPERTYID * pProperties, int cProperties, struct UiaCacheRequest * pRequest, int * phEvent);
After
HRESULT UiaAddEvent(int hnode, EVENTID eventId, UiaEventCallback * pCallback, enum TreeScope scope, PROPERTYID * pProperties, int cProperties, struct UiaCacheRequest * pRequest, int * phEvent);
UiaRaiseStructureChangedEvent
Before
HRESULT UiaRaiseStructureChangedEvent(IRawElementProviderSimple * pProvider, int structureChangeType, int * pRuntimeId, int cRuntimeIdLen);
After
HRESULT UiaRaiseStructureChangedEvent(IRawElementProviderSimple * pProvider, enum StructureChangeType structureChangeType, int * pRuntimeId, int cRuntimeIdLen);
UiaRaiseTextEditTextChangedEvent
Before
HRESULT UiaRaiseTextEditTextChangedEvent(IRawElementProviderSimple * pProvider, int textEditChangeType, SAFEARRAY * pChangedData);
After
HRESULT UiaRaiseTextEditTextChangedEvent(IRawElementProviderSimple * pProvider, enum TextEditChangeType textEditChangeType, SAFEARRAY * pChangedData);
WindowPattern_SetWindowVisualState
Before
HRESULT WindowPattern_SetWindowVisualState(int hobj, int state);
After
HRESULT WindowPattern_SetWindowVisualState(int hobj, enum WindowVisualState state);
_CVTSD2SI32
Before
uint32_t _CVTSD2SI32(uint64_t X, int Truncate);
After
uint32_t _CVTSD2SI32(uint64_t X, unsigned int RoundingMode);
_CVTSS2SI32
Before
uint32_t _CVTSS2SI32(uint32_t X, int Truncate);
After
uint32_t _CVTSS2SI32(uint32_t X, unsigned int RoundingMode);