# mkv_8328.dll-mkv_8655.dll Diff

# TOC

* [Visual Chart Diff](#visual-chart-diff)
* [Metadata](#metadata)
	* [Ghidra Diff Engine](#ghidra-diff-engine)
		* [Command Line](#command-line)
	* [Binary Metadata Diff](#binary-metadata-diff)
	* [Program Options](#program-options)
	* [Diff Stats](#diff-stats)
	* [Strings](#strings)
* [Deleted](#deleted)
* [Added](#added)
	* [wil::details::`dynamic_initializer_for_'g_enabledStateManager''](#wildetailsdynamic_initializer_for_g_enabledstatemanager)
	* [wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''](#wildetailsdynamic_initializer_for_g_header_init_initializestagingsrumfeaturereporting)
	* [wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>](#wildetailsensurecoalescedtimerclass_wildetailsenabledstatemanager)
	* [wil::details::EnabledStateManager::EnabledStateManager](#wildetailsenabledstatemanagerenabledstatemanager)
	* [wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>](#wildetailsunique_storagestruct_wildetailsresource_policystruct_feature_state_change_subscription_____ptr64void___cdeclstruct_feature_state_change_subscription_____ptr64void___cdecl_wildetailswilapi_unsubscribefeaturestatechangenotificationstruct_feature_state_change_subscription_____ptr64struct_wistdintegral_constantunsigned___int640struct_feature_state_change_subscription_____ptr64struct_feature_state_change_subscription_____ptr640stdnullptr_t_unique_storagestruct_wildetailsresource_policystruct_feature_state_change_subscription_____ptr64void___cdeclstruct_feature_state_change_subscription_____ptr64void___cdecl_wildetailswilapi_unsubscribefeaturestatechangenotificationstruct_feature_state_change_subscription_____ptr64struct_wistdintegral_constantunsigned___int640struct_feature_state_change_subscription_____ptr64struct_feature_state_change_subscription_____ptr640stdnullptr_t_)
	* [wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>](#wildetailsunique_storagestruct_wildetailsresource_policystruct__rtl_srwlock___ptr64void___cdeclstruct__rtl_srwlock___ptr64void___cdecl_releasesrwlockexclusivestruct__rtl_srwlock___ptr64struct_wistdintegral_constantunsigned___int641struct__rtl_srwlock___ptr64struct__rtl_srwlock___ptr640stdnullptr_t_unique_storagestruct_wildetailsresource_policystruct__rtl_srwlock___ptr64void___cdeclstruct__rtl_srwlock___ptr64void___cdecl_releasesrwlockexclusivestruct__rtl_srwlock___ptr64struct_wistdintegral_constantunsigned___int641struct__rtl_srwlock___ptr64struct__rtl_srwlock___ptr640stdnullptr_t_)
	* [wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>](#wildetailsunique_storagestruct_wildetailsresource_policystruct__tp_timer___ptr64void___cdeclstruct__tp_timer___ptr64public_static_void___cdecl_wildetailsdestroythreadpooltimerstruct_wildetailssystemthreadpoolmethods0destroystruct__tp_timer___ptr64struct_wistdintegral_constantunsigned___int640struct__tp_timer___ptr64struct__tp_timer___ptr640stdnullptr_t_unique_storagestruct_wildetailsresource_policystruct__tp_timer___ptr64void___cdeclstruct__tp_timer___ptr64public_static_void___cdecl_wildetailsdestroythreadpooltimerstruct_wildetailssystemthreadpoolmethods0destroystruct__tp_timer___ptr64struct_wistdintegral_constantunsigned___int640struct__tp_timer___ptr64struct__tp_timer___ptr640stdnullptr_t_)
	* [wil::details::EnabledStateManager::~EnabledStateManager](#wildetailsenabledstatemanagerenabledstatemanager)
	* [wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy](#wildetailsdestroythreadpooltimerstruct_wildetailssystemthreadpoolmethods0destroy)
	* [wil::details::EnsureSubscribedToFeatureConfigurationChanges](#wildetailsensuresubscribedtofeatureconfigurationchanges)
	* [wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl](#wildetailsenabledstatemanagerensuresubscribedtofeatureconfigurationchangesimpl)
	* [wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush](#wildetailsenabledstatemanagerensuresubscribedtousageflush)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_3010967866getcachedfeatureenabledstate)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_3010967866getcurrentfeatureenabledstate)
	* [wil::details::GetFeatureEnabledStateHelper](#wildetailsgetfeatureenabledstatehelper)
	* [wil::details::EnabledStateManager::OnStateChange](#wildetailsenabledstatemanageronstatechange)
	* [wil::details::EnabledStateManager::ProcessShutdown](#wildetailsenabledstatemanagerprocessshutdown)
	* [wil::details::EnabledStateManager::QueueBackgroundUsageReporting](#wildetailsenabledstatemanagerqueuebackgroundusagereporting)
	* [wil::details::EnabledStateManager::RecordCachedUsageUnderLock](#wildetailsenabledstatemanagerrecordcachedusageunderlock)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_3010967866reportusage)
	* [wil::details::ReportUsageToServiceDirect](#wildetailsreportusagetoservicedirect)
	* [wil::details::WilApi_RecordFeatureUsage](#wildetailswilapi_recordfeatureusage)
	* [wil::details::WilApi_RecordFeatureUsageReports](#wildetailswilapi_recordfeatureusagereports)
	* [wil::details::WilApi_UnsubscribeFeatureStateChangeNotification](#wildetailswilapi_unsubscribefeaturestatechangenotification)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_3010967866__private_isenabled)
	* [wil::details_abi::heap_buffer::push_back](#wildetails_abiheap_bufferpush_back)
	* [wil::details_abi::heap_buffer::reserve](#wildetails_abiheap_bufferreserve)
	* [wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset](#wildetailsunique_storagestruct_wildetailsresource_policystruct__tp_timer___ptr64void___cdeclstruct__tp_timer___ptr64public_static_void___cdecl_wildetailsdestroythreadpooltimerstruct_wildetailssystemthreadpoolmethods0destroystruct__tp_timer___ptr64struct_wistdintegral_constantunsigned___int640struct__tp_timer___ptr64struct__tp_timer___ptr640stdnullptr_t_reset)
	* [wil_HasFeatureTestState](#wil_hasfeatureteststate)
	* [wil_details_FeatureReporting_IncrementOpportunityInCache](#wil_details_featurereporting_incrementopportunityincache)
	* [wil_details_FeatureReporting_IncrementUsageInCache](#wil_details_featurereporting_incrementusageincache)
	* [wil_details_FeatureReporting_RecordUsageInCache](#wil_details_featurereporting_recordusageincache)
	* [wil_details_MapReportingKind](#wil_details_mapreportingkind)
	* [wil_details_RecordCachedUsage](#wil_details_recordcachedusage)
	* [wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''](#wildetailsdynamic_atexit_destructor_for_g_enabledstatemanager)
	* [API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::SetThreadpoolTimer](#api-ms-win-core-threadpool-l1-2-0dllsetthreadpooltimer)
	* [API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::WaitForThreadpoolTimerCallbacks](#api-ms-win-core-threadpool-l1-2-0dllwaitforthreadpooltimercallbacks)
	* [API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::CreateThreadpoolTimer](#api-ms-win-core-threadpool-l1-2-0dllcreatethreadpooltimer)
* [Modified](#modified)
	* [MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType](#mkvmfsourcelibmkvmfstreamvideohevcgetmfmediatype)
	* [wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''](#wildetailsdynamic_initializer_for_g_header_init_initializestagingheaderapi)
	* [Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession>](#microsoftwrlcomptrstruct_imftelemetrysessioncomptrstruct_imftelemetrysession)
* [Modified (No Code Changes)](#modified-no-code-changes)
	* [ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>](#scopeexitlambda_8803e76450334a78a8db16044dd2c386_)
	* [ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>](#scopeexitlambda_10c80c94d27179e180f889b55519c53a_)
	* [InternalRelease](#internalrelease)
	* [<lambda_8803e76450334a78a8db16044dd2c386>](#lambda_8803e76450334a78a8db16044dd2c386)
	* [~CallStackInfo](#callstackinfo)
	* [~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>](#scopeexitfnlambda_30300b5e74ad86f3029660eec3d2f8fa_)
	* [ProcessShutdownInProgress](#processshutdowninprogress)
	* [last_error_context](#last_error_context)
	* [GetLevel](#getlevel)
	* [GetThreadRelativeContext](#getthreadrelativecontext)
	* [unique_ptr<void,struct_wil::process_heap_deleter><1,void>](#unique_ptrvoidstruct_wilprocess_heap_deleter1void)
	* [MFPLAT.DLL::MFCreateAlignedMemoryBuffer](#mfplatdllmfcreatealignedmemorybuffer)
	* [~CallStackScopeTrace](#callstackscopetrace)
	* [ProcessHeapAlloc](#processheapalloc)
	* [InitInstance](#initinstance)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive](#api-ms-win-core-synch-l1-1-0dllacquiresrwlockexclusive)
	* [atexit](#atexit)
	* [__GSHandlerCheck_EH4](#__gshandlercheck_eh4)
	* [MFPLAT.DLL::MFGetCallStackTracingWeakReference](#mfplatdllmfgetcallstacktracingweakreference)
	* [TraceFailure](#tracefailure)
	* [~last_error_context](#last_error_context)
	* [__security_check_cookie](#__security_check_cookie)
	* [WPP_SF_qd](#wpp_sf_qd)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive](#api-ms-win-core-synch-l1-1-0dllreleasesrwlockexclusive)
	* [operator()](#operator)
	* [memcpy_s](#memcpy_s)

# Visual Chart Diff



```mermaid

flowchart LR

MkvMfSourceLibMkvMfStreamVideoHEVCGetMFMediaType-2-old<--Match 11%-->MkvMfSourceLibMkvMfStreamVideoHEVCGetMFMediaType-2-new
wildetailsdynamic_initializer_for_g_header_init_InitializeStagingHeaderApi-0-old<--Match 78%-->wildetailsdynamic_initializer_for_g_header_init_InitializeStagingHeaderApi-0-new
MicrosoftWRLComPtrstruct_IMFTelemetrySessionComPtrstruct_IMFTelemetrySession-1-old<--Match 0%-->wildetailsEnabledStateManagerOnTimer-1-new

subgraph mkv_8655.dll
    MkvMfSourceLibMkvMfStreamVideoHEVCGetMFMediaType-2-new
wildetailsdynamic_initializer_for_g_header_init_InitializeStagingHeaderApi-0-new
wildetailsEnabledStateManagerOnTimer-1-new
    subgraph Added
direction LR
wil-details-dynamic_initializer_for_g_enabledStateManager
    wil-details-dynamic_initializer_for_g_header_init_InitializeStagingSRUMFeatureReporting
    wil-details-EnsureCoalescedTimerclass_wil-details-EnabledStateManager
    wil-details-EnabledStateManager-EnabledStateManager
    wil-details-unique_storagestruct_wil-details-resource_policystruct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64void___cdeclstruct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64void___cdecl_wil-details-WilApi_UnsubscribeFeatureStateChangeNotificationstruct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64struct_wistd-integral_constantunsigned___int640struct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64struct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr640std-nullptr_t_-unique_storagestruct_wil-details-resource_policystruct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64void___cdeclstruct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64void___cdecl_wil-details-WilApi_UnsubscribeFeatureStateChangeNotificationstruct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64struct_wistd-integral_constantunsigned___int640struct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr64struct_FEATURE_STATE_CHANGE_SUBSCRIPTION_____ptr640std-nullptr_t_
    wil-details-unique_storagestruct_wil-details-resource_policystruct__RTL_SRWLOCK___ptr64void___cdeclstruct__RTL_SRWLOCK___ptr64void___cdecl_ReleaseSRWLockExclusivestruct__RTL_SRWLOCK___ptr64struct_wistd-integral_constantunsigned___int641struct__RTL_SRWLOCK___ptr64struct__RTL_SRWLOCK___ptr640std-nullptr_t_-unique_storagestruct_wil-details-resource_policystruct__RTL_SRWLOCK___ptr64void___cdeclstruct__RTL_SRWLOCK___ptr64void___cdecl_ReleaseSRWLockExclusivestruct__RTL_SRWLOCK___ptr64struct_wistd-integral_constantunsigned___int641struct__RTL_SRWLOCK___ptr64struct__RTL_SRWLOCK___ptr640std-nullptr_t_
    wil-details-unique_storagestruct_wil-details-resource_policystruct__TP_TIMER___ptr64void___cdeclstruct__TP_TIMER___ptr64public_static_void___cdecl_wil-details-DestroyThreadPoolTimerstruct_wil-details-SystemThreadPoolMethods0-Destroystruct__TP_TIMER___ptr64struct_wistd-integral_constantunsigned___int640struct__TP_TIMER___ptr64struct__TP_TIMER___ptr640std-nullptr_t_-unique_storagestruct_wil-details-resource_policystruct__TP_TIMER___ptr64void___cdeclstruct__TP_TIMER___ptr64public_static_void___cdecl_wil-details-DestroyThreadPoolTimerstruct_wil-details-SystemThreadPoolMethods0-Destroystruct__TP_TIMER___ptr64struct_wistd-integral_constantunsigned___int640struct__TP_TIMER___ptr64struct__TP_TIMER___ptr640std-nullptr_t_
    wil-details-EnabledStateManager-EnabledStateManager
    wil-details-DestroyThreadPoolTimerstruct_wil-details-SystemThreadPoolMethods0-Destroy
    wil-details-EnsureSubscribedToFeatureConfigurationChanges
    wil-details-EnabledStateManager-EnsureSubscribedToFeatureConfigurationChangesImpl
    wil-details-EnabledStateManager-EnsureSubscribedToUsageFlush
    wil-details-FeatureImplstruct___WilFeatureTraits_Feature_3010967866-GetCachedFeatureEnabledState
    wil-details-FeatureImplstruct___WilFeatureTraits_Feature_3010967866-GetCurrentFeatureEnabledState
    wil-details-GetFeatureEnabledStateHelper
    wil-details-EnabledStateManager-OnStateChange
    wil-details-EnabledStateManager-ProcessShutdown
    wil-details-EnabledStateManager-QueueBackgroundUsageReporting
    wil-details-EnabledStateManager-RecordCachedUsageUnderLock
    wil-details-FeatureImplstruct___WilFeatureTraits_Feature_3010967866-ReportUsage
    wil-details-ReportUsageToServiceDirect
    wil-details-WilApi_RecordFeatureUsage
    wil-details-WilApi_RecordFeatureUsageReports
    wil-details-WilApi_UnsubscribeFeatureStateChangeNotification
    wil-details-FeatureImplstruct___WilFeatureTraits_Feature_3010967866-__private_IsEnabled
    wil-details_abi-heap_buffer-push_back
    wil-details_abi-heap_buffer-reserve
    13_more_added_funcs_omitted
end
end

subgraph mkv_8328.dll
    MkvMfSourceLibMkvMfStreamVideoHEVCGetMFMediaType-2-old
wildetailsdynamic_initializer_for_g_header_init_InitializeStagingHeaderApi-0-old
MicrosoftWRLComPtrstruct_IMFTelemetrySessionComPtrstruct_IMFTelemetrySession-1-old
    
end

```


```mermaid
pie showData
    title Function Matches - 99.1905%
"unmatched_funcs_len" : 38
"matched_funcs_len" : 4656
```



```mermaid
pie showData
    title Matched Function Similarity - 99.2053%
"matched_funcs_with_code_changes_len" : 3
"matched_funcs_with_non_code_changes_len" : 34
"matched_funcs_no_changes_len" : 4619
```

# Metadata

## Ghidra Diff Engine

### Command Line

#### Captured Command Line


```
ghidriff --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --gzfs-path gzfs --threaded --log-level INFO --file-log-level INFO --log-path ghidriff.log --min-func-len 10 --gdt [] --bsim --max-ram-percent 60.0 --max-section-funcs 200 mkv_8328.dll mkv_8655.dll
```


#### Verbose Args


<details>

```
--old ['mkv_8328.dll'] --new [['mkv_8655.dll']] --engine VersionTrackingDiff --output-path mkv_out --summary False --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --gzfs-path gzfs --base-address None --program-options None --threaded True --force-analysis False --force-diff False --no-symbols False --log-level INFO --file-log-level INFO --log-path ghidriff.log --va False --min-func-len 10 --use-calling-counts False --gdt [] --bsim True --bsim-full False --max-ram-percent 60.0 --print-flags False --jvm-args None --side-by-side False --max-section-funcs 200 --md-title None
```


</details>

#### Download Original PEs


```
wget https://msdl.microsoft.com/download/symbols/MFMkvSrcSnk.dll/7886029AE5000/MFMkvSrcSnk.dll -O mfmkvsrcsnk.dll.x64.10.0.26100.8328
wget https://msdl.microsoft.com/download/symbols/MFMkvSrcSnk.dll/7693E695E8000/MFMkvSrcSnk.dll -O mfmkvsrcsnk.dll.x64.10.0.26100.8655
```


## Binary Metadata Diff


```diff
--- mkv_8328.dll Meta
+++ mkv_8655.dll Meta
@@ -1,44 +1,44 @@
-Program Name: mkv_8328.dll
+Program Name: mkv_8655.dll
 Language ID: x86:LE:64:default (4.6)
 Compiler ID: windows
 Processor: x86
 Endian: Little
 Address Size: 64
 Minimum Address: 180000000
 Maximum Address: ff0000184f
-# of Bytes: 944208
+# of Bytes: 952624
 # of Memory Blocks: 10
-# of Instructions: 170197
-# of Defined Data: 9394
-# of Functions: 2325
-# of Symbols: 20216
-# of Data Types: 1612
+# of Instructions: 171677
+# of Defined Data: 9452
+# of Functions: 2369
+# of Symbols: 20485
+# of Data Types: 1668
 # of Data Type Categories: 83
 Analyzed: true
 Compiler: visualstudio:unknown
 Created With Ghidra Version: 12.0.4
-Date Created: Wed Aug 19 00:00:55 SGT 2026
+Date Created: Wed Aug 19 00:00:59 SGT 2026
 Executable Format: Portable Executable (PE)
-Executable Location: /tmp/mkv/mkv_8328.dll
-Executable MD5: 947d93e1bea48706c3161fb8b7c69fb3
-Executable SHA256: 83a8fe556cc10566099510172cbf4cfea0c28cb4671f771c3519b4c247973a60
-FSRL: file:///tmp/mkv/mkv_8328.dll?MD5=947d93e1bea48706c3161fb8b7c69fb3
+Executable Location: /tmp/mkv/mkv_8655.dll
+Executable MD5: ef591b4cb45e34200728b5f1ffa80705
+Executable SHA256: 8a610beeeb0d5469c6923dc6131d40a2e16d66fc97ddaf477f7869408026e5fe
+FSRL: file:///tmp/mkv/mkv_8655.dll?MD5=ef591b4cb45e34200728b5f1ffa80705
 PDB Age: 1
 PDB File: mfmkvsrcsnk.pdb
-PDB GUID: c27c69a1-4108-a363-b80f-c0b7237b217d
+PDB GUID: d36eb07d-b9b9-3f48-cce2-d391b0b73e7d
 PDB Loaded: true
 PDB Version: RSDS
 PE Property[CompanyName]: Microsoft Corporation
 PE Property[FileDescription]: Media Foundation MKV Media Source and Sink DLL 
-PE Property[FileVersion]: 10.0.26100.8328 (WinBuild.160101.0800)
+PE Property[FileVersion]: 10.0.26100.8655 (WinBuild.160101.0800)
 PE Property[InternalName]: Media Foundation MKV Media Source and Sink DLL 
 PE Property[LegalCopyright]: © Microsoft Corporation. All rights reserved.
 PE Property[OriginalFilename]: MFMkvSrcSnk.dll
 PE Property[ProductName]: Microsoft® Windows® Operating System
-PE Property[ProductVersion]: 10.0.26100.8328
+PE Property[ProductVersion]: 10.0.26100.8655
 PE Property[Translation]: 4b00409
 Preferred Root Namespace Category: 
 RTTI Found: true
 Relocatable: true
 SectionAlignment: 4096
 Should Ask To Analyze: false

```


## Program Options


<details>
<summary>Ghidra mkv_8328.dll Decompiler Options</summary>


|Decompiler Option|Value|
| :---: | :---: |
|Prototype Evaluation|__fastcall|

</details>


<details>
<summary>Ghidra mkv_8328.dll Specification extensions Options</summary>


|Specification extensions Option|Value|
| :---: | :---: |
|FormatVersion|0|
|VersionCounter|0|

</details>


<details>
<summary>Ghidra mkv_8328.dll Analyzers Options</summary>


|Analyzers Option|Value|
| :---: | :---: |
|ASCII Strings|true|
|ASCII Strings.Create Strings Containing Existing Strings|true|
|ASCII Strings.Create Strings Containing References|true|
|ASCII Strings.Force Model Reload|false|
|ASCII Strings.Minimum String Length|LEN_5|
|ASCII Strings.Model File|StringModel.sng|
|ASCII Strings.Require Null Termination for String|true|
|ASCII Strings.Search Only in Accessible Memory Blocks|true|
|ASCII Strings.String Start Alignment|ALIGN_1|
|ASCII Strings.String end alignment|4|
|Aggressive Instruction Finder|false|
|Aggressive Instruction Finder.Create Analysis Bookmarks|true|
|Apply Data Archives|true|
|Apply Data Archives.Archive Chooser|[Auto-Detect]|
|Apply Data Archives.Create Analysis Bookmarks|true|
|Apply Data Archives.GDT User File Archive Path|None|
|Apply Data Archives.User Project Archive Path|None|
|Call Convention ID|true|
|Call Convention ID.Analysis Decompiler Timeout (sec)|60|
|Call-Fixup Installer|true|
|Condense Filler Bytes|false|
|Condense Filler Bytes.Filler Value|Auto|
|Condense Filler Bytes.Minimum number of sequential bytes|1|
|Create Address Tables|true|
|Create Address Tables.Allow Offcut References|false|
|Create Address Tables.Auto Label Table|false|
|Create Address Tables.Create Analysis Bookmarks|true|
|Create Address Tables.Maxmimum Pointer Distance|16777215|
|Create Address Tables.Minimum Pointer Address|4132|
|Create Address Tables.Minimum Table Size|2|
|Create Address Tables.Pointer Alignment|1|
|Create Address Tables.Relocation Table Guide|true|
|Create Address Tables.Table Alignment|4|
|Data Reference|true|
|Data Reference.Address Table Alignment|1|
|Data Reference.Address Table Minimum Size|2|
|Data Reference.Align End of Strings|false|
|Data Reference.Ascii String References|true|
|Data Reference.Create Address Tables|true|
|Data Reference.Minimum String Length|5|
|Data Reference.References to Pointers|true|
|Data Reference.Relocation Table Guide|true|
|Data Reference.Respect Execute Flag|true|
|Data Reference.Subroutine References|true|
|Data Reference.Switch Table References|false|
|Data Reference.Unicode String References|true|
|Decompiler Parameter ID|true|
|Decompiler Parameter ID.Analysis Clear Level|ANALYSIS|
|Decompiler Parameter ID.Analysis Decompiler Timeout (sec)|60|
|Decompiler Parameter ID.Commit Data Types|true|
|Decompiler Parameter ID.Commit Void Return Values|false|
|Decompiler Parameter ID.Prototype Evaluation|__fastcall|
|Decompiler Switch Analysis|true|
|Decompiler Switch Analysis.Analysis Decompiler Timeout (sec)|60|
|Demangler Microsoft|true|
|Demangler Microsoft.Apply Function Calling Conventions|true|
|Demangler Microsoft.Apply Function Signatures|true|
|Demangler Microsoft.C-Style Symbol Interpretation|FUNCTION_IF_EXISTS|
|Demangler Microsoft.Demangle Only Known Mangled Symbols|false|
|Disassemble Entry Points|true|
|Disassemble Entry Points.Respect Execute Flag|true|
|Embedded Media|true|
|Embedded Media.Create Analysis Bookmarks|true|
|External Entry References|true|
|Function ID|true|
|Function ID.Always Apply FID Labels|false|
|Function ID.Create Analysis Bookmarks|true|
|Function ID.Instruction Count Threshold|14.6|
|Function ID.Multiple Match Threshold|30.0|
|Function Start Search|true|
|Function Start Search.Bookmark Functions|false|
|Function Start Search.Search Data Blocks|false|
|Non-Returning Functions - Discovered|true|
|Non-Returning Functions - Discovered.Create Analysis Bookmarks|true|
|Non-Returning Functions - Discovered.Function Non-return Threshold|3|
|Non-Returning Functions - Discovered.Repair Flow Damage|true|
|Non-Returning Functions - Known|true|
|Non-Returning Functions - Known.Create Analysis Bookmarks|true|
|PDB MSDIA|false|
|PDB MSDIA.Search untrusted symbol servers|false|
|PDB Universal|true|
|PDB Universal.Import Source Line Info|true|
|PDB Universal.Search untrusted symbol servers|false|
|Reference|true|
|Reference.Address Table Alignment|1|
|Reference.Address Table Minimum Size|2|
|Reference.Align End of Strings|false|
|Reference.Ascii String References|true|
|Reference.Create Address Tables|true|
|Reference.Minimum String Length|5|
|Reference.References to Pointers|true|
|Reference.Relocation Table Guide|true|
|Reference.Respect Execute Flag|true|
|Reference.Subroutine References|true|
|Reference.Switch Table References|false|
|Reference.Unicode String References|true|
|Scalar Operand References|true|
|Scalar Operand References.Relocation Table Guide|true|
|Shared Return Calls|true|
|Shared Return Calls.Allow Conditional Jumps|false|
|Shared Return Calls.Assume Contiguous Functions Only|true|
|Stack|true|
|Stack.Create Local Variables|true|
|Stack.Create Param Variables|false|
|Stack.Max Threads|2|
|Subroutine References|true|
|Subroutine References.Create Thunks Early|true|
|Variadic Function Signature Override|false|
|Variadic Function Signature Override.Create Analysis Bookmarks|false|
|Windows x86 PE Exception Handling|true|
|Windows x86 PE RTTI Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer.Starting Address of the TEB||
|Windows x86 Thread Environment Block (TEB) Analyzer.Windows OS Version|Windows 7|
|WindowsPE x86 Propagate External Parameters|false|
|WindowsResourceReference|true|
|WindowsResourceReference.Create Analysis Bookmarks|true|
|x86 Constant Reference Analyzer|true|
|x86 Constant Reference Analyzer.Create Data from pointer|false|
|x86 Constant Reference Analyzer.Function parameter/return Pointer analysis|true|
|x86 Constant Reference Analyzer.Max Threads|2|
|x86 Constant Reference Analyzer.Min absolute reference|4|
|x86 Constant Reference Analyzer.Require pointer param data type|false|
|x86 Constant Reference Analyzer.Speculative reference max|256|
|x86 Constant Reference Analyzer.Speculative reference min|1024|
|x86 Constant Reference Analyzer.Stored Value Pointer analysis|true|
|x86 Constant Reference Analyzer.Trust values read from writable memory|true|

</details>


<details>
<summary>Ghidra mkv_8655.dll Decompiler Options</summary>


|Decompiler Option|Value|
| :---: | :---: |
|Prototype Evaluation|__fastcall|

</details>


<details>
<summary>Ghidra mkv_8655.dll Specification extensions Options</summary>


|Specification extensions Option|Value|
| :---: | :---: |
|FormatVersion|0|
|VersionCounter|0|

</details>


<details>
<summary>Ghidra mkv_8655.dll Analyzers Options</summary>


|Analyzers Option|Value|
| :---: | :---: |
|ASCII Strings|true|
|ASCII Strings.Create Strings Containing Existing Strings|true|
|ASCII Strings.Create Strings Containing References|true|
|ASCII Strings.Force Model Reload|false|
|ASCII Strings.Minimum String Length|LEN_5|
|ASCII Strings.Model File|StringModel.sng|
|ASCII Strings.Require Null Termination for String|true|
|ASCII Strings.Search Only in Accessible Memory Blocks|true|
|ASCII Strings.String Start Alignment|ALIGN_1|
|ASCII Strings.String end alignment|4|
|Aggressive Instruction Finder|false|
|Aggressive Instruction Finder.Create Analysis Bookmarks|true|
|Apply Data Archives|true|
|Apply Data Archives.Archive Chooser|[Auto-Detect]|
|Apply Data Archives.Create Analysis Bookmarks|true|
|Apply Data Archives.GDT User File Archive Path|None|
|Apply Data Archives.User Project Archive Path|None|
|Call Convention ID|true|
|Call Convention ID.Analysis Decompiler Timeout (sec)|60|
|Call-Fixup Installer|true|
|Condense Filler Bytes|false|
|Condense Filler Bytes.Filler Value|Auto|
|Condense Filler Bytes.Minimum number of sequential bytes|1|
|Create Address Tables|true|
|Create Address Tables.Allow Offcut References|false|
|Create Address Tables.Auto Label Table|false|
|Create Address Tables.Create Analysis Bookmarks|true|
|Create Address Tables.Maxmimum Pointer Distance|16777215|
|Create Address Tables.Minimum Pointer Address|4132|
|Create Address Tables.Minimum Table Size|2|
|Create Address Tables.Pointer Alignment|1|
|Create Address Tables.Relocation Table Guide|true|
|Create Address Tables.Table Alignment|4|
|Data Reference|true|
|Data Reference.Address Table Alignment|1|
|Data Reference.Address Table Minimum Size|2|
|Data Reference.Align End of Strings|false|
|Data Reference.Ascii String References|true|
|Data Reference.Create Address Tables|true|
|Data Reference.Minimum String Length|5|
|Data Reference.References to Pointers|true|
|Data Reference.Relocation Table Guide|true|
|Data Reference.Respect Execute Flag|true|
|Data Reference.Subroutine References|true|
|Data Reference.Switch Table References|false|
|Data Reference.Unicode String References|true|
|Decompiler Parameter ID|true|
|Decompiler Parameter ID.Analysis Clear Level|ANALYSIS|
|Decompiler Parameter ID.Analysis Decompiler Timeout (sec)|60|
|Decompiler Parameter ID.Commit Data Types|true|
|Decompiler Parameter ID.Commit Void Return Values|false|
|Decompiler Parameter ID.Prototype Evaluation|__fastcall|
|Decompiler Switch Analysis|true|
|Decompiler Switch Analysis.Analysis Decompiler Timeout (sec)|60|
|Demangler Microsoft|true|
|Demangler Microsoft.Apply Function Calling Conventions|true|
|Demangler Microsoft.Apply Function Signatures|true|
|Demangler Microsoft.C-Style Symbol Interpretation|FUNCTION_IF_EXISTS|
|Demangler Microsoft.Demangle Only Known Mangled Symbols|false|
|Disassemble Entry Points|true|
|Disassemble Entry Points.Respect Execute Flag|true|
|Embedded Media|true|
|Embedded Media.Create Analysis Bookmarks|true|
|External Entry References|true|
|Function ID|true|
|Function ID.Always Apply FID Labels|false|
|Function ID.Create Analysis Bookmarks|true|
|Function ID.Instruction Count Threshold|14.6|
|Function ID.Multiple Match Threshold|30.0|
|Function Start Search|true|
|Function Start Search.Bookmark Functions|false|
|Function Start Search.Search Data Blocks|false|
|Non-Returning Functions - Discovered|true|
|Non-Returning Functions - Discovered.Create Analysis Bookmarks|true|
|Non-Returning Functions - Discovered.Function Non-return Threshold|3|
|Non-Returning Functions - Discovered.Repair Flow Damage|true|
|Non-Returning Functions - Known|true|
|Non-Returning Functions - Known.Create Analysis Bookmarks|true|
|PDB MSDIA|false|
|PDB MSDIA.Search untrusted symbol servers|false|
|PDB Universal|true|
|PDB Universal.Import Source Line Info|true|
|PDB Universal.Search untrusted symbol servers|false|
|Reference|true|
|Reference.Address Table Alignment|1|
|Reference.Address Table Minimum Size|2|
|Reference.Align End of Strings|false|
|Reference.Ascii String References|true|
|Reference.Create Address Tables|true|
|Reference.Minimum String Length|5|
|Reference.References to Pointers|true|
|Reference.Relocation Table Guide|true|
|Reference.Respect Execute Flag|true|
|Reference.Subroutine References|true|
|Reference.Switch Table References|false|
|Reference.Unicode String References|true|
|Scalar Operand References|true|
|Scalar Operand References.Relocation Table Guide|true|
|Shared Return Calls|true|
|Shared Return Calls.Allow Conditional Jumps|false|
|Shared Return Calls.Assume Contiguous Functions Only|true|
|Stack|true|
|Stack.Create Local Variables|true|
|Stack.Create Param Variables|false|
|Stack.Max Threads|2|
|Subroutine References|true|
|Subroutine References.Create Thunks Early|true|
|Variadic Function Signature Override|false|
|Variadic Function Signature Override.Create Analysis Bookmarks|false|
|Windows x86 PE Exception Handling|true|
|Windows x86 PE RTTI Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer.Starting Address of the TEB||
|Windows x86 Thread Environment Block (TEB) Analyzer.Windows OS Version|Windows 7|
|WindowsPE x86 Propagate External Parameters|false|
|WindowsResourceReference|true|
|WindowsResourceReference.Create Analysis Bookmarks|true|
|x86 Constant Reference Analyzer|true|
|x86 Constant Reference Analyzer.Create Data from pointer|false|
|x86 Constant Reference Analyzer.Function parameter/return Pointer analysis|true|
|x86 Constant Reference Analyzer.Max Threads|2|
|x86 Constant Reference Analyzer.Min absolute reference|4|
|x86 Constant Reference Analyzer.Require pointer param data type|false|
|x86 Constant Reference Analyzer.Speculative reference max|256|
|x86 Constant Reference Analyzer.Speculative reference min|1024|
|x86 Constant Reference Analyzer.Stored Value Pointer analysis|true|
|x86 Constant Reference Analyzer.Trust values read from writable memory|true|

</details>

## Diff Stats



|Stat|Value|
| :---: | :---: |
|added_funcs_len|38|
|deleted_funcs_len|0|
|modified_funcs_len|37|
|added_symbols_len|52|
|deleted_symbols_len|33|
|diff_time|14.173440933227539|
|deleted_strings_len|0|
|added_strings_len|0|
|match_types|Counter({'SymbolsHash': 2307, 'ExternalsName': 227, 'SigCallingCalledHasher': 3, 'BulkBasicBlockMnemonicHash': 3, 'ExactInstructionsFunctionHasher': 2, 'Implied Match': 1})|
|items_to_process|160|
|diff_types|Counter({'address': 35, 'refcount': 34, 'calling': 28, 'length': 4, 'code': 3, 'called': 3, 'name': 3, 'fullname': 3, 'sig': 3, 'parent': 3})|
|unmatched_funcs_len|38|
|total_funcs_len|4694|
|matched_funcs_len|4656|
|matched_funcs_with_code_changes_len|3|
|matched_funcs_with_non_code_changes_len|34|
|matched_funcs_no_changes_len|4619|
|match_func_similarity_percent|99.2053%|
|func_match_overall_percent|99.1905%|
|first_matches|Counter({'SymbolsHash': 2307, 'SigCallingCalledHasher': 3, 'BulkBasicBlockMnemonicHash': 3, 'ExactInstructionsFunctionHasher': 2, 'Implied Match': 1})|



```mermaid
pie showData
    title All Matches
"SymbolsHash" : 2307
"ExternalsName" : 227
"ExactInstructionsFunctionHasher" : 2
"SigCallingCalledHasher" : 3
"BulkBasicBlockMnemonicHash" : 3
"Implied-Match" : 1
```



```mermaid
pie showData
    title First Matches
"SymbolsHash" : 2307
"ExactInstructionsFunctionHasher" : 2
"SigCallingCalledHasher" : 3
"BulkBasicBlockMnemonicHash" : 3
"Implied-Match" : 1
```



```mermaid
pie showData
    title Diff Stats
"added_funcs_len" : 38
"deleted_funcs_len" : 0
"modified_funcs_len" : 37
```



```mermaid
pie showData
    title Symbols
"added_symbols_len" : 52
"deleted_symbols_len" : 33
```

## Strings


*No string differences found*

# Deleted

# Added

## wil::details::`dynamic_initializer_for_'g_enabledStateManager''

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|`dynamic_initializer_for_'g_enabledStateManager''|
|fullname|wil::details::`dynamic_initializer_for_'g_enabledStateManager''|
|refcount|3|
|length|32|
|called|atexit<br>wil::details::EnabledStateManager::EnabledStateManager|
|calling||
|paramcount|0|
|address|180001e10|
|sig|undefined __fastcall `dynamic_initializer_for_'g_enabledStateManager''(void)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil::details::`dynamic_initializer_for_'g_enabledStateManager''
+++ wil::details::`dynamic_initializer_for_'g_enabledStateManager''
@@ -0,0 +1,9 @@
+
+void wil::details::_dynamic_initializer_for__g_enabledStateManager__(void)
+
+{
+  EnabledStateManager::EnabledStateManager((EnabledStateManager *)&g_enabledStateManager);
+  atexit(_dynamic_atexit_destructor_for__g_enabledStateManager__);
+  return;
+}
+

```


## wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|`dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''|
|fullname|wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''|
|refcount|2|
|length|15|
|called||
|calling||
|paramcount|0|
|address|180001e90|
|sig|undefined __fastcall `dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''(void)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''
+++ wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingSRUMFeatureReporting''
@@ -0,0 +1,9 @@
+
+void wil::details::_dynamic_initializer_for__g_header_init_InitializeStagingSRUMFeatureReporting__
+               (void)
+
+{
+  g_wil_details_RecordSRUMFeatureUsage = RecordSRUMFeatureUsage;
+  return;
+}
+

```


## wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|EnsureCoalescedTimer<class_wil::details::EnabledStateManager>|
|fullname|wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>|
|refcount|2|
|length|159|
|called|API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::CreateThreadpoolTimer<br>API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::SetThreadpoolTimer<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset<br>wil::last_error_context::last_error_context<br>wil::last_error_context::~last_error_context|
|calling|wil::details::EnabledStateManager::QueueBackgroundUsageReporting|
|paramcount|3|
|address|1800355ac|
|sig|void __cdecl EnsureCoalescedTimer<class_wil::details::EnabledStateManager>(unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>_> * param_1, bool * param_2, EnabledStateManager * param_3)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>
+++ wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>
@@ -0,0 +1,40 @@
+
+/* void __cdecl wil::details::EnsureCoalescedTimer<class wil::details::EnabledStateManager>(class
+   wil::unique_any_t<class wil::details::unique_storage<struct wil::details::resource_policy<struct
+   _TP_TIMER * __ptr64,void (__cdecl*)(struct _TP_TIMER * __ptr64),&public: static void __cdecl
+   wil::details::DestroyThreadPoolTimer<struct
+   wil::details::SystemThreadPoolMethods,0>::Destroy(struct _TP_TIMER * __ptr64),struct
+   wistd::integral_constant<unsigned __int64,0>,struct _TP_TIMER * __ptr64,struct _TP_TIMER *
+   __ptr64,0,std::nullptr_t> > > & __ptr64,bool & __ptr64,class wil::details::EnabledStateManager *
+   __ptr64) */
+
+void __cdecl
+wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>
+          (unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>_>
+           *param_1,bool *param_2,EnabledStateManager *param_3)
+
+{
+  PTP_TIMER p_Var1;
+  _FILETIME local_res10;
+  
+  if (*param_2 == false) {
+    if (*(longlong *)param_1 == 0) {
+      last_error_context::last_error_context((last_error_context *)&local_res10);
+      p_Var1 = CreateThreadpoolTimer
+                         (<lambda_0374aa0a5d1201b2358c6bce99369c58>::<lambda_invoker_cdecl>,param_3,
+                          (PTP_CALLBACK_ENVIRON)0x0);
+      unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+      ::reset((unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+               *)param_1,p_Var1);
+      last_error_context::~last_error_context((last_error_context *)&local_res10);
+    }
+    if (*(PTP_TIMER *)param_1 != (PTP_TIMER)0x0) {
+      local_res10.dwLowDateTime = 0x4d2fa200;
+      local_res10.dwHighDateTime = 0xffffffff;
+      SetThreadpoolTimer(*(PTP_TIMER *)param_1,&local_res10,0,75000);
+      *param_2 = true;
+    }
+  }
+  return;
+}
+

```


## wil::details::EnabledStateManager::EnabledStateManager

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|EnabledStateManager|
|fullname|wil::details::EnabledStateManager::EnabledStateManager|
|refcount|1|
|length|70|
|called||
|calling|wil::details::`dynamic_initializer_for_'g_enabledStateManager''|
|paramcount|1|
|address|180035e58|
|sig|undefined __thiscall EnabledStateManager(EnabledStateManager * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::EnabledStateManager
+++ wil::details::EnabledStateManager::EnabledStateManager
@@ -0,0 +1,26 @@
+
+/* public: __cdecl wil::details::EnabledStateManager::EnabledStateManager(void) __ptr64 */
+
+EnabledStateManager * __thiscall
+wil::details::EnabledStateManager::EnabledStateManager(EnabledStateManager *this)
+
+{
+  *(undefined4 *)this = 0;
+  *(undefined8 *)(this + 8) = 0;
+  *(undefined8 *)(this + 0x10) = 0;
+  this[0x18] = (EnabledStateManager)0x0;
+  *(undefined4 *)(this + 0x1c) = 0;
+  *(undefined8 *)(this + 0x20) = 0;
+  *(undefined8 *)(this + 0x28) = 0;
+  *(undefined8 *)(this + 0x30) = 0;
+  *(undefined8 *)(this + 0x38) = 0;
+  *(undefined8 *)(this + 0x40) = 0;
+  *(undefined8 *)(this + 0x48) = 0;
+  *(undefined8 *)(this + 0x50) = 0;
+  *(undefined8 *)(this + 0x58) = 0;
+  *(undefined8 *)(this + 0x60) = 0;
+  *(undefined8 *)(this + 0x68) = 0;
+  *(undefined4 *)this = 1;
+  return this;
+}
+

```


## wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>|
|fullname|wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>|
|refcount|3|
|length|23|
|called|wil::details::WilApi_UnsubscribeFeatureStateChangeNotification|
|calling|wil::details::EnabledStateManager::~EnabledStateManager|
|paramcount|1|
|address|1800360c0|
|sig|void __thiscall ~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>(unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_> * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+++ wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
@@ -0,0 +1,30 @@
+
+/* public: __cdecl wil::details::unique_storage<struct wil::details::resource_policy<struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64,void (__cdecl*)(struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64),&void __cdecl
+   wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64),struct wistd::integral_constant<unsigned
+   __int64,0>,struct FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64,struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64,0,std::nullptr_t> >::~unique_storage<struct
+   wil::details::resource_policy<struct FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64,void
+   (__cdecl*)(struct FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64),&void __cdecl
+   wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64),struct wistd::integral_constant<unsigned
+   __int64,0>,struct FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64,struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64,0,std::nullptr_t> >(void) __ptr64 */
+
+void __thiscall
+wil::details::
+unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+::
+~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+          (unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+           *this)
+
+{
+  if (*(FEATURE_STATE_CHANGE_SUBSCRIPTION__ **)this != (FEATURE_STATE_CHANGE_SUBSCRIPTION__ *)0x0) {
+    WilApi_UnsubscribeFeatureStateChangeNotification(*(FEATURE_STATE_CHANGE_SUBSCRIPTION__ **)this);
+  }
+  return;
+}
+

```


## wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|fullname|wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|refcount|8|
|length|29|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive|
|calling|wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::OnStateChange<br>wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState|
|paramcount|1|
|address|1800360e0|
|sig|void __thiscall ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>(unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+++ wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
@@ -0,0 +1,25 @@
+
+/* public: __cdecl wil::details::unique_storage<struct wil::details::resource_policy<struct
+   _RTL_SRWLOCK * __ptr64,void (__cdecl*)(struct _RTL_SRWLOCK * __ptr64),&void __cdecl
+   ReleaseSRWLockExclusive(struct _RTL_SRWLOCK * __ptr64),struct wistd::integral_constant<unsigned
+   __int64,1>,struct _RTL_SRWLOCK * __ptr64,struct _RTL_SRWLOCK * __ptr64,0,std::nullptr_t>
+   >::~unique_storage<struct wil::details::resource_policy<struct _RTL_SRWLOCK * __ptr64,void
+   (__cdecl*)(struct _RTL_SRWLOCK * __ptr64),&void __cdecl ReleaseSRWLockExclusive(struct
+   _RTL_SRWLOCK * __ptr64),struct wistd::integral_constant<unsigned __int64,1>,struct _RTL_SRWLOCK *
+   __ptr64,struct _RTL_SRWLOCK * __ptr64,0,std::nullptr_t> >(void) __ptr64 */
+
+void __thiscall
+wil::details::
+unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+::
+~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+          (unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+           *this)
+
+{
+  if (*(PSRWLOCK *)this != (PSRWLOCK)0x0) {
+    ReleaseSRWLockExclusive(*(PSRWLOCK *)this);
+  }
+  return;
+}
+

```


## wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>|
|fullname|wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>|
|refcount|3|
|length|22|
|called|wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy|
|calling|wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::~EnabledStateManager|
|paramcount|1|
|address|180036104|
|sig|void __thiscall ~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>(unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_> * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+++ wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
@@ -0,0 +1,29 @@
+
+/* public: __cdecl wil::details::unique_storage<struct wil::details::resource_policy<struct
+   _TP_TIMER * __ptr64,void (__cdecl*)(struct _TP_TIMER * __ptr64),&public: static void __cdecl
+   wil::details::DestroyThreadPoolTimer<struct
+   wil::details::SystemThreadPoolMethods,0>::Destroy(struct _TP_TIMER * __ptr64),struct
+   wistd::integral_constant<unsigned __int64,0>,struct _TP_TIMER * __ptr64,struct _TP_TIMER *
+   __ptr64,0,std::nullptr_t> >::~unique_storage<struct wil::details::resource_policy<struct
+   _TP_TIMER * __ptr64,void (__cdecl*)(struct _TP_TIMER * __ptr64),&public: static void __cdecl
+   wil::details::DestroyThreadPoolTimer<struct
+   wil::details::SystemThreadPoolMethods,0>::Destroy(struct _TP_TIMER * __ptr64),struct
+   wistd::integral_constant<unsigned __int64,0>,struct _TP_TIMER * __ptr64,struct _TP_TIMER *
+   __ptr64,0,std::nullptr_t> >(void) __ptr64 */
+
+void __thiscall
+wil::details::
+unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+::
+~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+          (unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+           *this)
+
+{
+  if (*(_TP_TIMER **)this != (_TP_TIMER *)0x0) {
+    DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy
+              (*(_TP_TIMER **)this);
+  }
+  return;
+}
+

```


## wil::details::EnabledStateManager::~EnabledStateManager

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|~EnabledStateManager|
|fullname|wil::details::EnabledStateManager::~EnabledStateManager|
|refcount|2|
|length|113|
|called|wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::FreeProcessHeap<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_><br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>|
|calling|wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''|
|paramcount|1|
|address|180036130|
|sig|void __thiscall ~EnabledStateManager(EnabledStateManager * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::~EnabledStateManager
+++ wil::details::EnabledStateManager::~EnabledStateManager
@@ -0,0 +1,41 @@
+
+/* public: __cdecl wil::details::EnabledStateManager::~EnabledStateManager(void) __ptr64 */
+
+void __thiscall wil::details::EnabledStateManager::~EnabledStateManager(EnabledStateManager *this)
+
+{
+  void *pvVar1;
+  
+  *(undefined4 *)this = 0;
+  unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+  ::reset((unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+           *)(this + 0x10),(_TP_TIMER *)0x0);
+  ProcessShutdown(this);
+  unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+              *)(this + 0x68));
+  unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>
+              *)(this + 0x60));
+  pvVar1 = *(void **)(this + 0x58);
+  *(undefined8 *)(this + 0x58) = 0;
+  if (pvVar1 != (void *)0x0) {
+    FreeProcessHeap(pvVar1);
+  }
+  pvVar1 = *(void **)(this + 0x38);
+  *(undefined8 *)(this + 0x38) = 0;
+  if (pvVar1 != (void *)0x0) {
+    FreeProcessHeap(pvVar1);
+  }
+  unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+              *)(this + 0x10));
+  return;
+}
+

```


## wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|Destroy|
|fullname|wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy|
|refcount|3|
|length|64|
|called|API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::SetThreadpoolTimer<br>API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::WaitForThreadpoolTimerCallbacks|
|calling|wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>|
|paramcount|1|
|address|180036c04|
|sig|void __cdecl Destroy(_TP_TIMER * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy
+++ wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy
@@ -0,0 +1,17 @@
+
+/* public: static void __cdecl wil::details::DestroyThreadPoolTimer<struct
+   wil::details::SystemThreadPoolMethods,0>::Destroy(struct _TP_TIMER * __ptr64) */
+
+void __cdecl
+wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy
+          (_TP_TIMER *param_1)
+
+{
+  SetThreadpoolTimer(param_1,(PFILETIME)0x0,0,0);
+  WaitForThreadpoolTimerCallbacks(param_1,1);
+                    /* WARNING: Could not recover jumptable at 0x000180036c3d. Too many branches */
+                    /* WARNING: Treating indirect jump as call */
+  CloseThreadpoolTimer(param_1);
+  return;
+}
+

```


## wil::details::EnsureSubscribedToFeatureConfigurationChanges

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|EnsureSubscribedToFeatureConfigurationChanges|
|fullname|wil::details::EnsureSubscribedToFeatureConfigurationChanges|
|refcount|2|
|length|32|
|called|wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState|
|paramcount|0|
|address|180036c50|
|sig|uint __cdecl EnsureSubscribedToFeatureConfigurationChanges(void)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnsureSubscribedToFeatureConfigurationChanges
+++ wil::details::EnsureSubscribedToFeatureConfigurationChanges
@@ -0,0 +1,16 @@
+
+/* unsigned int __cdecl wil::details::EnsureSubscribedToFeatureConfigurationChanges(void) */
+
+uint __cdecl wil::details::EnsureSubscribedToFeatureConfigurationChanges(void)
+
+{
+  uint uVar1;
+  
+  uVar1 = DAT_1800ddf54;
+  if (DAT_1800ddf54 == 0) {
+    uVar1 = EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl
+                      ((EnabledStateManager *)&g_enabledStateManager);
+  }
+  return uVar1;
+}
+

```


## wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|EnsureSubscribedToFeatureConfigurationChangesImpl|
|fullname|wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl|
|refcount|2|
|length|151|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>_guard_dispatch_icall$thunk$10345483385596137414<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|calling|wil::details::EnsureSubscribedToFeatureConfigurationChanges|
|paramcount|1|
|address|180036c78|
|sig|uint __thiscall EnsureSubscribedToFeatureConfigurationChangesImpl(EnabledStateManager * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl
+++ wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl
@@ -0,0 +1,54 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* private: unsigned int __cdecl
+   wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl(void)
+   __ptr64 */
+
+uint __thiscall
+wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl
+          (EnabledStateManager *this)
+
+{
+  EnabledStateManager *SRWLock;
+  EnabledStateManager *pEVar1;
+  uint uVar2;
+  code *pcVar3;
+  EnabledStateManager *local_res8;
+  
+  if (*(int *)this == 0) {
+    uVar2 = 0;
+  }
+  else {
+    SRWLock = this + 8;
+    AcquireSRWLockExclusive((PSRWLOCK)SRWLock);
+    pEVar1 = this + 0x60;
+    local_res8 = SRWLock;
+    if (*(longlong *)pEVar1 == 0) {
+      *(longlong *)pEVar1 = 0;
+      pcVar3 = g_wil_details_internalSubscribeFeatureStateChangeNotification;
+      if ((g_wil_details_internalSubscribeFeatureStateChangeNotification != (code *)0x0) ||
+         (pcVar3 = g_wil_details_apiSubscribeFeatureStateChangeNotification,
+         g_wil_details_apiSubscribeFeatureStateChangeNotification != (code *)0x0)) {
+        (*pcVar3)(pEVar1,<lambda_fee8cea507d2413a58be13acfb66740a>::<lambda_invoker_cdecl>,this);
+      }
+      if (*(longlong *)pEVar1 == 0) {
+        uVar2 = 0;
+      }
+      else {
+        uVar2 = 1;
+        *(undefined4 *)(this + 0x1c) = 1;
+      }
+    }
+    else {
+      uVar2 = *(uint *)(this + 0x1c);
+    }
+    unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+    ::
+    ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+                *)&local_res8);
+  }
+  return uVar2;
+}
+

```


## wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|EnsureSubscribedToUsageFlush|
|fullname|wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush|
|refcount|2|
|length|128|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>_guard_dispatch_icall$thunk$10345483385596137414<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|calling|wil::details::ReportUsageToServiceDirect|
|paramcount|2|
|address|180036d18|
|sig|void __thiscall EnsureSubscribedToUsageFlush(EnabledStateManager * this, _func_void_void_ptr * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush
+++ wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush
@@ -0,0 +1,39 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* public: void __cdecl wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush(void
+   (__cdecl*)(void * __ptr64)) __ptr64 */
+
+void __thiscall
+wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush
+          (EnabledStateManager *this,_func_void_void_ptr *param_1)
+
+{
+  EnabledStateManager *SRWLock;
+  EnabledStateManager *pEVar1;
+  code *pcVar2;
+  EnabledStateManager *local_res8;
+  
+  if (*(int *)this != 0) {
+    SRWLock = this + 8;
+    AcquireSRWLockExclusive((PSRWLOCK)SRWLock);
+    pEVar1 = this + 0x68;
+    local_res8 = SRWLock;
+    if (*(longlong *)pEVar1 == 0) {
+      *(longlong *)pEVar1 = 0;
+      pcVar2 = g_wil_details_internalSubscribeFeatureStateChangeNotification;
+      if ((g_wil_details_internalSubscribeFeatureStateChangeNotification != (code *)0x0) ||
+         (pcVar2 = g_wil_details_apiSubscribeFeatureStateChangeNotification,
+         g_wil_details_apiSubscribeFeatureStateChangeNotification != (code *)0x0)) {
+        (*pcVar2)(pEVar1,param_1,0xffffffffffffffff);
+      }
+    }
+    unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+    ::
+    ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+                *)&local_res8);
+  }
+  return;
+}
+

```


## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|GetCachedFeatureEnabledState|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState|
|refcount|3|
|length|296|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>wil::details::EnsureSubscribedToFeatureConfigurationChanges<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_><br>wil::details_abi::heap_buffer::push_back|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled|
|paramcount|1|
|address|180036da0|
|sig|wil_details_FeatureStateCache __thiscall GetCachedFeatureEnabledState(FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState
@@ -0,0 +1,83 @@
+
+/* WARNING: Removing unreachable block (ram,0x000180036dfb) */
+/* WARNING: Removing unreachable block (ram,0x000180036e00) */
+/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
+/* private: union wil_details_FeatureStateCache __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState(void) __ptr64 */
+
+void __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::
+GetCachedFeatureEnabledState(FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> *this)
+
+{
+  uint uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  uint *in_RDX;
+  __uint64 _Var5;
+  bool bVar6;
+  uint local_res18 [2];
+  undefined *local_res20;
+  undefined4 local_38;
+  undefined4 local_34;
+  undefined4 *local_30;
+  
+  in_RDX[0] = 0;
+  uVar3 = Feature_3010967866__private_cppFeatureState;
+  in_RDX[1] = 0;
+  *in_RDX = Feature_3010967866__private_cppFeatureState;
+  if (((byte)uVar3 & 6) == 6) {
+    return;
+  }
+  uVar2 = EnsureSubscribedToFeatureConfigurationChanges();
+  GetCurrentFeatureEnabledState(this,(int *)local_res18);
+  uVar3 = *in_RDX;
+  do {
+    uVar1 = uVar3;
+    _Var5 = (__uint64)uVar1;
+    uVar4 = uVar1 | 0x40000;
+    *in_RDX = uVar4;
+    if ((uVar1 & 4) == 0) {
+      uVar4 = uVar1 & 0xfffffbff | 0x40000 | local_res18[0] & 0x400 | 4;
+      *in_RDX = uVar4;
+    }
+    LOCK();
+    bVar6 = uVar1 != Feature_3010967866__private_cppFeatureState;
+    uVar3 = uVar1;
+    if (bVar6) {
+      uVar3 = Feature_3010967866__private_cppFeatureState;
+      uVar4 = Feature_3010967866__private_cppFeatureState;
+    }
+    Feature_3010967866__private_cppFeatureState = uVar4;
+    UNLOCK();
+  } while (bVar6);
+  if (((uVar1 & 4) != 0) || (_g_enabledStateManager == 0)) goto LAB_180036ea1;
+  AcquireSRWLockExclusive((PSRWLOCK)&DAT_1800ddf40);
+  local_res20 = &DAT_1800ddf40;
+  if ((uVar2 == 0) || (uVar2 != DAT_1800ddf54)) {
+LAB_180036e94:
+    LOCK();
+    Feature_3010967866__private_cppFeatureState =
+         Feature_3010967866__private_cppFeatureState & 0xfffffffb;
+    UNLOCK();
+  }
+  else {
+    local_34 = 0;
+    local_38 = 3;
+    local_30 = &Feature_3010967866__private_cppFeatureState;
+    bVar6 = details_abi::heap_buffer::push_back((heap_buffer *)&DAT_1800ddf78,&local_38,_Var5);
+    if (!bVar6) goto LAB_180036e94;
+  }
+  unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              *)&local_res20);
+LAB_180036ea1:
+  if ((*in_RDX & 2) == 0) {
+    *in_RDX = *in_RDX & 0xfffff63e | local_res18[0] & 0x9c1;
+  }
+  return;
+}
+

```


## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|GetCurrentFeatureEnabledState|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState|
|refcount|2|
|length|195|
|called|_guard_dispatch_icall$thunk$10345483385596137414|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState|
|paramcount|2|
|address|180036ed0|
|sig|wil_details_FeatureStateCache __thiscall GetCurrentFeatureEnabledState(FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> * this, int * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState
@@ -0,0 +1,52 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* private: union wil_details_FeatureStateCache __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_3010967866>::GetCurrentFeatureEnabledState(int * __ptr64) __ptr64 */
+
+int * __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::
+GetCurrentFeatureEnabledState
+          (FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> *this,int *param_1)
+
+{
+  uint uVar1;
+  bool bVar2;
+  uint uVar3;
+  code *pcVar4;
+  uint uVar5;
+  
+  pcVar4 = g_wil_details_internalGetFeatureEnabledState;
+  if ((g_wil_details_internalGetFeatureEnabledState == (code *)0x0) &&
+     (pcVar4 = g_wil_details_apiGetFeatureEnabledState,
+     g_wil_details_apiGetFeatureEnabledState == (code *)0x0)) {
+    uVar3 = 0;
+  }
+  else {
+    uVar3 = (*pcVar4)(0x3b283f2,3);
+  }
+  param_1[0] = 0;
+  param_1[1] = 0;
+  uVar1 = (((uVar3 & 3) << 2 | uVar3 & 0x40) << 2 | uVar3 & 0x80) * 8;
+  *param_1 = uVar1;
+  if ((uVar3 & 0xffffff3f) == 0) {
+    uVar5 = 0x40;
+  }
+  else {
+    uVar5 = 0;
+    if ((uVar3 & 0xffffff3f) == 2) {
+      uVar5 = 0x40;
+    }
+  }
+  bVar2 = false;
+  uVar3 = 1;
+  if (((uVar1 & 0xc00) == 0xc00) || (uVar5 != 0)) {
+    bVar2 = true;
+  }
+  if ((uVar5 == 0) || (!bVar2)) {
+    uVar3 = 0;
+  }
+  *param_1 = uVar5 | uVar1 | uVar3;
+  return param_1;
+}
+

```


## wil::details::GetFeatureEnabledStateHelper

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|GetFeatureEnabledStateHelper|
|fullname|wil::details::GetFeatureEnabledStateHelper|
|refcount|3|
|length|60|
|called|wil_HasFeatureTestState|
|calling||
|paramcount|3|
|address|180036fa0|
|sig|FEATURE_ENABLED_STATE __cdecl GetFeatureEnabledStateHelper(uint param_1, FEATURE_CHANGE_TIME param_2, int * param_3)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::GetFeatureEnabledStateHelper
+++ wil::details::GetFeatureEnabledStateHelper
@@ -0,0 +1,26 @@
+
+/* enum FEATURE_ENABLED_STATE __cdecl wil::details::GetFeatureEnabledStateHelper(unsigned int,enum
+   FEATURE_CHANGE_TIME,int * __ptr64) */
+
+FEATURE_ENABLED_STATE __cdecl
+wil::details::GetFeatureEnabledStateHelper(uint param_1,FEATURE_CHANGE_TIME param_2,int *param_3)
+
+{
+  FEATURE_ENABLED_STATE FVar1;
+  undefined8 uVar2;
+  undefined4 in_register_0000000c;
+  FEATURE_ENABLED_STATE local_res20 [2];
+  
+  local_res20[0] = 0;
+  uVar2 = wil_HasFeatureTestState(CONCAT44(in_register_0000000c,param_1),local_res20);
+  if ((int)uVar2 != 0) {
+    *param_3 = 0;
+    return local_res20[0];
+  }
+  *param_3 = 1;
+                    /* WARNING: Could not recover jumptable at 0x000180036fd6. Too many branches */
+                    /* WARNING: Treating indirect jump as call */
+  FVar1 = GetFeatureEnabledState();
+  return FVar1;
+}
+

```


## wil::details::EnabledStateManager::OnStateChange

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|OnStateChange|
|fullname|wil::details::EnabledStateManager::OnStateChange|
|refcount|2|
|length|133|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|calling||
|paramcount|1|
|address|18003c218|
|sig|void __thiscall OnStateChange(EnabledStateManager * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::OnStateChange
+++ wil::details::EnabledStateManager::OnStateChange
@@ -0,0 +1,35 @@
+
+/* public: void __cdecl wil::details::EnabledStateManager::OnStateChange(void) __ptr64 */
+
+void __thiscall wil::details::EnabledStateManager::OnStateChange(EnabledStateManager *this)
+
+{
+  int *piVar1;
+  int iVar2;
+  int *piVar3;
+  EnabledStateManager *local_res8;
+  
+  if (*(int *)this != 0) {
+    AcquireSRWLockExclusive((PSRWLOCK)(this + 8));
+    piVar1 = *(int **)(this + 0x48);
+    for (piVar3 = *(int **)(this + 0x40); piVar3 != piVar1; piVar3 = piVar3 + 4) {
+      LOCK();
+      **(uint **)(piVar3 + 2) = **(uint **)(piVar3 + 2) & (-(uint)(*piVar3 != 0) & 0x83a) - 0x83f;
+      UNLOCK();
+    }
+    *(undefined8 *)(this + 0x48) = *(undefined8 *)(this + 0x40);
+    iVar2 = 1;
+    if (*(int *)(this + 0x1c) + 1 != 0) {
+      iVar2 = *(int *)(this + 0x1c) + 1;
+    }
+    *(int *)(this + 0x1c) = iVar2;
+    local_res8 = this + 8;
+    unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+    ::
+    ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+                *)&local_res8);
+  }
+  return;
+}
+

```


## wil::details::EnabledStateManager::ProcessShutdown

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|ProcessShutdown|
|fullname|wil::details::EnabledStateManager::ProcessShutdown|
|refcount|3|
|length|108|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>wil::details::EnabledStateManager::RecordCachedUsageUnderLock<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_><br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>|
|calling|wil::details::EnabledStateManager::~EnabledStateManager<br>wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''|
|paramcount|1|
|address|18003c300|
|sig|void __thiscall ProcessShutdown(EnabledStateManager * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::ProcessShutdown
+++ wil::details::EnabledStateManager::ProcessShutdown
@@ -0,0 +1,33 @@
+
+/* public: void __cdecl wil::details::EnabledStateManager::ProcessShutdown(void) __ptr64 */
+
+void __thiscall wil::details::EnabledStateManager::ProcessShutdown(EnabledStateManager *this)
+
+{
+  unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>_>
+  *in_RDX;
+  undefined8 local_res8;
+  EnabledStateManager *local_res10;
+  
+  *(undefined4 *)this = 0;
+  local_res8 = *(undefined8 *)(this + 0x10);
+  *(undefined8 *)(this + 0x10) = 0;
+  AcquireSRWLockExclusive((PSRWLOCK)(this + 8));
+  local_res10 = this + 8;
+  RecordCachedUsageUnderLock(this,in_RDX);
+  unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              *)&local_res10);
+  unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+  ::reset((unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+           *)&local_res8,(_TP_TIMER *)0x0);
+  unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+              *)&local_res8);
+  return;
+}
+

```


## wil::details::EnabledStateManager::QueueBackgroundUsageReporting

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|QueueBackgroundUsageReporting|
|fullname|wil::details::EnabledStateManager::QueueBackgroundUsageReporting|
|refcount|2|
|length|146|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>wil::ProcessShutdownInProgress<br>wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager><br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_><br>wil::details_abi::heap_buffer::push_back|
|calling|wil::details::ReportUsageToServiceDirect|
|paramcount|3|
|address|18003c374|
|sig|void __thiscall QueueBackgroundUsageReporting(EnabledStateManager * this, uint param_1, wil_details_FeatureReportingCache * param_2)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::QueueBackgroundUsageReporting
+++ wil::details::EnabledStateManager::QueueBackgroundUsageReporting
@@ -0,0 +1,45 @@
+
+/* public: void __cdecl wil::details::EnabledStateManager::QueueBackgroundUsageReporting(unsigned
+   int,struct wil_details_FeatureReportingCache * __ptr64) __ptr64 */
+
+void __thiscall
+wil::details::EnabledStateManager::QueueBackgroundUsageReporting
+          (EnabledStateManager *this,uint param_1,wil_details_FeatureReportingCache *param_2)
+
+{
+  EnabledStateManager *SRWLock;
+  bool bVar1;
+  wil_details_FeatureReportingCache *pwVar2;
+  EnabledStateManager *local_res8;
+  undefined8 local_18;
+  wil_details_FeatureReportingCache *local_10;
+  
+  if (*(int *)this != 0) {
+    pwVar2 = param_2;
+    bVar1 = ProcessShutdownInProgress();
+    if (!bVar1) {
+      SRWLock = this + 8;
+      AcquireSRWLockExclusive((PSRWLOCK)SRWLock);
+      local_res8 = SRWLock;
+      if (*(int *)this != 0) {
+        bVar1 = ProcessShutdownInProgress();
+        if (!bVar1) {
+          local_18 = 0x3b283f2;
+          local_10 = param_2;
+          details_abi::heap_buffer::push_back
+                    ((heap_buffer *)(this + 0x20),&local_18,(__uint64)pwVar2);
+          EnsureCoalescedTimer<class_wil::details::EnabledStateManager>
+                    ((unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>_>
+                      *)(this + 0x10),(bool *)(this + 0x18),this);
+        }
+      }
+      unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+      ::
+      ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+                ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+                  *)&local_res8);
+    }
+  }
+  return;
+}
+

```


## wil::details::EnabledStateManager::RecordCachedUsageUnderLock

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|RecordCachedUsageUnderLock|
|fullname|wil::details::EnabledStateManager::RecordCachedUsageUnderLock|
|refcount|3|
|length|100|
|called|wil::details::WilApi_RecordFeatureUsage<br>wil_details_RecordCachedUsage|
|calling|wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown|
|paramcount|2|
|address|18003c410|
|sig|void __thiscall RecordCachedUsageUnderLock(EnabledStateManager * this, unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>_> * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::EnabledStateManager::RecordCachedUsageUnderLock
+++ wil::details::EnabledStateManager::RecordCachedUsageUnderLock
@@ -0,0 +1,31 @@
+
+/* private: void __cdecl wil::details::EnabledStateManager::RecordCachedUsageUnderLock(class
+   wil::unique_any_t<class wil::details::unique_storage<struct wil::details::resource_policy<struct
+   _RTL_SRWLOCK * __ptr64,void (__cdecl*)(struct _RTL_SRWLOCK * __ptr64),&void __cdecl
+   ReleaseSRWLockExclusive(struct _RTL_SRWLOCK * __ptr64),struct wistd::integral_constant<unsigned
+   __int64,1>,struct _RTL_SRWLOCK * __ptr64,struct _RTL_SRWLOCK * __ptr64,0,std::nullptr_t> > >
+   const & __ptr64) __ptr64 */
+
+void __thiscall
+wil::details::EnabledStateManager::RecordCachedUsageUnderLock
+          (EnabledStateManager *this,
+          unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>_>
+          *param_1)
+
+{
+  undefined4 *puVar1;
+  undefined4 *puVar2;
+  char *in_R9;
+  
+  puVar1 = *(undefined4 **)(this + 0x28);
+  puVar2 = *(undefined4 **)(this + 0x20);
+  if (0xf < (ulonglong)((longlong)puVar1 - (longlong)puVar2)) {
+    for (; puVar2 != puVar1; puVar2 = puVar2 + 4) {
+      wil_details_RecordCachedUsage(*puVar2,*(uint **)(puVar2 + 2));
+    }
+    *(undefined8 *)(this + 0x28) = *(undefined8 *)(this + 0x20);
+    WilApi_RecordFeatureUsage(0,0xfe,0,in_R9);
+  }
+  return;
+}
+

```


## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|ReportUsage|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage|
|refcount|2|
|length|219|
|called|_guard_dispatch_icall$thunk$10345483385596137414<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState<br>wil::details::ReportUsageToServiceDirect<br>wil_details_MapReportingKind|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled|
|paramcount|4|
|address|18003c490|
|sig|void __thiscall ReportUsage(FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> * this, bool param_1, ReportingKind param_2, __uint64 param_3)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage
@@ -0,0 +1,49 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* public: void __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_3010967866>::ReportUsage(bool,enum wil::ReportingKind,unsigned
+   __int64) __ptr64 */
+
+void __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage
+          (FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> *this,bool param_1,
+          ReportingKind param_2,__uint64 param_3)
+
+{
+  wil_details_ServiceReportingKind wVar1;
+  int iVar2;
+  ulonglong *puVar3;
+  uint uVar4;
+  ulonglong uVar5;
+  undefined4 local_res8;
+  undefined2 local_resc;
+  undefined4 local_res18 [2];
+  __uint64 local_res20;
+  uint in_stack_ffffffffffffffb0;
+  undefined1 in_stack_ffffffffffffffb8;
+  undefined7 in_stack_ffffffffffffffb9;
+  
+  local_res18[0] = CONCAT31(local_res18[0]._1_3_,(char)param_2);
+  uVar5 = (ulonglong)Feature_3010967866__private_cppFeatureState;
+  local_res20 = param_3;
+  if ((Feature_3010967866__private_cppFeatureState & 4) == 0) {
+    puVar3 = (ulonglong *)GetCachedFeatureEnabledState(this);
+    local_res20 = *puVar3;
+    uVar5 = local_res20 & 0xffffffff;
+  }
+  local_resc = 2;
+  local_res8 = 0;
+  local_res18[0] = 3;
+  uVar4 = (uint)param_1;
+  wVar1 = wil_details_MapReportingKind(3,uVar4);
+  iVar2 = ReportUsageToServiceDirect
+                    ((wil_details_FeatureReportingCache *)(this + 8),uVar4,(uint)uVar5 >> 10 & 1,
+                     (uint)(uVar5 >> 0xb) & 1,wVar1,in_stack_ffffffffffffffb0,
+                     CONCAT71(in_stack_ffffffffffffffb9,in_stack_ffffffffffffffb8),'\x02');
+  if ((iVar2 != 0) && (g_wil_details_pfnFeatureLoggingHook != (code *)0x0)) {
+    (*g_wil_details_pfnFeatureLoggingHook)(0x3b283f2,&local_res8,0,param_1,local_res18,0,0,1);
+  }
+  return;
+}
+

```


## wil::details::ReportUsageToServiceDirect

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|ReportUsageToServiceDirect|
|fullname|wil::details::ReportUsageToServiceDirect|
|refcount|2|
|length|315|
|called|_guard_dispatch_icall$thunk$10345483385596137414<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::WilApi_RecordFeatureUsage<br>wil_details_FeatureReporting_RecordUsageInCache|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage|
|paramcount|8|
|address|18003c574|
|sig|int __cdecl ReportUsageToServiceDirect(wil_details_FeatureReportingCache * param_1, uint param_2, int param_3, int param_4, wil_details_ServiceReportingKind param_5, uint param_6, __uint64 param_7, uchar param_8)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::ReportUsageToServiceDirect
+++ wil::details::ReportUsageToServiceDirect
@@ -0,0 +1,72 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* int __cdecl wil::details::ReportUsageToServiceDirect(struct wil_details_FeatureReportingCache *
+   __ptr64,unsigned int,int,int,enum wil_details_ServiceReportingKind,unsigned int,unsigned
+   __int64,unsigned char) */
+
+int __cdecl
+wil::details::ReportUsageToServiceDirect
+          (wil_details_FeatureReportingCache *param_1,uint param_2,int param_3,int param_4,
+          wil_details_ServiceReportingKind param_5,uint param_6,__uint64 param_7,uchar param_8)
+
+{
+  undefined8 uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  uint *puVar5;
+  wil_details_ServiceReportingKind wVar6;
+  int iVar8;
+  int iVar9;
+  undefined4 in_register_0000008c;
+  int local_28;
+  uint local_20 [6];
+  wil_details_FeatureReportingCache *pwVar7;
+  
+  pwVar7 = param_1;
+  iVar9 = param_4;
+  puVar5 = wil_details_FeatureReporting_RecordUsageInCache
+                     (local_20,(uint *)param_1,(ulonglong)param_5);
+  wVar6 = (wil_details_ServiceReportingKind)pwVar7;
+  iVar8 = 1;
+  uVar2 = *puVar5;
+  uVar3 = puVar5[1];
+  uVar4 = puVar5[2];
+  uVar1 = *(undefined8 *)(puVar5 + 4);
+  if ((g_wil_details_RecordSRUMFeatureUsage != (code *)0x0) &&
+     ((param_5 == 0 || (param_5 - 100 < 0x32)))) {
+    wVar6 = param_5;
+    (*g_wil_details_RecordSRUMFeatureUsage)(0x3b283f2,param_5,1);
+  }
+  if (uVar2 != 0) {
+    EnabledStateManager::QueueBackgroundUsageReporting
+              ((EnabledStateManager *)&g_enabledStateManager,wVar6,param_1);
+  }
+  if (uVar3 != 0) {
+    WilApi_RecordFeatureUsage(0x3b283f2,uVar4,uVar3,(char *)CONCAT44(in_register_0000008c,iVar9));
+  }
+  local_28 = (int)uVar1;
+  if (local_28 == 0) {
+    EnabledStateManager::EnsureSubscribedToUsageFlush
+              ((EnabledStateManager *)&g_enabledStateManager,
+               <lambda_aa194dc0bf891154933407eb98fb868a>::<lambda_invoker_cdecl>);
+  }
+  if (param_3 != 0) {
+    wVar6 = param_5 | 0x80000000;
+    if (param_4 == 0) {
+      wVar6 = param_5;
+    }
+    WilApi_RecordFeatureUsage(0x3b283f2,wVar6,0,(char *)CONCAT44(in_register_0000008c,iVar9));
+  }
+  if (local_28 == 0) {
+    if (g_wil_details_realtimeFeatureUsageHook != (code *)0x0) {
+      (*g_wil_details_realtimeFeatureUsageHook)(0x3b283f2,param_5,param_8);
+    }
+  }
+  else {
+    iVar8 = 0;
+  }
+  return iVar8;
+}
+

```


## wil::details::WilApi_RecordFeatureUsage

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|WilApi_RecordFeatureUsage|
|fullname|wil::details::WilApi_RecordFeatureUsage|
|refcount|6|
|length|41|
|called|_guard_dispatch_icall$thunk$10345483385596137414|
|calling|wil::details::EnabledStateManager::RecordCachedUsageUnderLock<br>wil::details::RecordSRUMFeatureUsage<br>wil::details::ReportUsageToServiceDirect<br>wil::details::WilApi_RecordFeatureUsageReports|
|paramcount|4|
|address|18003f0cc|
|sig|void __cdecl WilApi_RecordFeatureUsage(uint param_1, uint param_2, uint param_3, char * param_4)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::WilApi_RecordFeatureUsage
+++ wil::details::WilApi_RecordFeatureUsage
@@ -0,0 +1,21 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* void __cdecl wil::details::WilApi_RecordFeatureUsage(unsigned int,unsigned int,unsigned int,char
+   const * __ptr64) */
+
+void __cdecl
+wil::details::WilApi_RecordFeatureUsage(uint param_1,uint param_2,uint param_3,char *param_4)
+
+{
+  code *pcVar1;
+  
+  pcVar1 = g_wil_details_internalRecordFeatureUsage;
+  if ((g_wil_details_internalRecordFeatureUsage != (code *)0x0) ||
+     (pcVar1 = g_wil_details_apiRecordFeatureUsage,
+     g_wil_details_apiRecordFeatureUsage != (code *)0x0)) {
+    (*pcVar1)();
+  }
+  return;
+}
+

```


## wil::details::WilApi_RecordFeatureUsageReports

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|WilApi_RecordFeatureUsageReports|
|fullname|wil::details::WilApi_RecordFeatureUsageReports|
|refcount|2|
|length|59|
|called|wil::details::WilApi_RecordFeatureUsage|
|calling|wil_details_RecordCachedUsage|
|paramcount|2|
|address|18003f0fc|
|sig|void __cdecl WilApi_RecordFeatureUsageReports(__WIL_RTL_FEATURE_USAGE_DATA * param_1, __uint64 param_2)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::WilApi_RecordFeatureUsageReports
+++ wil::details::WilApi_RecordFeatureUsageReports
@@ -0,0 +1,25 @@
+
+/* void __cdecl wil::details::WilApi_RecordFeatureUsageReports(struct __WIL_RTL_FEATURE_USAGE_DATA *
+   __ptr64,unsigned __int64) */
+
+void __cdecl
+wil::details::WilApi_RecordFeatureUsageReports
+          (__WIL_RTL_FEATURE_USAGE_DATA *param_1,__uint64 param_2)
+
+{
+  __WIL_RTL_FEATURE_USAGE_DATA *p_Var1;
+  char *in_R9;
+  
+  if (param_2 != 0) {
+    p_Var1 = param_1 + 4;
+    do {
+      WilApi_RecordFeatureUsage
+                (*(uint *)(p_Var1 + -4),(uint)*(ushort *)p_Var1,(uint)*(ushort *)(p_Var1 + 2),in_R9)
+      ;
+      p_Var1 = p_Var1 + 8;
+      param_2 = param_2 - 1;
+    } while (param_2 != 0);
+  }
+  return;
+}
+

```


## wil::details::WilApi_UnsubscribeFeatureStateChangeNotification

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|WilApi_UnsubscribeFeatureStateChangeNotification|
|fullname|wil::details::WilApi_UnsubscribeFeatureStateChangeNotification|
|refcount|2|
|length|38|
|called|_guard_dispatch_icall$thunk$10345483385596137414|
|calling|wil::details::unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,void_(__cdecl*)(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),&void___cdecl_wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,struct_FEATURE_STATE_CHANGE_SUBSCRIPTION__*___ptr64,0,std::nullptr_t>_>|
|paramcount|1|
|address|18003f140|
|sig|void __cdecl WilApi_UnsubscribeFeatureStateChangeNotification(FEATURE_STATE_CHANGE_SUBSCRIPTION__ * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::WilApi_UnsubscribeFeatureStateChangeNotification
+++ wil::details::WilApi_UnsubscribeFeatureStateChangeNotification
@@ -0,0 +1,22 @@
+
+/* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
+   guard_dispatch_icall */
+/* void __cdecl wil::details::WilApi_UnsubscribeFeatureStateChangeNotification(struct
+   FEATURE_STATE_CHANGE_SUBSCRIPTION__ * __ptr64) */
+
+void __cdecl
+wil::details::WilApi_UnsubscribeFeatureStateChangeNotification
+          (FEATURE_STATE_CHANGE_SUBSCRIPTION__ *param_1)
+
+{
+  code *pcVar1;
+  
+  pcVar1 = g_wil_details_internalUnsubscribeFeatureStateChangeNotification;
+  if ((g_wil_details_internalUnsubscribeFeatureStateChangeNotification != (code *)0x0) ||
+     (pcVar1 = g_wil_details_apiUnsubscribeFeatureStateChangeNotification,
+     g_wil_details_apiUnsubscribeFeatureStateChangeNotification != (code *)0x0)) {
+    (*pcVar1)();
+  }
+  return;
+}
+

```


## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|__private_IsEnabled|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled|
|refcount|2|
|length|53|
|called|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage|
|calling|MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|
|paramcount|1|
|address|18003f170|
|sig|bool __thiscall __private_IsEnabled(FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled
@@ -0,0 +1,18 @@
+
+/* public: bool __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_3010967866>::__private_IsEnabled(void) __ptr64 */
+
+bool __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled
+          (FeatureImpl<struct___WilFeatureTraits_Feature_3010967866> *this)
+
+{
+  ReportingKind in_R8D;
+  __uint64 in_R9;
+  undefined1 local_res10;
+  
+  GetCachedFeatureEnabledState(this);
+  ReportUsage(this,(bool)(local_res10 & 1),in_R8D,in_R9);
+  return (bool)(local_res10 & 1);
+}
+

```


## wil::details_abi::heap_buffer::push_back

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|push_back|
|fullname|wil::details_abi::heap_buffer::push_back|
|refcount|3|
|length|150|
|called|memcpy_s<br>wil::details_abi::heap_buffer::reserve|
|calling|wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState|
|paramcount|3|
|address|18003f1ac|
|sig|bool __thiscall push_back(heap_buffer * this, void * param_1, __uint64 param_2)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details_abi::heap_buffer::push_back
+++ wil::details_abi::heap_buffer::push_back
@@ -0,0 +1,32 @@
+
+/* public: bool __cdecl wil::details_abi::heap_buffer::push_back(void const * __ptr64,unsigned
+   __int64) __ptr64 */
+
+bool __thiscall
+wil::details_abi::heap_buffer::push_back(heap_buffer *this,void *param_1,__uint64 param_2)
+
+{
+  void *_Dst;
+  ulonglong uVar1;
+  bool bVar2;
+  __uint64 _Var3;
+  
+  if ((ulonglong)(*(longlong *)(this + 0x10) - *(longlong *)this) <=
+      (*(longlong *)(this + 8) - *(longlong *)this) + 0x10U) {
+    uVar1 = (*(longlong *)(this + 0x10) - *(longlong *)this) * 2;
+    _Var3 = 0x10;
+    if (0x10 < uVar1) {
+      _Var3 = uVar1;
+    }
+    bVar2 = reserve(this,_Var3);
+    if (!bVar2) {
+      return bVar2;
+    }
+  }
+  _Dst = *(void **)(this + 8);
+  memcpy_s(_Dst,-(ulonglong)(_Dst < *(void **)(this + 0x10)) &
+                *(longlong *)(this + 0x10) - (longlong)_Dst,param_1,0x10);
+  *(longlong *)(this + 8) = *(longlong *)(this + 8) + 0x10;
+  return true;
+}
+

```


## wil::details_abi::heap_buffer::reserve

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|reserve|
|fullname|wil::details_abi::heap_buffer::reserve|
|refcount|2|
|length|183|
|called|memcpy_s<br>wil::details::FreeProcessHeap<br>wil::details::ProcessHeapAlloc<br>wil::last_error_context::last_error_context<br>wil::last_error_context::~last_error_context|
|calling|wil::details_abi::heap_buffer::push_back|
|paramcount|2|
|address|18003f24c|
|sig|bool __thiscall reserve(heap_buffer * this, __uint64 param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details_abi::heap_buffer::reserve
+++ wil::details_abi::heap_buffer::reserve
@@ -0,0 +1,37 @@
+
+/* public: bool __cdecl wil::details_abi::heap_buffer::reserve(unsigned __int64) __ptr64 */
+
+bool __thiscall wil::details_abi::heap_buffer::reserve(heap_buffer *this,__uint64 param_1)
+
+{
+  longlong lVar1;
+  longlong lVar2;
+  void *pvVar3;
+  void *_Dst;
+  __uint64 _DstSize;
+  last_error_context local_res8 [8];
+  
+  if ((ulonglong)(*(longlong *)(this + 0x10) - *(longlong *)this) < param_1) {
+    last_error_context::last_error_context(local_res8);
+    _DstSize = (param_1 & 0xffffffffffffffc0) + 0x40;
+    _Dst = details::ProcessHeapAlloc(0,_DstSize);
+    if (_Dst == (void *)0x0) {
+      last_error_context::~last_error_context(local_res8);
+      return false;
+    }
+    lVar1 = *(longlong *)(this + 8);
+    lVar2 = *(longlong *)this;
+    memcpy_s(_Dst,_DstSize,*(void **)this,lVar1 - lVar2);
+    pvVar3 = *(void **)(this + 0x18);
+    *(void **)(this + 0x18) = _Dst;
+    if (pvVar3 != (void *)0x0) {
+      details::FreeProcessHeap(pvVar3);
+    }
+    *(void **)this = _Dst;
+    *(longlong *)(this + 8) = (lVar1 - lVar2) + (longlong)_Dst;
+    *(__uint64 *)(this + 0x10) = (longlong)_Dst + _DstSize;
+    last_error_context::~last_error_context(local_res8);
+  }
+  return true;
+}
+

```


## wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|reset|
|fullname|wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset|
|refcount|4|
|length|76|
|called|wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy<br>wil::last_error_context::last_error_context<br>wil::last_error_context::~last_error_context|
|calling|wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::~EnabledStateManager<br>wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>|
|paramcount|2|
|address|18003f30c|
|sig|void __thiscall reset(unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_> * this, _TP_TIMER * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset
+++ wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset
@@ -0,0 +1,28 @@
+
+/* public: void __cdecl wil::details::unique_storage<struct wil::details::resource_policy<struct
+   _TP_TIMER * __ptr64,void (__cdecl*)(struct _TP_TIMER * __ptr64),&public: static void __cdecl
+   wil::details::DestroyThreadPoolTimer<struct
+   wil::details::SystemThreadPoolMethods,0>::Destroy(struct _TP_TIMER * __ptr64),struct
+   wistd::integral_constant<unsigned __int64,0>,struct _TP_TIMER * __ptr64,struct _TP_TIMER *
+   __ptr64,0,std::nullptr_t> >::reset(struct _TP_TIMER * __ptr64) __ptr64 */
+
+void __thiscall
+wil::details::
+unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+::reset(unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>
+        *this,_TP_TIMER *param_1)
+
+{
+  _TP_TIMER *p_Var1;
+  last_error_context local_res8 [8];
+  
+  p_Var1 = *(_TP_TIMER **)this;
+  if (p_Var1 != (_TP_TIMER *)0x0) {
+    last_error_context::last_error_context(local_res8);
+    DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(p_Var1);
+    last_error_context::~last_error_context(local_res8);
+  }
+  *(_TP_TIMER **)this = param_1;
+  return;
+}
+

```


## wil_HasFeatureTestState

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|wil_HasFeatureTestState|
|fullname|wil_HasFeatureTestState|
|refcount|1|
|length|11|
|called||
|calling|wil::details::GetFeatureEnabledStateHelper|
|paramcount|2|
|address|18003f3f8|
|sig|undefined8 __fastcall wil_HasFeatureTestState(undefined8 param_1, undefined4 * param_2)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil_HasFeatureTestState
+++ wil_HasFeatureTestState
@@ -0,0 +1,10 @@
+
+undefined8 wil_HasFeatureTestState(undefined8 param_1,undefined4 *param_2)
+
+{
+  if (param_2 != (undefined4 *)0x0) {
+    *param_2 = 0;
+  }
+  return 0;
+}
+

```


## wil_details_FeatureReporting_IncrementOpportunityInCache

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|wil_details_FeatureReporting_IncrementOpportunityInCache|
|fullname|wil_details_FeatureReporting_IncrementOpportunityInCache|
|refcount|2|
|length|218|
|called||
|calling|wil_details_FeatureReporting_RecordUsageInCache|
|paramcount|4|
|address|18003f40c|
|sig|undefined __fastcall wil_details_FeatureReporting_IncrementOpportunityInCache(uint * param_1, uint param_2, undefined8 param_3, uint * param_4)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil_details_FeatureReporting_IncrementOpportunityInCache
+++ wil_details_FeatureReporting_IncrementOpportunityInCache
@@ -0,0 +1,54 @@
+
+void wil_details_FeatureReporting_IncrementOpportunityInCache
+               (uint *param_1,uint param_2,undefined8 param_3,uint *param_4)
+
+{
+  uint uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  bool bVar5;
+  
+  uVar3 = *param_1;
+  do {
+    uVar1 = uVar3;
+    param_4[1] = 0;
+    uVar2 = uVar1 | 1;
+    if ((uVar1 & 0x400000) >> 0x16 != (uint)(param_2 == 5)) {
+      uVar3 = (uVar1 & 0x3f8000) >> 0xf;
+      if (uVar3 != 0) {
+        param_4[1] = uVar3;
+        uVar3 = 5;
+        if (param_2 != 1) {
+          uVar3 = 1;
+        }
+        uVar2 = uVar1 & 0xffc07fff | 1;
+        param_4[2] = uVar3;
+      }
+      uVar3 = 0;
+      if (param_2 == 5) {
+        uVar3 = 0x400000;
+      }
+      uVar2 = uVar3 | uVar2 & 0xffbfffff;
+    }
+    uVar3 = uVar2 >> 0xf & 0x7f;
+    uVar4 = uVar3 + 1;
+    if ((0x7f < uVar4) || (uVar4 < uVar3)) {
+      uVar4 = 1;
+      param_4[2] = param_2;
+      param_4[1] = uVar3;
+    }
+    LOCK();
+    uVar3 = *param_1;
+    bVar5 = uVar1 == uVar3;
+    if (bVar5) {
+      *param_1 = uVar2 ^ (uVar4 << 0xf ^ uVar2) & 0x3f8000;
+      uVar3 = uVar1;
+    }
+    UNLOCK();
+  } while (!bVar5);
+  param_4[4] = 0;
+  *param_4 = ~uVar1 & 1;
+  return;
+}
+

```


## wil_details_FeatureReporting_IncrementUsageInCache

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|wil_details_FeatureReporting_IncrementUsageInCache|
|fullname|wil_details_FeatureReporting_IncrementUsageInCache|
|refcount|2|
|length|230|
|called||
|calling|wil_details_FeatureReporting_RecordUsageInCache|
|paramcount|4|
|address|18003f4f0|
|sig|undefined __fastcall wil_details_FeatureReporting_IncrementUsageInCache(uint * param_1, uint param_2, undefined8 param_3, uint * param_4)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil_details_FeatureReporting_IncrementUsageInCache
+++ wil_details_FeatureReporting_IncrementUsageInCache
@@ -0,0 +1,50 @@
+
+void wil_details_FeatureReporting_IncrementUsageInCache
+               (uint *param_1,uint param_2,undefined8 param_3,uint *param_4)
+
+{
+  uint uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  bool bVar5;
+  
+  uVar4 = *param_1;
+  do {
+    uVar1 = uVar4;
+    param_4[1] = 0;
+    uVar2 = uVar1 | 1;
+    if ((uVar1 & 0x4000) >> 0xe != (uint)(param_2 == 4)) {
+      uVar4 = (uVar1 & 0x3fe0) >> 5;
+      if (uVar4 != 0) {
+        param_4[1] = uVar4;
+        param_4[2] = ~-(uint)(param_2 != 0) & 4;
+        uVar2 = uVar1 & 0xffffc01f | 1;
+      }
+      uVar4 = 0;
+      if (param_2 == 4) {
+        uVar4 = 0x4000;
+      }
+      uVar2 = uVar4 | uVar2 & 0xffffbfff;
+    }
+    uVar4 = uVar2 >> 5 & 0x1ff;
+    uVar3 = uVar4 + 1;
+    if ((0x1ff < uVar3) || (uVar3 < uVar4)) {
+      uVar3 = 1;
+      param_4[2] = param_2;
+      param_4[1] = uVar4;
+    }
+    LOCK();
+    uVar4 = *param_1;
+    bVar5 = uVar1 == uVar4;
+    if (bVar5) {
+      *param_1 = uVar2 ^ (uVar3 << 5 ^ uVar2) & 0x3fe0;
+      uVar4 = uVar1;
+    }
+    UNLOCK();
+  } while (!bVar5);
+  param_4[4] = 0;
+  *param_4 = ~uVar1 & 1;
+  return;
+}
+

```


## wil_details_FeatureReporting_RecordUsageInCache

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|wil_details_FeatureReporting_RecordUsageInCache|
|fullname|wil_details_FeatureReporting_RecordUsageInCache|
|refcount|2|
|length|369|
|called|wil_details_FeatureReporting_IncrementOpportunityInCache<br>wil_details_FeatureReporting_IncrementUsageInCache|
|calling|wil::details::ReportUsageToServiceDirect|
|paramcount|3|
|address|18003f5e0|
|sig|uint * __fastcall wil_details_FeatureReporting_RecordUsageInCache(uint * param_1, uint * param_2, undefined8 param_3)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil_details_FeatureReporting_RecordUsageInCache
+++ wil_details_FeatureReporting_RecordUsageInCache
@@ -0,0 +1,101 @@
+
+uint * wil_details_FeatureReporting_RecordUsageInCache
+                 (uint *param_1,uint *param_2,undefined8 param_3)
+
+{
+  uint uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  uint uVar5;
+  bool bVar6;
+  
+  uVar3 = (uint)param_3;
+  param_1[0] = 0;
+  param_1[1] = 0;
+  param_1[2] = 0;
+  param_1[3] = 0;
+  param_1[4] = 0;
+  param_1[5] = 0;
+  if (uVar3 == 0) {
+LAB_18003f735:
+    wil_details_FeatureReporting_IncrementUsageInCache(param_2,uVar3,param_3,param_1);
+  }
+  else {
+    if (uVar3 == 1) {
+LAB_18003f725:
+      wil_details_FeatureReporting_IncrementOpportunityInCache(param_2,uVar3,param_3,param_1);
+      return param_1;
+    }
+    if ((uVar3 != 2) && (uVar3 != 3)) {
+      if (uVar3 == 4) goto LAB_18003f735;
+      if (uVar3 == 5) goto LAB_18003f725;
+      if ((uVar3 != 6) && (uVar3 != 7)) {
+        uVar5 = uVar3 - 0x140;
+        if ((int)uVar5 < 0x40) {
+          uVar4 = param_2[1];
+          do {
+            if (((uVar4 & 0x10) == 0) || (uVar2 = 1, (uVar4 >> 5 & 0x3f) != uVar5)) {
+              uVar2 = 0;
+            }
+            param_1[4] = uVar2;
+            LOCK();
+            uVar2 = param_2[1];
+            bVar6 = uVar4 == uVar2;
+            if (bVar6) {
+              param_2[1] = (uVar5 * 0x20 ^ uVar4) & 0x7e0 ^ uVar4 | 0x10;
+              uVar2 = uVar4;
+            }
+            uVar4 = uVar2;
+            UNLOCK();
+          } while (!bVar6);
+          if (param_1[4] != 0) {
+            return param_1;
+          }
+        }
+        param_1[3] = 0;
+        param_1[2] = uVar3;
+        param_1[1] = 1;
+        return param_1;
+      }
+    }
+    uVar5 = 0;
+    if (uVar3 == 2) {
+      uVar5 = 2;
+    }
+    else if (uVar3 == 3) {
+      uVar5 = 8;
+    }
+    else if (uVar3 == 6) {
+      uVar5 = 4;
+    }
+    else if (uVar3 == 7) {
+      uVar5 = 0x10;
+    }
+    uVar4 = 1;
+    uVar3 = *param_2;
+    do {
+      uVar1 = uVar3;
+      uVar3 = uVar5 | uVar1;
+      param_1[4] = (uint)(uVar3 == uVar1);
+      uVar2 = uVar3 | 1;
+      if (uVar3 == uVar1) {
+        uVar2 = uVar3;
+      }
+      LOCK();
+      uVar3 = *param_2;
+      bVar6 = uVar1 == uVar3;
+      if (bVar6) {
+        *param_2 = uVar2;
+        uVar3 = uVar1;
+      }
+      UNLOCK();
+    } while (!bVar6);
+    if (((uVar2 & 1) == 0) || ((uVar1 & 1) != 0)) {
+      uVar4 = 0;
+    }
+    *param_1 = uVar4;
+  }
+  return param_1;
+}
+

```


## wil_details_MapReportingKind

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|wil_details_MapReportingKind|
|fullname|wil_details_MapReportingKind|
|refcount|1|
|length|144|
|called||
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::ReportUsage|
|paramcount|2|
|address|18003f758|
|sig|uint __fastcall wil_details_MapReportingKind(int param_1, int param_2)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil_details_MapReportingKind
+++ wil_details_MapReportingKind
@@ -0,0 +1,33 @@
+
+uint wil_details_MapReportingKind(int param_1,int param_2)
+
+{
+  byte bVar1;
+  
+  if (param_1 != 0) {
+    if (param_1 == 1) {
+      return ~-(uint)(param_2 != 0) & 4;
+    }
+    if (param_1 == 2) {
+      return (-(uint)(param_2 != 0) & 0xfffffffc) + 5;
+    }
+    if (param_1 == 3) {
+      return (-(uint)(param_2 != 0) & 0xfffffffc) + 6;
+    }
+    if (param_1 == 4) {
+      return (-(uint)(param_2 != 0) & 0xfffffffc) + 7;
+    }
+    if (param_1 == 5) {
+      return (-(uint)(param_2 != 0) & 0xfffffffe) + 10;
+    }
+    if (param_1 == 6) {
+      return (-(uint)(param_2 != 0) & 0xfffffffe) + 0xb;
+    }
+    bVar1 = (char)param_1 + 0x9c;
+    if (bVar1 < 0x32) {
+      return (-(uint)(param_2 != 0) & 0xffffffce) + 0x96 + (uint)bVar1;
+    }
+  }
+  return 0xff;
+}
+

```


## wil_details_RecordCachedUsage

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|wil_details_RecordCachedUsage|
|fullname|wil_details_RecordCachedUsage|
|refcount|2|
|length|325|
|called|__security_check_cookie<br>wil::details::WilApi_RecordFeatureUsageReports|
|calling|wil::details::EnabledStateManager::RecordCachedUsageUnderLock|
|paramcount|2|
|address|18003f7f8|
|sig|undefined __fastcall wil_details_RecordCachedUsage(undefined4 param_1, uint * param_2)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil_details_RecordCachedUsage
+++ wil_details_RecordCachedUsage
@@ -0,0 +1,90 @@
+
+/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
+
+void wil_details_RecordCachedUsage(undefined4 param_1,uint *param_2)
+
+{
+  uint uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  undefined4 *puVar5;
+  __uint64 _Var6;
+  bool bVar7;
+  undefined1 auStack_68 [32];
+  undefined4 local_48;
+  short local_44 [2];
+  undefined4 local_40 [10];
+  ulonglong local_18;
+  
+  local_18 = __security_cookie ^ (ulonglong)auStack_68;
+  uVar2 = *param_2;
+  do {
+    LOCK();
+    uVar4 = *param_2;
+    bVar7 = uVar2 == uVar4;
+    if (bVar7) {
+      *param_2 = uVar2 & 0xffc0401e;
+      uVar4 = uVar2;
+    }
+    uVar2 = uVar4;
+    UNLOCK();
+  } while (!bVar7);
+  uVar3 = uVar2 >> 1 & 0xf;
+  uVar4 = 0;
+  if (uVar3 != 0) {
+    uVar4 = param_2[1];
+    do {
+      LOCK();
+      uVar1 = param_2[1];
+      bVar7 = uVar4 == uVar1;
+      if (bVar7) {
+        param_2[1] = uVar4 | uVar3;
+        uVar1 = uVar4;
+      }
+      uVar4 = uVar1;
+      UNLOCK();
+    } while (!bVar7);
+    uVar4 = uVar3 & ~uVar4;
+  }
+  puVar5 = &local_48;
+  if ((uVar4 & 1) != 0) {
+    local_44[0] = 2;
+    local_44[1] = 1;
+    puVar5 = local_40;
+    local_48 = param_1;
+  }
+  if ((uVar4 & 2) != 0) {
+    *puVar5 = param_1;
+    puVar5[1] = 0x10006;
+    puVar5 = puVar5 + 2;
+  }
+  if ((uVar4 & 4) != 0) {
+    *puVar5 = param_1;
+    puVar5[1] = 0x10003;
+    puVar5 = puVar5 + 2;
+  }
+  if (7 < uVar4) {
+    *puVar5 = param_1;
+    puVar5[1] = 0x10007;
+    puVar5 = puVar5 + 2;
+  }
+  if ((uVar2 >> 5 & 0x1ff) != 0) {
+    *puVar5 = param_1;
+    *(ushort *)(puVar5 + 1) = ((ushort)(uVar2 >> 0xe) & 1) << 2;
+    *(ushort *)((longlong)puVar5 + 6) = (ushort)(uVar2 >> 5) & 0x1ff;
+    puVar5 = puVar5 + 2;
+  }
+  if ((uVar2 >> 0xf & 0x7f) != 0) {
+    *puVar5 = param_1;
+    *(ushort *)(puVar5 + 1) = ((ushort)(uVar2 >> 0x16) & 1) * 4 + 1;
+    *(ushort *)((longlong)puVar5 + 6) = (ushort)(uVar2 >> 0xf) & 0x7f;
+    puVar5 = puVar5 + 2;
+  }
+  _Var6 = (longlong)puVar5 - (longlong)&local_48 >> 3;
+  if (0 < (longlong)_Var6) {
+    wil::details::WilApi_RecordFeatureUsageReports((__WIL_RTL_FEATURE_USAGE_DATA *)&local_48,_Var6);
+  }
+  return;
+}
+

```


## wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|`dynamic_atexit_destructor_for_'g_enabledStateManager''|
|fullname|wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''|
|refcount|3|
|length|38|
|called|wil::ProcessShutdownInProgress<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::~EnabledStateManager|
|calling||
|paramcount|0|
|address|1800b1fe0|
|sig|undefined __fastcall `dynamic_atexit_destructor_for_'g_enabledStateManager''(void)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''
+++ wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''
@@ -0,0 +1,16 @@
+
+void wil::details::_dynamic_atexit_destructor_for__g_enabledStateManager__(void)
+
+{
+  bool bVar1;
+  
+  bVar1 = ProcessShutdownInProgress();
+  if (bVar1) {
+    EnabledStateManager::ProcessShutdown((EnabledStateManager *)&g_enabledStateManager);
+  }
+  else {
+    EnabledStateManager::~EnabledStateManager((EnabledStateManager *)&g_enabledStateManager);
+  }
+  return;
+}
+

```


## API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::SetThreadpoolTimer

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|SetThreadpoolTimer|
|fullname|API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::SetThreadpoolTimer|
|refcount|3|
|length|0|
|called||
|calling|wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy<br>wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>|
|paramcount|4|
|address|EXTERNAL:000000b6|
|sig|void __stdcall SetThreadpoolTimer(PTP_TIMER pti, PFILETIME pftDueTime, DWORD msPeriod, DWORD msWindowLength)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|True|


*No code available for API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::SetThreadpoolTimer*
## API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::WaitForThreadpoolTimerCallbacks

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|WaitForThreadpoolTimerCallbacks|
|fullname|API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::WaitForThreadpoolTimerCallbacks|
|refcount|2|
|length|0|
|called||
|calling|wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy|
|paramcount|2|
|address|EXTERNAL:000000b4|
|sig|void __stdcall WaitForThreadpoolTimerCallbacks(PTP_TIMER pti, BOOL fCancelPendingCallbacks)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|True|


*No code available for API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::WaitForThreadpoolTimerCallbacks*
## API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::CreateThreadpoolTimer

### Function Meta



|Key|mkv_8655.dll|
| :---: | :---: |
|name|CreateThreadpoolTimer|
|fullname|API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::CreateThreadpoolTimer|
|refcount|2|
|length|0|
|called||
|calling|wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>|
|paramcount|3|
|address|EXTERNAL:000000b5|
|sig|PTP_TIMER __stdcall CreateThreadpoolTimer(PTP_TIMER_CALLBACK pfnti, PVOID pv, PTP_CALLBACK_ENVIRON pcbe)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|True|


*No code available for API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL::CreateThreadpoolTimer*
# Modified


*Modified functions contain code changes*
## MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.08|
|i_ratio|0.09|
|m_ratio|0.93|
|b_ratio|0.11|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|GetMFMediaType|GetMFMediaType|
|fullname|MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|
|refcount|3|3|
|`length`|5216|6105|
|`called`|<details><summary>Expand for full list:<br><lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386><br>CallStackContext::TraceFailure<br>CallStackScopeTrace::CallStackScopeTrace<br>CallStackScopeTrace::~CallStackScopeTrace<br>CallStackTracing::GetThreadRelativeContext<br>MFPLAT.DLL::MFCreateAlignedMemoryBuffer<br>MFPLAT.DLL::MFCreateSample<br>MFPLAT.DLL::MFGetCallStackTracingWeakReference<br>Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>WPP_SF_qd</summary>_MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel<br>_guard_dispatch_icall$thunk$10345483385596137414<br>memcpy<br>operator_delete[]<br>operator_new[]<br>wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_><br>wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_><br>wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_><br>wil::details::ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>::~ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_><br>wistd::unique_ptr<void,struct_wil::process_heap_deleter>::unique_ptr<void,struct_wil::process_heap_deleter><1,void></details>|<details><summary>Expand for full list:<br><lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()<br>CallStackContext::TraceFailure<br>CallStackScopeTrace::CallStackScopeTrace<br>CallStackScopeTrace::~CallStackScopeTrace<br>CallStackTracing::GetThreadRelativeContext<br>CallStackTracing::InitInstance<br>MFPLAT.DLL::MFCreateAlignedMemoryBuffer<br>MFPLAT.DLL::MFCreateSample<br>Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>WPP_SF_qd</summary>_guard_dispatch_icall$thunk$10345483385596137414<br>memcpy<br>operator_delete[]<br>operator_new[]<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled</details>|
|calling|||
|paramcount|2|2|
|`address`|180039da0|18003a410|
|sig|long __thiscall GetMFMediaType(MkvMfStreamVideoHEVC * this, IMFMediaType * * param_1)|long __thiscall GetMFMediaType(MkvMfStreamVideoHEVC * this, IMFMediaType * * param_1)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType Called Diff


```diff
--- MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType called
+++ MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType called
@@ -1 +1 @@
-<lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386>
+<lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()
@@ -5,0 +6 @@
+CallStackTracing::InitInstance
@@ -8 +8,0 @@
-MFPLAT.DLL::MFGetCallStackTracingWeakReference
@@ -12 +11,0 @@
-_MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel
@@ -17,5 +16 @@
-wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>
-wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>
-wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>
-wil::details::ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>::~ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>
-wistd::unique_ptr<void,struct_wil::process_heap_deleter>::unique_ptr<void,struct_wil::process_heap_deleter><1,void>
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::__private_IsEnabled
```


### MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType Diff


```diff
--- MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
+++ MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
@@ -1,794 +1,951 @@
 
 /* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
    guard_dispatch_icall */
 /* public: virtual long __cdecl MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType(struct
    IMFMediaType * __ptr64 * __ptr64) __ptr64 */
 
 long __thiscall
 MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
           (MkvMfStreamVideoHEVC *this,IMFMediaType **param_1)
 
 {
-  longlong lVar1;
-  IMFMediaBuffer *This;
-  IMFMediaType *pIVar2;
-  uchar uVar3;
-  int iVar4;
+  MkvMfStreamVideoHEVC *ppBuffer;
+  byte bVar1;
+  longlong lVar2;
+  IMFMediaType *pIVar3;
+  bool bVar4;
   uint uVar5;
   CallStackContext *pCVar6;
-  undefined8 *puVar7;
-  void *pvVar8;
-  CallStackScopeTrace CVar9;
-  undefined2 uVar10;
-  ushort uVar11;
-  UINT8 *pUVar12;
-  uint uVar13;
-  long lVar14;
+  void *pvVar7;
+  ComPtr<struct_IMFPresentationDescriptor> *pCVar8;
+  undefined2 uVar9;
+  ushort uVar10;
+  ulonglong uVar11;
+  CallStackScopeTrace CVar12;
+  UINT8 *pUVar13;
+  uint uVar14;
   ulonglong uVar15;
   uint uVar16;
   uint uVar17;
-  ulonglong uVar18;
+  long lVar18;
   IMFMediaType **local_res10;
   CallStackScopeTrace local_res18 [8];
   DWORD local_res20 [2];
-  long local_a8 [2];
-  IMFSample *local_a0;
+  long local_c8 [2];
+  IMFSample *local_c0;
+  long *local_b8;
+  MkvMfStreamVideoHEVC *local_b0;
+  undefined1 local_a8;
+  uint local_a0;
   IMFMediaBuffer *local_98;
-  IMFMediaType *local_90;
-  undefined8 local_88 [3];
-  BYTE *local_70;
-  uint local_68;
-  uint local_64;
-  uint local_60;
-  uint local_5c;
-  uint local_58 [2];
-  BYTE *local_50;
-  longlong local_48 [2];
+  IMFMediaBuffer *local_90;
+  uint local_88;
+  IMFMediaType *local_80;
+  uint local_78;
+  uint local_74;
+  uint local_70;
+  BYTE *local_68;
+  BYTE *local_60;
+  BYTE *local_58;
+  MkvMfStreamVideoHEVC *local_50;
+  undefined1 local_48;
   
-  uVar15 = 0;
-  local_a8[0] = 0;
-  local_90 = (IMFMediaType *)0x0;
+  local_c8[0] = 0;
+  local_80 = (IMFMediaType *)0x0;
   local_res10 = param_1;
   if (param_1 == (IMFMediaType **)0x0) {
     CallStackScopeTrace::CallStackScopeTrace
               ((CallStackScopeTrace *)&local_res10,
-               "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x2fd);
-    local_a8[0] = -0x7fffbffd;
-    if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-       ((CallStackTracing::s_wpInstance = (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-        CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-        (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                           (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-      CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
+               "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x2fe);
+    local_c8[0] = -0x7fffbffd;
+    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+      CallStackTracing::InitInstance();
     }
     if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
         (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
-        local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
+        local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
       CallStackContext::TraceFailure
-                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x2fd,local_a8[0]);
-    }
-    lVar14 = local_a8[0];
-    uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-    if (uVar3 != '\0') {
+                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x2fe,local_c8[0]);
+    }
+    if (g_wppLevels != (MFWppLevels)0x0) {
       WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),0x6c,
-                &WPP_b0f450d3db7535e612483e5f7f8b7661_Traceguids,this);
-      lVar14 = local_a8[0];
-    }
+                &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+    }
+    lVar18 = local_c8[0];
     CallStackScopeTrace::~CallStackScopeTrace((CallStackScopeTrace *)&local_res10);
-    goto LAB_1;
+    goto LAB_0;
   }
   *param_1 = (IMFMediaType *)0x0;
-  puVar7 = <lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386>
-                     (local_48,local_a8,this);
-  wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>(local_88,puVar7);
+  local_b8 = local_c8;
+  local_a8 = 1;
+  local_b0 = this;
   CallStackScopeTrace::CallStackScopeTrace
-            (local_res18,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x311);
-  local_a8[0] = MkvMfStreamVideo::GetMFMediaType((MkvMfStreamVideo *)this,&local_90);
-  if (local_a8[0] < 0) {
-    if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-       ((CallStackTracing::s_wpInstance = (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-        CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-        (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                           (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-      CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
+            (local_res18,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x312);
+  local_c8[0] = MkvMfStreamVideo::GetMFMediaType((MkvMfStreamVideo *)this,&local_80);
+  if (local_c8[0] < 0) {
+    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+      CallStackTracing::InitInstance();
     }
     if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
         (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
-        local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
+        local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
       CallStackContext::TraceFailure
-                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x311,local_a8[0]);
-    }
-    lVar14 = local_a8[0];
-    uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-    if (uVar3 != '\0') {
-      uVar10 = 0x6d;
+                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x312,local_c8[0]);
+    }
+    lVar18 = local_c8[0];
+    if (g_wppLevels != (MFWppLevels)0x0) {
+      uVar9 = 0x6d;
+LAB_1:
+      WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar9,
+                &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+      lVar18 = local_c8[0];
+    }
 LAB_2:
-      WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar10,
-                &WPP_b0f450d3db7535e612483e5f7f8b7661_Traceguids,this);
-      lVar14 = local_a8[0];
-    }
+    CallStackScopeTrace::~CallStackScopeTrace(local_res18);
   }
   else {
-    local_a8[0] = (*local_90->lpVtbl->SetGUID)
-                            (local_90,(GUID *)&MF_MT_SUBTYPE,(GUID *)&MFVideoFormat_HEVC);
-    if (local_a8[0] < 0) {
-      if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-         ((CallStackTracing::s_wpInstance = (CallStackTracing *)MFGetCallStackTracingWeakReference()
-          , CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-          (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                             (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-        CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
+    local_c8[0] = (*local_80->lpVtbl->SetGUID)
+                            (local_80,(GUID *)&MF_MT_SUBTYPE,(GUID *)&MFVideoFormat_HEVC);
+    if (local_c8[0] < 0) {
+      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+        CallStackTracing::InitInstance();
       }
       if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
           (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
-          local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
+          local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
         CallStackContext::TraceFailure
-                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x313,local_a8[0]);
-      }
-      lVar14 = local_a8[0];
-      uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-      if (uVar3 != '\0') {
-        uVar10 = 0x6e;
-        goto LAB_2;
-      }
+                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x314,local_c8[0]);
+      }
+      lVar18 = local_c8[0];
+      if (g_wppLevels != (MFWppLevels)0x0) {
+        uVar9 = 0x6e;
+        goto LAB_1;
+      }
+      goto LAB_2;
+    }
+    uVar15 = *(ulonglong *)(*(longlong *)(this + 0x48) + 0x70);
+    lVar2 = *(longlong *)(*(longlong *)(this + 0x48) + 0x68);
+    if (uVar15 < 0x18) {
+LAB_3:
+      pIVar3 = local_80;
+      local_80 = (IMFMediaType *)0x0;
+      *local_res10 = pIVar3;
+      CallStackScopeTrace::~CallStackScopeTrace(local_res18);
+      local_a8 = 0;
+      <lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()(&local_b8);
+      lVar18 = 0;
+      goto LAB_0;
+    }
+    uVar10 = *(ushort *)(lVar2 + 0x13) >> 8 | *(ushort *)(lVar2 + 0x13) << 8;
+    if ((uVar10 != 0) &&
+       (local_c8[0] = (*local_80->lpVtbl->SetUINT64)
+                                (local_80,(GUID *)&MF_MT_FRAME_RATE,
+                                 (ulonglong)uVar10 << 0x20 | 0x100), local_c8[0] < 0)) {
+      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+        CallStackTracing::InitInstance();
+      }
+      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+          (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
+          local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+        CallStackContext::TraceFailure
+                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x31e,local_c8[0]);
+      }
+      lVar18 = local_c8[0];
+      if (g_wppLevels != (MFWppLevels)0x0) {
+        uVar9 = 0x6f;
+        goto LAB_1;
+      }
+      goto LAB_2;
+    }
+    local_68 = (BYTE *)(lVar2 + 0x17);
+    *(uint *)(this + 0x1c8) = (*(byte *)(lVar2 + 0x15) & 3) + 1;
+    local_c8[0] = (*local_80->lpVtbl->SetUINT32)
+                            (local_80,(GUID *)&MF_MT_VIDEO_PROFILE,*(byte *)(lVar2 + 1) & 0x1f);
+    if (local_c8[0] < 0) {
+      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+        CallStackTracing::InitInstance();
+      }
+      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+          (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
+          local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+        CallStackContext::TraceFailure
+                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x324,local_c8[0]);
+      }
+      lVar18 = local_c8[0];
+      if (g_wppLevels != (MFWppLevels)0x0) {
+        uVar9 = 0x70;
+        goto LAB_1;
+      }
+      goto LAB_2;
+    }
+    local_c8[0] = (*local_80->lpVtbl->SetUINT32)
+                            (local_80,(GUID *)&MF_MT_VIDEO_LEVEL,(uint)*(byte *)(lVar2 + 0xc));
+    if (local_c8[0] < 0) {
+      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+        CallStackTracing::InitInstance();
+      }
+      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+          (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
+          local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+        CallStackContext::TraceFailure
+                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x325,local_c8[0]);
+      }
+      lVar18 = local_c8[0];
+      if (g_wppLevels != (MFWppLevels)0x0) {
+        uVar9 = 0x71;
+        goto LAB_1;
+      }
+      goto LAB_2;
+    }
+    uVar16 = (int)uVar15 - 0x17;
+    uVar15 = 0;
+    local_c0 = (IMFSample *)0x0;
+    local_78 = uVar16;
+    local_c8[0] = MFCreateSample(&local_c0);
+    if (local_c8[0] < 0) {
+      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+        CallStackTracing::InitInstance();
+      }
+      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+          (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
+          local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+        CallStackContext::TraceFailure
+                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x32b,local_c8[0]);
+      }
+      if (g_wppLevels != (MFWppLevels)0x0) {
+        WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),0x72,
+                  &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+      }
+      lVar18 = local_c8[0];
+      Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                ((ComPtr<struct_IMFPresentationDescriptor> *)&local_c0);
+      CallStackScopeTrace::~CallStackScopeTrace(local_res18);
     }
     else {
-      uVar18 = *(ulonglong *)(*(longlong *)(this + 0x48) + 0x70);
-      lVar1 = *(longlong *)(*(longlong *)(this + 0x48) + 0x68);
-      if (uVar18 < 0x18) {
-LAB_3:
-        pIVar2 = local_90;
-        local_90 = (IMFMediaType *)0x0;
-        *local_res10 = pIVar2;
-        CallStackScopeTrace::~CallStackScopeTrace(local_res18);
-        wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::
-        ~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>(local_88);
-        lVar14 = 0;
-        goto LAB_1;
-      }
-      uVar11 = *(ushort *)(lVar1 + 0x13) >> 8 | *(ushort *)(lVar1 + 0x13) << 8;
-      if ((uVar11 == 0) ||
-         (local_a8[0] = (*local_90->lpVtbl->SetUINT64)
-                                  (local_90,(GUID *)&MF_MT_FRAME_RATE,
-                                   (ulonglong)uVar11 << 0x20 | 0x100), -1 < local_a8[0])) {
-        local_70 = (BYTE *)(lVar1 + 0x17);
-        *(uint *)(this + 0x1c8) = (*(byte *)(lVar1 + 0x15) & 3) + 1;
-        local_a8[0] = (*local_90->lpVtbl->SetUINT32)
-                                (local_90,(GUID *)&MF_MT_VIDEO_PROFILE,*(byte *)(lVar1 + 1) & 0x1f);
-        if (local_a8[0] < 0) {
-          if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-             ((CallStackTracing::s_wpInstance =
-                    (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-              CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-              (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                 (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-            CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
+      local_a0 = 0;
+      operator_delete__(*(void **)(this + 0x1e0));
+      pvVar7 = operator_new__(0x800);
+      *(void **)(this + 0x1e0) = pvVar7;
+      if (pvVar7 != (void *)0x0) {
+        uVar11 = 0;
+        bVar1 = *(byte *)(lVar2 + 0x16);
+        uVar17 = (uint)bVar1;
+        local_88 = (uint)bVar1;
+        bVar4 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::
+                __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_3010967866>::GetImpl(void)'
+                                     ::__l2::impl);
+        uVar5 = 0;
+        if (bVar4) {
+          local_a0 = 0;
+          if (bVar1 != 0) {
+            do {
+              uVar14 = (uint)uVar11;
+              uVar5 = (uint)uVar15;
+              if (uVar16 - uVar14 < 3) break;
+              CVar12 = (CallStackScopeTrace)(local_68[uVar11] & 0x3f);
+              uVar5 = uVar14 + 1;
+              local_res18[0] = CVar12;
+              if (uVar5 < uVar14) {
+                local_c8[0] = -0x7ff8fdea;
+                if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                  CallStackTracing::InitInstance();
+                }
+                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                        (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                   (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                  CallStackContext::TraceFailure
+                            (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x346,
+                             local_c8[0]);
+                }
+                if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                uVar9 = 0x75;
+                goto LAB_5;
+              }
+              uVar10 = *(ushort *)(local_68 + uVar5) >> 8 | *(ushort *)(local_68 + uVar5) << 8;
+              uVar11 = (ulonglong)(uVar14 + 3);
+              if (uVar14 + 3 < uVar5) {
+                local_c8[0] = -0x7ff8fdea;
+                if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                  CallStackTracing::InitInstance();
+                }
+                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                        (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                   (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                  CallStackContext::TraceFailure
+                            (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x349,
+                             local_c8[0]);
+                }
+                if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                uVar9 = 0x76;
+                goto LAB_5;
+              }
+              local_c8[0] = 0;
+              if (0x200 < uVar10) {
+                local_c8[0] = -0x3ff2c942;
+                if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                  CallStackTracing::InitInstance();
+                }
+                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                        (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                   (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                  CallStackContext::TraceFailure
+                            (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x34e,
+                             local_c8[0]);
+                }
+                if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                uVar9 = 0x77;
+                goto LAB_5;
+              }
+              local_res20[0] = 0;
+              local_74 = (uint)uVar10;
+              if (local_74 != 0) {
+                do {
+                  uVar5 = (uint)uVar11;
+                  uVar17 = local_88;
+                  if (uVar16 - uVar5 < 2) break;
+                  uVar10 = *(ushort *)(local_68 + uVar11) >> 8 | *(ushort *)(local_68 + uVar11) << 8
+                  ;
+                  local_70 = uVar5 + 2;
+                  if (local_70 < uVar5) {
+                    local_c8[0] = -0x7ff8fdea;
+                    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                      CallStackTracing::InitInstance();
+                    }
+                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                            (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                       (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                      CallStackContext::TraceFailure
+                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x354
+                                 ,local_c8[0]);
+                    }
+                    if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                    uVar9 = 0x78;
+                    goto LAB_5;
+                  }
+                  uVar16 = local_70 + uVar10;
+                  uVar11 = (ulonglong)uVar16;
+                  if (uVar16 < local_70) {
+                    local_c8[0] = -0x7ff8fdea;
+                    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                      CallStackTracing::InitInstance();
+                    }
+                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                            (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                       (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                      CallStackContext::TraceFailure
+                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x357
+                                 ,local_c8[0]);
+                    }
+                    if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                    uVar9 = 0x79;
+                    goto LAB_5;
+                  }
+                  local_c8[0] = 0;
+                  if (local_78 < uVar16) {
+                    local_c8[0] = -0x3ff2c942;
+                    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                      CallStackTracing::InitInstance();
+                    }
+                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                            (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                       (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                      CallStackContext::TraceFailure
+                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x35b
+                                 ,local_c8[0]);
+                    }
+                    if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                    uVar9 = 0x7a;
+                    goto LAB_5;
+                  }
+                  if ((byte)((char)CVar12 - 0x20U) < 3) {
+                    if ((uint)uVar15 < 0x200) {
+                      *(uint *)(*(longlong *)(this + 0x1e0) + uVar15 * 4) = uVar10 + 4;
+                      uVar15 = (ulonglong)((uint)uVar15 + 1);
+                      local_98 = (IMFMediaBuffer *)0x0;
+                      local_c8[0] = MFCreateAlignedMemoryBuffer((uint)uVar10,0,&local_98);
+                      if (local_c8[0] < 0) {
+                        if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                          CallStackTracing::InitInstance();
+                        }
+                        if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                            (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                (CallStackTracing::s_wpInstance), local_c8[0] < 0))
+                           && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                          CallStackContext::TraceFailure
+                                    (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                     0x368,local_c8[0]);
+                        }
+                        if (g_wppLevels != (MFWppLevels)0x0) {
+                          uVar9 = 0x7c;
+LAB_6:
+                          WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar9,
+                                    &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+                        }
+LAB_7:
+                        pCVar8 = (ComPtr<struct_IMFPresentationDescriptor> *)&local_98;
+LAB_8:
+                        lVar18 = local_c8[0];
+                        Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                                  (pCVar8);
+                        Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                                  ((ComPtr<struct_IMFPresentationDescriptor> *)&local_c0);
+                        CallStackScopeTrace::~CallStackScopeTrace(local_res18);
+                      }
+                      else {
+                        local_c8[0] = (*local_98->lpVtbl->SetCurrentLength)(local_98,(uint)uVar10);
+                        if (local_c8[0] < 0) {
+                          if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                            CallStackTracing::InitInstance();
+                          }
+                          if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                              (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                  (CallStackTracing::s_wpInstance), local_c8[0] < 0)
+                              ) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                            CallStackContext::TraceFailure
+                                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType"
+                                       ,0x369,local_c8[0]);
+                          }
+                          if (g_wppLevels != (MFWppLevels)0x0) {
+                            uVar9 = 0x7d;
+                            goto LAB_6;
+                          }
+                          goto LAB_7;
+                        }
+                        local_60 = (BYTE *)0x0;
+                        local_c8[0] = (*local_98->lpVtbl->Lock)
+                                                (local_98,&local_60,(DWORD *)0x0,(DWORD *)0x0);
+                        if (local_c8[0] < 0) {
+                          if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                            CallStackTracing::InitInstance();
+                          }
+                          if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                              (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                  (CallStackTracing::s_wpInstance), local_c8[0] < 0)
+                              ) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                            CallStackContext::TraceFailure
+                                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType"
+                                       ,0x36b,local_c8[0]);
+                          }
+                          if (g_wppLevels != (MFWppLevels)0x0) {
+                            uVar9 = 0x7e;
+                            goto LAB_6;
+                          }
+                          goto LAB_7;
+                        }
+                        memcpy(local_60,local_68 + local_70,(ulonglong)uVar10);
+                        local_c8[0] = (*local_98->lpVtbl->Unlock)(local_98);
+                        if (local_c8[0] < 0) {
+                          if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                            CallStackTracing::InitInstance();
+                          }
+                          if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                              (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                  (CallStackTracing::s_wpInstance), local_c8[0] < 0)
+                              ) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                            CallStackContext::TraceFailure
+                                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType"
+                                       ,0x36d,local_c8[0]);
+                          }
+                          if (g_wppLevels != (MFWppLevels)0x0) {
+                            uVar9 = 0x7f;
+LAB_9:
+                            WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar9,
+                                      &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+                          }
+                        }
+                        else {
+                          local_c8[0] = (*local_c0->lpVtbl->AddBuffer)
+                                                  (local_c0,*(IMFMediaBuffer **)(this + 0x1f8));
+                          if (local_c8[0] < 0) {
+                            if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                              CallStackTracing::InitInstance();
+                            }
+                            if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                                (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                    (CallStackTracing::s_wpInstance),
+                                local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                              CallStackContext::TraceFailure
+                                        (pCVar6,
+                                         "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                         0x36f,local_c8[0]);
+                            }
+                            if (g_wppLevels != (MFWppLevels)0x0) {
+                              uVar9 = 0x80;
+                              goto LAB_9;
+                            }
+                          }
+                          else {
+                            local_c8[0] = (*local_c0->lpVtbl->AddBuffer)(local_c0,local_98);
+                            if (-1 < local_c8[0]) {
+                              Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::
+                              InternalRelease((ComPtr<struct_IMFPresentationDescriptor> *)&local_98)
+                              ;
+                              CVar12 = local_res18[0];
+                              goto LAB_10;
+                            }
+                            if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                              CallStackTracing::InitInstance();
+                            }
+                            if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                                (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                    (CallStackTracing::s_wpInstance),
+                                local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                              CallStackContext::TraceFailure
+                                        (pCVar6,
+                                         "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                         0x370,local_c8[0]);
+                            }
+                            if (g_wppLevels != (MFWppLevels)0x0) {
+                              uVar9 = 0x81;
+                              goto LAB_9;
+                            }
+                          }
+                        }
+                        pCVar8 = (ComPtr<struct_IMFPresentationDescriptor> *)&local_98;
+LAB_11:
+                        lVar18 = local_c8[0];
+                        Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                                  (pCVar8);
+                        Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                                  ((ComPtr<struct_IMFPresentationDescriptor> *)&local_c0);
+                        CallStackScopeTrace::~CallStackScopeTrace(local_res18);
+                      }
+                      local_a8 = 0;
+                      <lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()(&local_b8);
+                      goto LAB_0;
+                    }
+                    local_c8[0] = -0x3ff2c942;
+                    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                      CallStackTracing::InitInstance();
+                    }
+                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                            (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                       (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                      CallStackContext::TraceFailure
+                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x363
+                                 ,local_c8[0]);
+                    }
+                    if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                    uVar9 = 0x7b;
+                    goto LAB_5;
+                  }
+LAB_10:
+                  local_res20[0] = local_res20[0] + 1;
+                  uVar16 = local_78;
+                  uVar17 = local_88;
+                } while (local_res20[0] < local_74);
+              }
+              uVar5 = (uint)uVar15;
+              local_a0 = local_a0 + 1;
+            } while (local_a0 < uVar17);
+          }
+        }
+        else {
+          local_70 = 0;
+          if (bVar1 != 0) {
+            do {
+              uVar14 = (uint)uVar11;
+              uVar5 = local_a0;
+              if ((uVar16 <= uVar14 + 3) || (uVar14 + 3 <= uVar14)) break;
+              CVar12 = (CallStackScopeTrace)(local_68[uVar11] & 0x3f);
+              uVar5 = uVar14 + 1;
+              local_res18[0] = CVar12;
+              if (uVar5 < uVar14) {
+                local_c8[0] = -0x7ff8fdea;
+                if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                  CallStackTracing::InitInstance();
+                }
+                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                        (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                   (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                  CallStackContext::TraceFailure
+                            (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x37c,
+                             local_c8[0]);
+                }
+                if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                uVar9 = 0x82;
+                goto LAB_5;
+              }
+              uVar10 = *(ushort *)(local_68 + uVar5) >> 8 | *(ushort *)(local_68 + uVar5) << 8;
+              uVar11 = (ulonglong)(uVar14 + 3);
+              if (uVar14 + 3 < uVar5) {
+                local_c8[0] = -0x7ff8fdea;
+                if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                  CallStackTracing::InitInstance();
+                }
+                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                        (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                   (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                  CallStackContext::TraceFailure
+                            (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x37f,
+                             local_c8[0]);
+                }
+                if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                uVar9 = 0x83;
+                goto LAB_5;
+              }
+              local_c8[0] = 0;
+              local_74 = 0;
+              local_98 = (IMFMediaBuffer *)CONCAT44(local_98._4_4_,(uint)uVar10);
+              uVar5 = (uint)uVar10;
+              pUVar13 = local_68;
+              if (uVar10 != 0) {
+                do {
+                  uVar14 = (uint)uVar11 + 2;
+                  uVar17 = local_88;
+                  if ((uVar16 <= uVar14) || (uVar14 <= (uint)uVar11)) break;
+                  uVar10 = *(ushort *)(pUVar13 + uVar11) >> 8 | *(ushort *)(pUVar13 + uVar11) << 8;
+                  local_res20[0] = CONCAT22(local_res20[0]._2_2_,uVar10);
+                  uVar17 = (uint)uVar10;
+                  uVar16 = uVar14 + uVar17;
+                  uVar11 = (ulonglong)uVar16;
+                  if (uVar16 < uVar14) {
+                    local_c8[0] = -0x7ff8fdea;
+                    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                      CallStackTracing::InitInstance();
+                    }
+                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                            (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                       (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                      CallStackContext::TraceFailure
+                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x387
+                                 ,local_c8[0]);
+                    }
+                    if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                    uVar9 = 0x85;
+                    goto LAB_5;
+                  }
+                  local_c8[0] = 0;
+                  if (local_78 < uVar16) {
+                    local_c8[0] = -0x3ff2c942;
+                    if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                      CallStackTracing::InitInstance();
+                    }
+                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                            (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                       (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                      CallStackContext::TraceFailure
+                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x38b
+                                 ,local_c8[0]);
+                    }
+                    if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                    uVar9 = 0x86;
+                    goto LAB_5;
+                  }
+                  if ((byte)((char)CVar12 - 0x20U) < 3) {
+                    *(uint *)(*(longlong *)(this + 0x1e0) + (ulonglong)local_a0 * 4) = uVar17 + 4;
+                    local_a0 = local_a0 + 1;
+                    if (0x200 < local_a0) {
+                      local_c8[0] = -0x3ff2c942;
+                      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                        CallStackTracing::InitInstance();
+                      }
+                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                              (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                         (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                        CallStackContext::TraceFailure
+                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                   0x394,local_c8[0]);
+                      }
+                      if (g_wppLevels == (MFWppLevels)0x0) goto LAB_4;
+                      uVar9 = 0x87;
+                      goto LAB_5;
+                    }
+                    local_90 = (IMFMediaBuffer *)0x0;
+                    local_c8[0] = MFCreateAlignedMemoryBuffer(uVar17,0,&local_90);
+                    if (local_c8[0] < 0) {
+                      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                        CallStackTracing::InitInstance();
+                      }
+                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                              (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                         (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                        CallStackContext::TraceFailure
+                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                   0x398,local_c8[0]);
+                      }
+                      if (g_wppLevels != (MFWppLevels)0x0) {
+                        WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),0x88,
+                                  &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+                      }
+                      pCVar8 = (ComPtr<struct_IMFPresentationDescriptor> *)&local_90;
+                      goto LAB_8;
+                    }
+                    local_c8[0] = (*local_90->lpVtbl->SetCurrentLength)(local_90,uVar17);
+                    if (local_c8[0] < 0) {
+                      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                        CallStackTracing::InitInstance();
+                      }
+                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                              (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                         (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                        CallStackContext::TraceFailure
+                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                   0x399,local_c8[0]);
+                      }
+                      if (g_wppLevels != (MFWppLevels)0x0) {
+                        uVar9 = 0x89;
+LAB_12:
+                        WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar9,
+                                  &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+                      }
+                    }
+                    else {
+                      local_58 = (BYTE *)0x0;
+                      local_c8[0] = (*local_90->lpVtbl->Lock)
+                                              (local_90,&local_58,(DWORD *)0x0,(DWORD *)0x0);
+                      if (local_c8[0] < 0) {
+                        if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                          CallStackTracing::InitInstance();
+                        }
+                        if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                            (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                (CallStackTracing::s_wpInstance), local_c8[0] < 0))
+                           && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                          CallStackContext::TraceFailure
+                                    (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                     0x39b,local_c8[0]);
+                        }
+                        if (g_wppLevels != (MFWppLevels)0x0) {
+                          uVar9 = 0x8a;
+                          goto LAB_12;
+                        }
+                      }
+                      else {
+                        memcpy(local_58,local_68 + uVar14,(ulonglong)(ushort)local_res20[0]);
+                        local_c8[0] = (*local_90->lpVtbl->Unlock)(local_90);
+                        if (local_c8[0] < 0) {
+                          if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                            CallStackTracing::InitInstance();
+                          }
+                          if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                              (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                  (CallStackTracing::s_wpInstance), local_c8[0] < 0)
+                              ) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                            CallStackContext::TraceFailure
+                                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType"
+                                       ,0x39d,local_c8[0]);
+                          }
+                          if (g_wppLevels != (MFWppLevels)0x0) {
+                            uVar9 = 0x8b;
+                            goto LAB_12;
+                          }
+                        }
+                        else {
+                          local_c8[0] = (*local_c0->lpVtbl->AddBuffer)
+                                                  (local_c0,*(IMFMediaBuffer **)(this + 0x1f8));
+                          if (local_c8[0] < 0) {
+                            if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                              CallStackTracing::InitInstance();
+                            }
+                            if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                                (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                    (CallStackTracing::s_wpInstance),
+                                local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                              CallStackContext::TraceFailure
+                                        (pCVar6,
+                                         "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                         0x39f,local_c8[0]);
+                            }
+                            if (g_wppLevels != (MFWppLevels)0x0) {
+                              uVar9 = 0x8c;
+                              goto LAB_12;
+                            }
+                          }
+                          else {
+                            local_c8[0] = (*local_c0->lpVtbl->AddBuffer)(local_c0,local_90);
+                            if (-1 < local_c8[0]) {
+                              Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::
+                              InternalRelease((ComPtr<struct_IMFPresentationDescriptor> *)&local_90)
+                              ;
+                              pUVar13 = local_68;
+                              CVar12 = local_res18[0];
+                              uVar5 = (uint)local_98;
+                              goto LAB_13;
+                            }
+                            if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                              CallStackTracing::InitInstance();
+                            }
+                            if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                                (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                                    (CallStackTracing::s_wpInstance),
+                                local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                              CallStackContext::TraceFailure
+                                        (pCVar6,
+                                         "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
+                                         0x3a0,local_c8[0]);
+                            }
+                            if (g_wppLevels != (MFWppLevels)0x0) {
+                              uVar9 = 0x8d;
+                              goto LAB_12;
+                            }
+                          }
+                        }
+                      }
+                    }
+                    pCVar8 = (ComPtr<struct_IMFPresentationDescriptor> *)&local_90;
+                    goto LAB_11;
+                  }
+LAB_13:
+                  local_74 = local_74 + 1;
+                  uVar16 = local_78;
+                  uVar17 = local_88;
+                } while (local_74 < uVar5);
+              }
+              local_70 = local_70 + 1;
+              uVar5 = local_a0;
+            } while (local_70 < uVar17);
+          }
+        }
+        *(uint *)(this + 0x1e8) = uVar5;
+        if (uVar5 == 0) {
+LAB_14:
+          local_c8[0] = (*local_80->lpVtbl->SetUINT32)(local_80,(GUID *)&MF_NALU_LENGTH_SET,1);
+          if (-1 < local_c8[0]) {
+            Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                      ((ComPtr<struct_IMFPresentationDescriptor> *)&local_c0);
+            goto LAB_3;
+          }
+          if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+            CallStackTracing::InitInstance();
           }
           if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
               (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
-              local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
+              local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
             CallStackContext::TraceFailure
-                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x323,
-                       local_a8[0]);
+                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x3b7,
+                       local_c8[0]);
           }
-          lVar14 = local_a8[0];
-          uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-          if (uVar3 != '\0') {
-            uVar10 = 0x70;
-            goto LAB_2;
+          lVar18 = local_c8[0];
+          if (g_wppLevels != (MFWppLevels)0x0) {
+            uVar9 = 0x91;
+            goto LAB_15;
           }
         }
         else {
-          local_a8[0] = (*local_90->lpVtbl->SetUINT32)
-                                  (local_90,(GUID *)&MF_MT_VIDEO_LEVEL,(uint)*(byte *)(lVar1 + 0xc))
-          ;
-          if (local_a8[0] < 0) {
-            if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-               ((CallStackTracing::s_wpInstance =
-                      (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                   (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-              CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
+          local_68 = (UINT8 *)0x0;
+          ppBuffer = this + 0x1f0;
+          local_c8[0] = (*local_c0->lpVtbl->ConvertToContiguousBuffer)
+                                  (local_c0,(IMFMediaBuffer **)ppBuffer);
+          if (local_c8[0] < 0) {
+            if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+              CallStackTracing::InitInstance();
             }
             if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
                 (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance)
-                , local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
+                , local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
               CallStackContext::TraceFailure
-                        (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x324,
-                         local_a8[0]);
+                        (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x3ad,
+                         local_c8[0]);
             }
-            lVar14 = local_a8[0];
-            uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-            if (uVar3 != '\0') {
-              uVar10 = 0x71;
-              goto LAB_2;
+            lVar18 = local_c8[0];
+            if (g_wppLevels != (MFWppLevels)0x0) {
+              uVar9 = 0x8e;
+LAB_15:
+              WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar9,
+                        &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+              lVar18 = local_c8[0];
             }
           }
           else {
-            local_68 = (int)uVar18 - 0x17;
-            local_a0 = (IMFSample *)0x0;
-            local_a8[0] = MFCreateSample(&local_a0);
-            if (local_a8[0] < 0) {
-              if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                 ((CallStackTracing::s_wpInstance =
-                        (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                  CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                  (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                     (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
+            local_res20[0] = 0;
+            local_c8[0] = (*(*(IMFMediaBuffer **)ppBuffer)->lpVtbl->Lock)
+                                    (*(IMFMediaBuffer **)ppBuffer,&local_68,local_res20,(DWORD *)0x0
+                                    );
+            if (local_c8[0] < 0) {
+              if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                CallStackTracing::InitInstance();
               }
               if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
                   (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                      (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                 (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
+                                      (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                 (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
                 CallStackContext::TraceFailure
-                          (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x32a,
-                           local_a8[0]);
-              }
-              lVar14 = local_a8[0];
-              uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-              if (uVar3 != '\0') {
-                uVar10 = 0x72;
-LAB_4:
-                WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar10,
-                          &WPP_b0f450d3db7535e612483e5f7f8b7661_Traceguids,this);
-                lVar14 = local_a8[0];
+                          (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x3af,
+                           local_c8[0]);
+              }
+              lVar18 = local_c8[0];
+              if (g_wppLevels != (MFWppLevels)0x0) {
+                uVar9 = 0x8f;
+                goto LAB_15;
               }
             }
             else {
-              operator_delete__(*(void **)(this + 0x1e0));
-              pvVar8 = operator_new__(0x800);
-              *(void **)(this + 0x1e0) = pvVar8;
-              if (pvVar8 == (void *)0x0) {
-                local_a8[0] = -0x7ff8fff2;
-                if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                   ((CallStackTracing::s_wpInstance =
-                          (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                    CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                    (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                       (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                  CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                }
-                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                        (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                   (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                  CallStackContext::TraceFailure
-                            (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x330,
-                             local_a8[0]);
-                }
-                lVar14 = local_a8[0];
-                uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                if (uVar3 != '\0') {
-                  uVar10 = 0x73;
-                  goto LAB_4;
-                }
-              }
-              else {
-                uVar18 = 0;
-                local_58[0] = (uint)*(byte *)(lVar1 + 0x16);
-                pUVar12 = local_70;
-                uVar13 = local_68;
-                for (local_60 = 0; local_60 < local_58[0]; local_60 = local_60 + 1) {
-                  uVar17 = (uint)uVar18;
-                  if ((uVar13 <= uVar17 + 3) || (uVar17 + 3 <= uVar17)) break;
-                  local_res18[0] = (CallStackScopeTrace)(pUVar12[uVar18] & 0x3f);
-                  uVar5 = uVar17 + 1;
-                  if (uVar5 < uVar17) {
-                    local_a8[0] = -0x7ff8fdea;
-                    if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                       ((CallStackTracing::s_wpInstance =
-                              (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                        CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                        (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                           (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                      CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                    }
-                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                            (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                       (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                      CallStackContext::TraceFailure
-                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x338
-                                 ,local_a8[0]);
-                    }
-                    lVar14 = local_a8[0];
-                    uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                    if (uVar3 == '\0') goto LAB_5;
-                    uVar10 = 0x74;
-                    goto LAB_4;
-                  }
-                  uVar11 = *(ushort *)(pUVar12 + uVar5) >> 8 | *(ushort *)(pUVar12 + uVar5) << 8;
-                  uVar17 = uVar17 + 3;
-                  if (uVar17 < uVar5) {
-                    local_a8[0] = -0x7ff8fdea;
-                    if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                       ((CallStackTracing::s_wpInstance =
-                              (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                        CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                        (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                           (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                      CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                    }
-                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                            (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                       (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                      CallStackContext::TraceFailure
-                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x33b
-                                 ,local_a8[0]);
-                    }
-                    lVar14 = local_a8[0];
-                    uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                    if (uVar3 == '\0') goto LAB_5;
-                    uVar10 = 0x75;
-                    goto LAB_4;
-                  }
-                  local_a8[0] = 0;
-                  local_64 = 0;
-                  uVar5 = (uint)uVar11;
-                  local_5c = (uint)uVar11;
-                  CVar9 = local_res18[0];
-                  while (((uVar18 = (ulonglong)uVar17, local_64 < uVar5 &&
-                          (uVar16 = uVar17 + 2, uVar16 < uVar13)) && (uVar17 < uVar16))) {
-                    uVar11 = *(ushort *)(pUVar12 + uVar18) >> 8 | *(ushort *)(pUVar12 + uVar18) << 8
-                    ;
-                    local_res20[0] = CONCAT22(local_res20[0]._2_2_,uVar11);
-                    uVar17 = uVar11 + uVar16;
-                    if (uVar17 < uVar16) {
-                      local_a8[0] = -0x7ff8fdea;
-                      if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                         ((CallStackTracing::s_wpInstance =
-                                (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                          CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                          (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                             (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0))))
-                      {
-                        CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                      }
-                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                              (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                         (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                        CallStackContext::TraceFailure
-                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                   0x343,local_a8[0]);
-                      }
-                      lVar14 = local_a8[0];
-                      uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                      if (uVar3 == '\0') goto LAB_5;
-                      uVar10 = 0x77;
-                      goto LAB_4;
-                    }
-                    local_a8[0] = 0;
-                    if (uVar13 < uVar17) {
-                      local_a8[0] = -0x3ff2c942;
-                      if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                         ((CallStackTracing::s_wpInstance =
-                                (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                          CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                          (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                             (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0))))
-                      {
-                        CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                      }
-                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                              (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                         (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                        CallStackContext::TraceFailure
-                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                   0x347,local_a8[0]);
-                      }
-                      lVar14 = local_a8[0];
-                      uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                      if (uVar3 == '\0') goto LAB_5;
-                      uVar10 = 0x78;
-                      goto LAB_4;
-                    }
-                    if ((byte)((char)CVar9 - 0x20U) < 3) {
-                      *(uint *)(*(longlong *)(this + 0x1e0) + uVar15 * 4) = uVar11 + 4;
-                      uVar13 = (int)uVar15 + 1;
-                      uVar15 = (ulonglong)uVar13;
-                      if (0x200 < uVar13) {
-                        local_a8[0] = -0x3ff2c942;
-                        if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                           ((CallStackTracing::s_wpInstance =
-                                  (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                            CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                            (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                               (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))
-                           ) {
-                          CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                        }
-                        if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                            (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                (CallStackTracing::s_wpInstance), local_a8[0] < 0))
-                           && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                          CallStackContext::TraceFailure
-                                    (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                     0x350,local_a8[0]);
-                        }
-                        lVar14 = local_a8[0];
-                        uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                        if (uVar3 == '\0') goto LAB_5;
-                        uVar10 = 0x79;
-                        goto LAB_4;
-                      }
-                      local_98 = (IMFMediaBuffer *)0x0;
-                      local_a8[0] = MFCreateAlignedMemoryBuffer((uint)uVar11,0,&local_98);
-                      if (local_a8[0] < 0) {
-                        if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                           ((CallStackTracing::s_wpInstance =
-                                  (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                            CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                            (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                               (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))
-                           ) {
-                          CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                        }
-                        if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                            (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                (CallStackTracing::s_wpInstance), local_a8[0] < 0))
-                           && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                          CallStackContext::TraceFailure
-                                    (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                     0x354,local_a8[0]);
-                        }
-                        lVar14 = local_a8[0];
-                        uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                        if (uVar3 != '\0') {
-                          uVar10 = 0x7a;
-LAB_6:
-                          WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar10,
-                                    &WPP_b0f450d3db7535e612483e5f7f8b7661_Traceguids,this);
-                          lVar14 = local_a8[0];
-                        }
-                      }
-                      else {
-                        local_a8[0] = (*local_98->lpVtbl->SetCurrentLength)
-                                                (local_98,local_res20[0] & 0xffff);
-                        if (local_a8[0] < 0) {
-                          if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                             ((CallStackTracing::s_wpInstance =
-                                    (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                              CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                              (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8)
-                                       )(CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                            CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                          }
-                          if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                              (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                  (CallStackTracing::s_wpInstance), local_a8[0] < 0)
-                              ) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                            CallStackContext::TraceFailure
-                                      (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType"
-                                       ,0x355,local_a8[0]);
-                          }
-                          lVar14 = local_a8[0];
-                          uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                          if (uVar3 != '\0') {
-                            uVar10 = 0x7b;
-                            goto LAB_6;
-                          }
-                        }
-                        else {
-                          local_50 = (BYTE *)0x0;
-                          local_a8[0] = (*local_98->lpVtbl->Lock)
-                                                  (local_98,&local_50,(DWORD *)0x0,(DWORD *)0x0);
-                          if (local_a8[0] < 0) {
-                            if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                               ((CallStackTracing::s_wpInstance =
-                                      (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                                CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                                (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance +
-                                                     8))(CallStackTracing::s_wpInstance,0x7f0),
-                                iVar4 == 0)))) {
-                              CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                            }
-                            if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                                (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                    (CallStackTracing::s_wpInstance),
-                                local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                              CallStackContext::TraceFailure
-                                        (pCVar6,
-                                         "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                         0x357,local_a8[0]);
-                            }
-                            lVar14 = local_a8[0];
-                            uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                            if (uVar3 != '\0') {
-                              uVar10 = 0x7c;
-                              goto LAB_6;
-                            }
-                          }
-                          else {
-                            memcpy(local_50,local_70 + uVar16,(ulonglong)(ushort)local_res20[0]);
-                            local_a8[0] = (*local_98->lpVtbl->Unlock)(local_98);
-                            if (local_a8[0] < 0) {
-                              if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                                 ((CallStackTracing::s_wpInstance =
-                                        (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                                  CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                                  (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance
-                                                       + 8))(CallStackTracing::s_wpInstance,0x7f0),
-                                  iVar4 == 0)))) {
-                                CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                              }
-                              if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                                  (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                      (CallStackTracing::s_wpInstance),
-                                  local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                                CallStackContext::TraceFailure
-                                          (pCVar6,
-                                           "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                           0x359,local_a8[0]);
-                              }
-                              lVar14 = local_a8[0];
-                              uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                              if (uVar3 != '\0') {
-                                uVar10 = 0x7d;
-                                goto LAB_6;
-                              }
-                            }
-                            else {
-                              local_a8[0] = (*local_a0->lpVtbl->AddBuffer)
-                                                      (local_a0,*(IMFMediaBuffer **)(this + 0x1f8));
-                              if (local_a8[0] < 0) {
-                                if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                                   ((CallStackTracing::s_wpInstance =
-                                          (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                                    CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                                    (iVar4 = (**(code **)(*(longlong *)
-                                                           CallStackTracing::s_wpInstance + 8))
-                                                       (CallStackTracing::s_wpInstance,0x7f0),
-                                    iVar4 == 0)))) {
-                                  CallStackTracing::s_wpInstance =
-                                       (CallStackTracing *)&DAT_0;
-                                }
-                                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                        (CallStackTracing::s_wpInstance),
-                                    local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0]))
-                                {
-                                  CallStackContext::TraceFailure
-                                            (pCVar6,
-                                             "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                             0x35b,local_a8[0]);
-                                }
-                                lVar14 = local_a8[0];
-                                uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                                if (uVar3 != '\0') {
-                                  uVar10 = 0x7e;
-                                  goto LAB_6;
-                                }
-                              }
-                              else {
-                                local_a8[0] = (*local_a0->lpVtbl->AddBuffer)(local_a0,local_98);
-                                if (-1 < local_a8[0]) {
-                                  Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::
-                                  InternalRelease((ComPtr<struct_IMFPresentationDescriptor> *)
-                                                  &local_98);
-                                  uVar5 = local_5c;
-                                  uVar13 = local_68;
-                                  CVar9 = local_res18[0];
-                                  goto LAB_7;
-                                }
-                                if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                                   ((CallStackTracing::s_wpInstance =
-                                          (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                                    CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                                    (iVar4 = (**(code **)(*(longlong *)
-                                                           CallStackTracing::s_wpInstance + 8))
-                                                       (CallStackTracing::s_wpInstance,0x7f0),
-                                    iVar4 == 0)))) {
-                                  CallStackTracing::s_wpInstance =
-                                       (CallStackTracing *)&DAT_0;
-                                }
-                                if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                                    (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                                        (CallStackTracing::s_wpInstance),
-                                    local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0]))
-                                {
-                                  CallStackContext::TraceFailure
-                                            (pCVar6,
-                                             "MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                             0x35c,local_a8[0]);
-                                }
-                                lVar14 = local_a8[0];
-                                uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                                if (uVar3 != '\0') {
-                                  uVar10 = 0x7f;
-                                  goto LAB_6;
-                                }
-                              }
-                            }
-                          }
-                        }
-                      }
-                      Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
-                                ((ComPtr<struct_IMFPresentationDescriptor> *)&local_98);
-                      goto LAB_5;
-                    }
-LAB_7:
-                    local_64 = local_64 + 1;
-                    pUVar12 = local_70;
-                  }
-                }
-                *(int *)(this + 0x1e8) = (int)uVar15;
-                if ((int)uVar15 == 0) {
-LAB_8:
-                  local_a8[0] = (*local_90->lpVtbl->SetUINT32)
-                                          (local_90,(GUID *)&MF_NALU_LENGTH_SET,1);
-                  if (-1 < local_a8[0]) {
-                    Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
-                              ((ComPtr<struct_IMFPresentationDescriptor> *)&local_a0);
-                    goto LAB_3;
-                  }
-                  if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                     ((CallStackTracing::s_wpInstance =
-                            (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                      CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                      (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                         (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                    CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                  }
-                  if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                      (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                          (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                     (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                    CallStackContext::TraceFailure
-                              (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x372,
-                               local_a8[0]);
-                  }
-                  lVar14 = local_a8[0];
-                  uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                  if (uVar3 != '\0') {
-                    uVar10 = 0x83;
-                    goto LAB_4;
-                  }
-                }
-                else {
-                  local_70 = (UINT8 *)0x0;
-                  local_a8[0] = (*local_a0->lpVtbl->ConvertToContiguousBuffer)
-                                          (local_a0,(IMFMediaBuffer **)(this + 0x1f0));
-                  if (local_a8[0] < 0) {
-                    if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                       ((CallStackTracing::s_wpInstance =
-                              (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                        CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                        (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                           (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-                      CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                    }
-                    if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                        (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                            (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                       (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                      CallStackContext::TraceFailure
-                                (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x368
-                                 ,local_a8[0]);
-                    }
-                    lVar14 = local_a8[0];
-                    uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                    if (uVar3 != '\0') {
-                      uVar10 = 0x80;
-                      goto LAB_4;
-                    }
-                  }
-                  else {
-                    local_res20[0] = 0;
-                    This = *(IMFMediaBuffer **)(this + 0x1f0);
-                    local_a8[0] = (*This->lpVtbl->Lock)(This,&local_70,local_res20,(DWORD *)0x0);
-                    if (local_a8[0] < 0) {
-                      if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                         ((CallStackTracing::s_wpInstance =
-                                (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                          CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                          (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                             (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0))))
-                      {
-                        CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                      }
-                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                              (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                         (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                        CallStackContext::TraceFailure
-                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                   0x36a,local_a8[0]);
-                      }
-                      lVar14 = local_a8[0];
-                      uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                      if (uVar3 != '\0') {
-                        uVar10 = 0x81;
-                        goto LAB_4;
-                      }
-                    }
-                    else {
-                      puVar7 = (undefined8 *)
-                               wistd::unique_ptr<void,struct_wil::process_heap_deleter>::
-                               unique_ptr<void,struct_wil::process_heap_deleter><1,void>
-                                         ((unique_ptr<void,struct_wil::process_heap_deleter> *)
-                                          local_58,this);
-                      wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>(local_48,puVar7);
-                      local_a8[0] = (*local_90->lpVtbl->SetBlob)
-                                              (local_90,(GUID *)&MF_MT_MPEG_SEQUENCE_HEADER,local_70
-                                               ,local_res20[0]);
-                      if (-1 < local_a8[0]) {
-                        wil::details::ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>::
-                        ~ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>(local_48);
-                        goto LAB_8;
-                      }
-                      if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-                         ((CallStackTracing::s_wpInstance =
-                                (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-                          CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-                          (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                                             (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0))))
-                      {
-                        CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-                      }
-                      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-                          (pCVar6 = CallStackTracing::GetThreadRelativeContext
-                                              (CallStackTracing::s_wpInstance), local_a8[0] < 0)) &&
-                         (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-                        CallStackContext::TraceFailure
-                                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",
-                                   0x370,local_a8[0]);
-                      }
-                      lVar14 = local_a8[0];
-                      uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-                      if (uVar3 != '\0') {
-                        WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),0x82,
-                                  &WPP_b0f450d3db7535e612483e5f7f8b7661_Traceguids,this);
-                        lVar14 = local_a8[0];
-                      }
-                      wil::details::ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>::
-                      ~ScopeExitFn<<lambda_97d578cd73fb5089679ea40abecd1086>_>(local_48);
-                    }
-                  }
-                }
-              }
+              local_48 = 1;
+              local_50 = this;
+              local_c8[0] = (*local_80->lpVtbl->SetBlob)
+                                      (local_80,(GUID *)&MF_MT_MPEG_SEQUENCE_HEADER,local_68,
+                                       local_res20[0]);
+              if (-1 < local_c8[0]) {
+                (*(*(IMFMediaBuffer **)ppBuffer)->lpVtbl->Unlock)(*(IMFMediaBuffer **)ppBuffer);
+                goto LAB_14;
+              }
+              if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+                CallStackTracing::InitInstance();
+              }
+              if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+                  (pCVar6 = CallStackTracing::GetThreadRelativeContext
+                                      (CallStackTracing::s_wpInstance), local_c8[0] < 0)) &&
+                 (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+                CallStackContext::TraceFailure
+                          (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x3b5,
+                           local_c8[0]);
+              }
+              if (g_wppLevels != (MFWppLevels)0x0) {
+                WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),0x90,
+                          &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+              }
+              lVar18 = local_c8[0];
+              (*(*(IMFMediaBuffer **)ppBuffer)->lpVtbl->Unlock)(*(IMFMediaBuffer **)ppBuffer);
             }
-LAB_5:
-            Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
-                      ((ComPtr<struct_IMFPresentationDescriptor> *)&local_a0);
           }
         }
-      }
-      else {
-        if ((CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) &&
-           ((CallStackTracing::s_wpInstance =
-                  (CallStackTracing *)MFGetCallStackTracingWeakReference(),
-            CallStackTracing::s_wpInstance == (CallStackTracing *)0x0 ||
-            (iVar4 = (**(code **)(*(longlong *)CallStackTracing::s_wpInstance + 8))
-                               (CallStackTracing::s_wpInstance,0x7f0), iVar4 == 0)))) {
-          CallStackTracing::s_wpInstance = (CallStackTracing *)&DAT_0;
-        }
-        if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
-            (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
-            local_a8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_a8[0])) {
-          CallStackContext::TraceFailure
-                    (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x31d,local_a8[0]
-                    );
-        }
-        lVar14 = local_a8[0];
-        uVar3 = _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel();
-        if (uVar3 != '\0') {
-          uVar10 = 0x6f;
-          goto LAB_2;
-        }
-      }
+        Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                  ((ComPtr<struct_IMFPresentationDescriptor> *)&local_c0);
+        goto LAB_2;
+      }
+      local_c8[0] = -0x7ff8fff2;
+      if (CallStackTracing::s_wpInstance == (CallStackTracing *)0x0) {
+        CallStackTracing::InitInstance();
+      }
+      if (((CallStackTracing::s_wpInstance[8] != (CallStackTracing)0x0) &&
+          (pCVar6 = CallStackTracing::GetThreadRelativeContext(CallStackTracing::s_wpInstance),
+          local_c8[0] < 0)) && (*(int *)(pCVar6 + 0x7cc) != local_c8[0])) {
+        CallStackContext::TraceFailure
+                  (pCVar6,"MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType",0x331,local_c8[0]);
+      }
+      if (g_wppLevels != (MFWppLevels)0x0) {
+        uVar9 = 0x73;
+LAB_5:
+        WPP_SF_qd(*(undefined8 *)(WPP_GLOBAL_Control + 0x10),uVar9,
+                  &WPP_e018189444dc320f6ce96d7c159c81c5_Traceguids,this);
+      }
+LAB_4:
+      lVar18 = local_c8[0];
+      Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+                ((ComPtr<struct_IMFPresentationDescriptor> *)&local_c0);
+      CallStackScopeTrace::~CallStackScopeTrace(local_res18);
     }
   }
-  CallStackScopeTrace::~CallStackScopeTrace(local_res18);
-  wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::
-  ~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>(local_88);
-LAB_1:
+  local_a8 = 0;
+  <lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()(&local_b8);
+LAB_0:
   Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
-            ((ComPtr<struct_IMFPresentationDescriptor> *)&local_90);
-  return lVar14;
+            ((ComPtr<struct_IMFPresentationDescriptor> *)&local_80);
+  return lVar18;
 }
 

```


## wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|code,length,address|
|ratio|0.6|
|i_ratio|0.11|
|m_ratio|0.78|
|b_ratio|0.78|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''|`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''|
|fullname|wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''|wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''|
|refcount|2|2|
|`length`|43|71|
|called|||
|calling|||
|paramcount|0|0|
|`address`|180001e10|180001e40|
|sig|undefined __fastcall `dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''(void)|undefined __fastcall `dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''(void)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi'' Diff


```diff
--- wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''
+++ wil::details::`dynamic_initializer_for_'g_header_init_InitializeStagingHeaderApi''
@@ -1,14 +1,14 @@
-
-/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
 
 void wil::details::_dynamic_initializer_for__g_header_init_InitializeStagingHeaderApi__(void)
 
 {
-  _g_wil_details_apiRecordFeatureUsage = RecordFeatureUsage_exref;
-  _g_wil_details_apiSubscribeFeatureStateChangeNotification =
+  g_wil_details_apiGetFeatureEnabledState = GetFeatureEnabledStateHelper;
+  g_wil_details_apiRecordFeatureUsage = RecordFeatureUsage_exref;
+  g_wil_details_apiSubscribeFeatureStateChangeNotification =
        SubscribeFeatureStateChangeNotification_exref;
-  _g_wil_details_apiUnsubscribeFeatureStateChangeNotification =
+  g_wil_details_apiUnsubscribeFeatureStateChangeNotification =
        UnsubscribeFeatureStateChangeNotification_exref;
+  g_wil_details_realtimeFeatureUsageHook = CallStackInfo::~CallStackInfo;
   return;
 }
 

```


## Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession>

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|code,name,fullname,refcount,length,sig,address,calling,called,parent|
|ratio|0.28|
|i_ratio|0.0|
|m_ratio|0.08|
|b_ratio|0.0|
|match_types|Implied Match|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|`name`|~ComPtr<struct_IMFTelemetrySession>|OnTimer|
|`fullname`|Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession>|wil::details::EnabledStateManager::OnTimer|
|`refcount`|33|3|
|`length`|5|82|
|`called`|Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>wil::details::EnabledStateManager::RecordCachedUsageUnderLock<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|`calling`|<details><summary>Expand for full list:<br>`MFMkvPropertyHandler::PopulatePropertyStore'::__l1::dtor$4<br>`MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject'::__l1::dtor$3<br>`MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfSource::Command::Command'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::Command::Command'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor'::__l1::dtor$5<br>`MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor'::__l1::dtor$6</summary>`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$11<br>`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$12<br>`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$13<br>`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$3<br>`MkvMfSourceLib::MkvMfSource::SetExposeAllStreams'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::SetExposeAllStreams'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfStream::MkvMfStream'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::MkvMfStream'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfStream::MkvMfStream'::__l1::dtor$7<br>`MkvMfSourceLib::MkvMfStream::TransformSample'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfStreamAudio::CreateStream'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample'::__l1::dtor$9<br>`MkvMfSourceLib::MkvTimedText::CreateChapterTracks'::__l1::dtor$4<br>`MkvMfSourceLib::MkvTimedText::MkvTimedText'::__l1::dtor$2<br>`MkvMfSourceLib::MkvTimedText::MkvTimedText'::__l1::dtor$3<br>`MkvMfSourceLib::MkvTimedText::MkvTimedText'::__l1::dtor$4<br>`MkvMfSourceLib::MkvTimedText::NotifyTrackAdded'::__l1::dtor$0<br>`MkvMfSourceLib::MkvTimedText::RegisterHost'::__l1::dtor$7<br>`MkvMfSourceLib::MkvTimedText::SendCue'::__l1::dtor$2</details>|<lambda_0374aa0a5d1201b2358c6bce99369c58>::<lambda_invoker_cdecl><br><lambda_aa194dc0bf891154933407eb98fb868a>::<lambda_invoker_cdecl>|
|paramcount|1|1|
|`address`|1800076d0|18003c2a4|
|`sig`|void __thiscall ~ComPtr<struct_IMFTelemetrySession>(ComPtr<struct_IMFTelemetrySession> * this)|void __thiscall OnTimer(EnabledStateManager * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession> Called Diff


```diff
--- Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession> called
+++ wil::details::EnabledStateManager::OnTimer called
@@ -1 +1,3 @@
-Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive
+wil::details::EnabledStateManager::RecordCachedUsageUnderLock
+wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
```


### Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession> Calling Diff


```diff
--- Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession> calling
+++ wil::details::EnabledStateManager::OnTimer calling
@@ -1,33 +1,2 @@
-`MFMkvPropertyHandler::PopulatePropertyStore'::__l1::dtor$4
-`MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject'::__l1::dtor$1
-`MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject'::__l1::dtor$3
-`MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation'::__l1::dtor$1
-`MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject'::__l1::dtor$1
-`MkvMfSourceLib::MkvMfSource::Command::Command'::__l1::dtor$0
-`MkvMfSourceLib::MkvMfSource::Command::Command'::__l1::dtor$1
-`MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor'::__l1::dtor$5
-`MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor'::__l1::dtor$6
-`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$11
-`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$12
-`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$13
-`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfSource::MkvMfSource'::__l1::dtor$3
-`MkvMfSourceLib::MkvMfSource::SetExposeAllStreams'::__l1::dtor$0
-`MkvMfSourceLib::MkvMfSource::SetExposeAllStreams'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfStream::MkvMfStream'::__l1::dtor$1
-`MkvMfSourceLib::MkvMfStream::MkvMfStream'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfStream::MkvMfStream'::__l1::dtor$7
-`MkvMfSourceLib::MkvMfStream::TransformSample'::__l1::dtor$2
-`MkvMfSourceLib::MkvMfStreamAudio::CreateStream'::__l1::dtor$0
-`MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream'::__l1::dtor$1
-`MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample'::__l1::dtor$9
-`MkvMfSourceLib::MkvTimedText::CreateChapterTracks'::__l1::dtor$4
-`MkvMfSourceLib::MkvTimedText::MkvTimedText'::__l1::dtor$2
-`MkvMfSourceLib::MkvTimedText::MkvTimedText'::__l1::dtor$3
-`MkvMfSourceLib::MkvTimedText::MkvTimedText'::__l1::dtor$4
-`MkvMfSourceLib::MkvTimedText::NotifyTrackAdded'::__l1::dtor$0
-`MkvMfSourceLib::MkvTimedText::RegisterHost'::__l1::dtor$7
-`MkvMfSourceLib::MkvTimedText::SendCue'::__l1::dtor$2
+<lambda_0374aa0a5d1201b2358c6bce99369c58>::<lambda_invoker_cdecl>
+<lambda_aa194dc0bf891154933407eb98fb868a>::<lambda_invoker_cdecl>
```


### Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession> Diff


```diff
--- Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession>
+++ wil::details::EnabledStateManager::OnTimer
@@ -1,14 +1,28 @@
 
-/* public: __cdecl Microsoft::WRL::ComPtr<struct IMFTelemetrySession>::~ComPtr<struct
-   IMFTelemetrySession>(void) __ptr64 */
+/* public: void __cdecl wil::details::EnabledStateManager::OnTimer(void) __ptr64 */
 
-void __thiscall
-Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession>
-          (ComPtr<struct_IMFTelemetrySession> *this)
+void __thiscall wil::details::EnabledStateManager::OnTimer(EnabledStateManager *this)
 
 {
-  ComPtr<struct_IMFPresentationDescriptor>::InternalRelease
-            ((ComPtr<struct_IMFPresentationDescriptor> *)this);
+  EnabledStateManager *SRWLock;
+  unique_any_t<class_wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>_>
+  *in_RDX;
+  EnabledStateManager *local_res8;
+  
+  if (*(int *)this != 0) {
+    SRWLock = this + 8;
+    AcquireSRWLockExclusive((PSRWLOCK)SRWLock);
+    local_res8 = SRWLock;
+    if (*(int *)this != 0) {
+      RecordCachedUsageUnderLock(this,in_RDX);
+      this[0x18] = (EnabledStateManager)0x0;
+    }
+    unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+    ::
+    ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+                *)&local_res8);
+  }
   return;
 }
 

```


# Modified (No Code Changes)


*Slightly modified functions have no code changes, rather differnces in:*
- refcount
- length
- called
- calling
- name
- fullname

## ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>|ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>|
|fullname|wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>|wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>|
|`refcount`|7|6|
|length|15|15|
|called|||
|`calling`|MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample|
|paramcount|2|2|
|`address`|18000fbdc|18000fc4c|
|sig|undefined8 * __fastcall ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>(undefined8 * param_1, undefined8 * param_2)|undefined8 * __fastcall ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_>(undefined8 * param_1, undefined8 * param_2)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_> Calling Diff


```diff
--- wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_> calling
+++ wil::ScopeExit<<lambda_8803e76450334a78a8db16044dd2c386>_> calling
@@ -7 +6,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>|ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>|
|fullname|wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>|wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>|
|`refcount`|8|7|
|length|14|14|
|called|||
|`calling`|MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::RegisterHost|MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::RegisterHost|
|paramcount|2|2|
|`address`|18000fbc4|18000fc34|
|sig|undefined8 * __fastcall ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>(undefined8 * param_1, undefined8 * param_2)|undefined8 * __fastcall ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_>(undefined8 * param_1, undefined8 * param_2)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_> Calling Diff


```diff
--- wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_> calling
+++ wil::ScopeExit<<lambda_10c80c94d27179e180f889b55519c53a>_> calling
@@ -5 +4,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## InternalRelease

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.85|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|InternalRelease|InternalRelease|
|fullname|Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease|Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease|
|`refcount`|517|523|
|length|38|38|
|called|_guard_dispatch_icall$thunk$10345483385596137414|_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|<details><summary>Expand for full list:<br><lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()<br><lambda_328909d686623b46b9ed06730c5e8625>::~<lambda_328909d686623b46b9ed06730c5e8625><br><lambda_57d9ca84128fdacc23cca12b6762d349>::~<lambda_57d9ca84128fdacc23cca12b6762d349><br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::`scalar_deleting_destructor'<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver</summary>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMFVideoThumbnail::TryPutCodecInThumbnailMode<br>CreateCodecInfoFromMediaExtensionMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MFMkvPropertyHandler::~MFMkvPropertyHandler<br>Microsoft::WRL::ComPtr<class_MkvMfSourceLib::MkvTimedTextRequestToken>::As<struct_IUnknown><br>Microsoft::WRL::ComPtr<struct_IInspectable>::As<struct_Windows::Foundation::Collections::IMap<struct_HSTRING__*___ptr64,struct_IInspectable*___ptr64>_><br>Microsoft::WRL::ComPtr<struct_IMFByteStream>::As<struct_IMFByteStreamBuffering><br>Microsoft::WRL::ComPtr<struct_IMFMediaEventQueue>::operator=<br>Microsoft::WRL::ComPtr<struct_IMFMediaType>::operator=<br>Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession><br>Microsoft::WRL::ComPtr<struct_IMFTimedTextDataSourceHost>::operator=<br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvMetadataHandler,class_MkvMfSourceLib::MkvMetadataHandler,class_std::map<unsigned_long,class_Microsoft::WRL::ComPtr<class_MkvMfSourceLib::MkvMfStream>,struct_std::less<unsigned_long>,class_std::allocator<struct_std::pair<unsigned_long_const_,class_Microsoft::WRL::ComPtr<class_MkvMfSourceLib::MkvMfStream>_>_>_>*___ptr64,class_mkvparser::Tags_const*___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvMfSource,class_MkvMfSourceLib::MkvMfSource,struct_IMFByteStream*___ptr64&___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvMfStreamVideoMPEG,struct_IMFMediaStream,class_MkvMfSourceLib::MkvMfSource*___ptr64&___ptr64,class_mkvparser::Track_const*___ptr64&___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvTimedTextRequestToken,class_MkvMfSourceLib::MkvTimedTextRequestToken,unsigned_long&___ptr64,unsigned_long&___ptr64,unsigned_long&___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvTimedTextRequestToken,class_MkvMfSourceLib::MkvTimedTextRequestToken,unsigned_long&___ptr64,unsigned_long&___ptr64,unsigned_long&___ptr64><br>Microsoft::WRL::FtmBase::FtmBase<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFByteStreamHandler,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase>::`vector_deleting_destructor'<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaSource,struct_IMFMediaSourceEx,struct_IMFRateSupport,struct_IMFRateControl,struct_IMFGetService,struct_IMFMediaEventGenerator,struct_IMFRealTimeClientEx,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase>::`vector_deleting_destructor'<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaSource,struct_IMFMediaSourceEx,struct_IMFRateSupport,struct_IMFRateControl,struct_IMFGetService,struct_IMFMediaEventGenerator,struct_IMFRealTimeClientEx,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase>::~RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaSource,struct_IMFMediaSourceEx,struct_IMFRateSupport,struct_IMFRateControl,struct_IMFGetService,struct_IMFMediaEventGenerator,struct_IMFRealTimeClientEx,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase><br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaStream,struct_IMFMediaEventGenerator,class_Microsoft::WRL::FtmBase>::~RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaStream,struct_IMFMediaEventGenerator,class_Microsoft::WRL::FtmBase><br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFTimedTextDataSource,class_Microsoft::WRL::FtmBase>::`vector_deleting_destructor'<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFTimedTextDataSource,class_Microsoft::WRL::FtmBase>::~RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFTimedTextDataSource,class_Microsoft::WRL::FtmBase><br>Microsoft::WRL::SimpleClassFactory<class_MFMkvPropertyHandler,0>::CreateInstance<br>Microsoft::WRL::SimpleClassFactory<class_MkvMfSourceLib::MkvMfByteStreamHandler,0>::CreateInstance<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::~MkvMfByteStreamHandler<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::Command<br>MkvMfSourceLib::MkvMfSource::Command::Command<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::SetDesc<br>MkvMfSourceLib::MkvMfSource::Command::~Command<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::SetExposeAllStreams<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStream::~MkvMfStream<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::~MkvMfStreamVideoAVC<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::TrackData::~TrackData<br>MkvMfSourceLib::MkvTimedText::UnregisterHost<br>MkvMfSourceLib::MkvTimedText::~MkvTimedText<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::~MkvReader<br>MkvSourceTelemetryLogger::~MkvSourceTelemetryLogger<br>std::_Destroy_range<class_std::allocator<class_Microsoft::WRL::ComPtr<struct_IMFStreamDescriptor>_>_><br>std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>::_Freenode<class_std::allocator<struct_std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>_>_><br>std::_List_node_emplace_op2<class_std::allocator<struct_std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>_>_>::~_List_node_emplace_op2<class_std::allocator<struct_std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>_>_><br>std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>::_Freenode<class_std::allocator<struct_std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>_>_><br>std::_Tree_temp_node<class_std::allocator<struct_std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>_>_>::~_Tree_temp_node<class_std::allocator<struct_std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>_>_><br>std::pair<unsigned_long,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>::~pair<unsigned_long,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData></details>|<details><summary>Expand for full list:<br><lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()<br><lambda_328909d686623b46b9ed06730c5e8625>::~<lambda_328909d686623b46b9ed06730c5e8625><br><lambda_57d9ca84128fdacc23cca12b6762d349>::~<lambda_57d9ca84128fdacc23cca12b6762d349><br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::`scalar_deleting_destructor'<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver</summary>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMFVideoThumbnail::TryPutCodecInThumbnailMode<br>CreateCodecInfoFromMediaExtensionMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MFMkvPropertyHandler::~MFMkvPropertyHandler<br>Microsoft::WRL::ComPtr<class_MkvMfSourceLib::MkvTimedTextRequestToken>::As<struct_IUnknown><br>Microsoft::WRL::ComPtr<struct_IInspectable>::As<struct_Windows::Foundation::Collections::IMap<struct_HSTRING__*___ptr64,struct_IInspectable*___ptr64>_><br>Microsoft::WRL::ComPtr<struct_IMFByteStream>::As<struct_IMFByteStreamBuffering><br>Microsoft::WRL::ComPtr<struct_IMFMediaEventQueue>::operator=<br>Microsoft::WRL::ComPtr<struct_IMFMediaType>::operator=<br>Microsoft::WRL::ComPtr<struct_IMFTelemetrySession>::~ComPtr<struct_IMFTelemetrySession><br>Microsoft::WRL::ComPtr<struct_IMFTimedTextDataSourceHost>::operator=<br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvMetadataHandler,class_MkvMfSourceLib::MkvMetadataHandler,class_std::map<unsigned_long,class_Microsoft::WRL::ComPtr<class_MkvMfSourceLib::MkvMfStream>,struct_std::less<unsigned_long>,class_std::allocator<struct_std::pair<unsigned_long_const_,class_Microsoft::WRL::ComPtr<class_MkvMfSourceLib::MkvMfStream>_>_>_>*___ptr64,class_mkvparser::Tags_const*___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvMfSource,class_MkvMfSourceLib::MkvMfSource,struct_IMFByteStream*___ptr64&___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvMfStreamVideoMPEG,struct_IMFMediaStream,class_MkvMfSourceLib::MkvMfSource*___ptr64&___ptr64,class_mkvparser::Track_const*___ptr64&___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvTimedTextRequestToken,class_MkvMfSourceLib::MkvTimedTextRequestToken,unsigned_long&___ptr64,unsigned_long&___ptr64,unsigned_long&___ptr64><br>Microsoft::WRL::Details::MakeAndInitialize<class_MkvMfSourceLib::MkvTimedTextRequestToken,class_MkvMfSourceLib::MkvTimedTextRequestToken,unsigned_long&___ptr64,unsigned_long&___ptr64,unsigned_long&___ptr64><br>Microsoft::WRL::FtmBase::FtmBase<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFByteStreamHandler,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase>::`vector_deleting_destructor'<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaSource,struct_IMFMediaSourceEx,struct_IMFRateSupport,struct_IMFRateControl,struct_IMFGetService,struct_IMFMediaEventGenerator,struct_IMFRealTimeClientEx,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase>::`vector_deleting_destructor'<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaSource,struct_IMFMediaSourceEx,struct_IMFRateSupport,struct_IMFRateControl,struct_IMFGetService,struct_IMFMediaEventGenerator,struct_IMFRealTimeClientEx,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase>::~RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaSource,struct_IMFMediaSourceEx,struct_IMFRateSupport,struct_IMFRateControl,struct_IMFGetService,struct_IMFMediaEventGenerator,struct_IMFRealTimeClientEx,struct_IMFTelemetryComponent,class_Microsoft::WRL::FtmBase><br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaStream,struct_IMFMediaEventGenerator,class_Microsoft::WRL::FtmBase>::~RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFMediaStream,struct_IMFMediaEventGenerator,class_Microsoft::WRL::FtmBase><br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFTimedTextDataSource,class_Microsoft::WRL::FtmBase>::`vector_deleting_destructor'<br>Microsoft::WRL::RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFTimedTextDataSource,class_Microsoft::WRL::FtmBase>::~RuntimeClass<struct_Microsoft::WRL::RuntimeClassFlags<2>,struct_IMFTimedTextDataSource,class_Microsoft::WRL::FtmBase><br>Microsoft::WRL::SimpleClassFactory<class_MFMkvPropertyHandler,0>::CreateInstance<br>Microsoft::WRL::SimpleClassFactory<class_MkvMfSourceLib::MkvMfByteStreamHandler,0>::CreateInstance<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::~MkvMfByteStreamHandler<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::Command<br>MkvMfSourceLib::MkvMfSource::Command::Command<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::SetDesc<br>MkvMfSourceLib::MkvMfSource::Command::~Command<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::SetExposeAllStreams<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStream::~MkvMfStream<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::~MkvMfStreamVideoAVC<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::TrackData::~TrackData<br>MkvMfSourceLib::MkvTimedText::UnregisterHost<br>MkvMfSourceLib::MkvTimedText::~MkvTimedText<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::~MkvReader<br>MkvSourceTelemetryLogger::~MkvSourceTelemetryLogger<br>std::_Destroy_range<class_std::allocator<class_Microsoft::WRL::ComPtr<struct_IMFStreamDescriptor>_>_><br>std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>::_Freenode<class_std::allocator<struct_std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>_>_><br>std::_List_node_emplace_op2<class_std::allocator<struct_std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>_>_>::~_List_node_emplace_op2<class_std::allocator<struct_std::_List_node<class_Microsoft::WRL::ComPtr<struct_IMFSample>,void*___ptr64>_>_><br>std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>::_Freenode<class_std::allocator<struct_std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>_>_><br>std::_Tree_temp_node<class_std::allocator<struct_std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>_>_>::~_Tree_temp_node<class_std::allocator<struct_std::_Tree_node<struct_std::pair<unsigned_long_const_,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>,void*___ptr64>_>_><br>std::pair<unsigned_long,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData>::~pair<unsigned_long,class_MkvMfSourceLib::MkvTimedText::ChapterTrackData></details>|
|paramcount|1|1|
|`address`|180008e78|180008ee8|
|sig|ulong __thiscall InternalRelease(ComPtr<struct_IMFPresentationDescriptor> * this)|ulong __thiscall InternalRelease(ComPtr<struct_IMFPresentationDescriptor> * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### InternalRelease Calling Diff


```diff

```


## <lambda_8803e76450334a78a8db16044dd2c386>

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|<lambda_8803e76450334a78a8db16044dd2c386>|<lambda_8803e76450334a78a8db16044dd2c386>|
|fullname|<lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386>|<lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386>|
|`refcount`|7|6|
|length|11|11|
|called|||
|`calling`|MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample|
|paramcount|3|3|
|`address`|180010a90|180010b00|
|sig|undefined8 * __fastcall <lambda_8803e76450334a78a8db16044dd2c386>(undefined8 * param_1, undefined8 param_2, undefined8 param_3)|undefined8 * __fastcall <lambda_8803e76450334a78a8db16044dd2c386>(undefined8 * param_1, undefined8 param_2, undefined8 param_3)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### <lambda_8803e76450334a78a8db16044dd2c386> Calling Diff


```diff
--- <lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386> calling
+++ <lambda_8803e76450334a78a8db16044dd2c386>::<lambda_8803e76450334a78a8db16044dd2c386> calling
@@ -7 +6,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## ~CallStackInfo

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|~CallStackInfo|~CallStackInfo|
|fullname|CallStackInfo::~CallStackInfo|CallStackInfo::~CallStackInfo|
|`refcount`|10|11|
|length|3|3|
|called|||
|calling|`Microsoft::WRL::Details::MakeAndInitialize<MFMkvPropertyHandler,IUnknown>'::__l1::dtor$1<br>`Microsoft::WRL::Details::MakeAndInitialize<MkvMfSourceLib::MkvMfSource,MkvMfSourceLib::MkvMfSource,IMFByteStream_*_&>'::__l1::dtor$1<br>`Microsoft::WRL::Details::MakeAndInitialize<MkvMfSourceLib::MkvMfStreamAudio,IMFMediaStream,MkvMfSourceLib::MkvMfSource_*_&,mkvparser::Track_const_*_&>'::__l1::dtor$1|`Microsoft::WRL::Details::MakeAndInitialize<MFMkvPropertyHandler,IUnknown>'::__l1::dtor$1<br>`Microsoft::WRL::Details::MakeAndInitialize<MkvMfSourceLib::MkvMfSource,MkvMfSourceLib::MkvMfSource,IMFByteStream_*_&>'::__l1::dtor$1<br>`Microsoft::WRL::Details::MakeAndInitialize<MkvMfSourceLib::MkvMfStreamAudio,IMFMediaStream,MkvMfSourceLib::MkvMfSource_*_&,mkvparser::Track_const_*_&>'::__l1::dtor$1|
|paramcount|1|1|
|`address`|180007980|1800079f0|
|sig|void __thiscall ~CallStackInfo(CallStackInfo * this)|void __thiscall ~CallStackInfo(CallStackInfo * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

## ~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.71|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>|~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>|
|fullname|wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>|wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>|
|`refcount`|7|5|
|length|24|24|
|called|<lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()|<lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()|
|`calling`|MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>`MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType'::__l1::dtor$2|MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>`MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType'::__l1::dtor$2<br>`MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType'::__l1::dtor$2|
|paramcount|1|1|
|`address`|180035df4|180035fcc|
|sig|undefined __fastcall ~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>(undefined8 * param_1)|undefined __fastcall ~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>(undefined8 * param_1)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### ~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_> Calling Diff


```diff
--- wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_> calling
+++ wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_> calling
@@ -2 +1,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## ProcessShutdownInProgress

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.62|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|ProcessShutdownInProgress|ProcessShutdownInProgress|
|fullname|wil::ProcessShutdownInProgress|wil::ProcessShutdownInProgress|
|`refcount`|2|5|
|length|47|47|
|called|_guard_dispatch_icall$thunk$10345483385596137414|_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Release|wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Release|
|paramcount|0|0|
|`address`|18000954c|1800095bc|
|sig|bool __cdecl ProcessShutdownInProgress(void)|bool __cdecl ProcessShutdownInProgress(void)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### ProcessShutdownInProgress Calling Diff


```diff
--- wil::ProcessShutdownInProgress calling
+++ wil::ProcessShutdownInProgress calling
@@ -0,0 +1,2 @@
+wil::details::EnabledStateManager::QueueBackgroundUsageReporting
+wil::details::`dynamic_atexit_destructor_for_'g_enabledStateManager''
```


## last_error_context

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.91|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|last_error_context|last_error_context|
|fullname|wil::last_error_context::last_error_context|wil::last_error_context::last_error_context|
|`refcount`|3|6|
|length|36|36|
|called|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::GetLastError|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::GetLastError|
|`calling`|wil::details::unique_storage<struct_wil::details::resource_policy<void*___ptr64,void_(__cdecl*)(void*___ptr64)_noexcept,&void___cdecl_wil::details::CloseHandle(void*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,void*___ptr64,void*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Release|wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager><br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details::unique_storage<struct_wil::details::resource_policy<void*___ptr64,void_(__cdecl*)(void*___ptr64)_noexcept,&void___cdecl_wil::details::CloseHandle(void*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,void*___ptr64,void*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Release<br>wil::details_abi::heap_buffer::reserve|
|paramcount|1|1|
|`address`|1800076a4|180007714|
|sig|undefined __thiscall last_error_context(last_error_context * this)|undefined __thiscall last_error_context(last_error_context * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### last_error_context Calling Diff


```diff
--- wil::last_error_context::last_error_context calling
+++ wil::last_error_context::last_error_context calling
@@ -0,0 +1,2 @@
+wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>
+wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset
@@ -2,0 +5 @@
+wil::details_abi::heap_buffer::reserve
```


## GetLevel

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.5|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|GetLevel|GetLevel|
|fullname|_MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel|_MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel|
|`refcount`|1815|1792|
|length|7|7|
|called|||
|`calling`|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Clear<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFFindNextStartCode<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$32<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Seek</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Clear<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFFindNextStartCode<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$32<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Seek</details>|
|paramcount|0|0|
|`address`|1800165a8|180016618|
|sig|uchar __cdecl GetLevel(void)|uchar __cdecl GetLevel(void)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### GetLevel Calling Diff


```diff
--- _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel calling
+++ _MFControlLevel_CTRLGUID_MF_PLATFORM::GetLevel calling
@@ -217 +216,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## GetThreadRelativeContext

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.64|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|GetThreadRelativeContext|GetThreadRelativeContext|
|fullname|CallStackTracing::GetThreadRelativeContext|CallStackTracing::GetThreadRelativeContext|
|`refcount`|2286|2299|
|length|224|224|
|called|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::GetLastError<br>API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::SetLastError<br>API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL::TlsGetValue<br>MFPLAT.DLL::MFGetCallStackTracingWeakReference<br>_guard_dispatch_icall$thunk$10345483385596137414|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::GetLastError<br>API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::SetLastError<br>API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL::TlsGetValue<br>MFPLAT.DLL::MFGetCallStackTracingWeakReference<br>_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFStreamingPropHandler::InsertProperty<br>CMFStreamingPropHandler::QueryInterface<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::ElapsedTime<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::OnReadSample<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CallStackScopeTrace::CallStackScopeTrace<br>CallStackScopeTrace::~CallStackScopeTrace<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::AddStreamDescriptorProperties<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MFPutWorkItem<<lambda_328909d686623b46b9ed06730c5e8625>_><br>MFPutWorkItem<<lambda_57d9ca84128fdacc23cca12b6762d349>_><br>MFPutWorkItem<<lambda_98e73d57397b91dc91099819864f93af>_><br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetSession<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Close<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::Flush<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnAsyncRead<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::RequestSample<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectInit<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetNextBlockCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncInitStreams<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCues<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncRequestSample<br>MkvMfSourceLib::MkvMfSource::StateQuit<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::Log<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFStreamingPropHandler::InsertProperty<br>CMFStreamingPropHandler::QueryInterface<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::ElapsedTime<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::OnReadSample<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CallStackScopeTrace::CallStackScopeTrace<br>CallStackScopeTrace::~CallStackScopeTrace<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::AddStreamDescriptorProperties<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MFPutWorkItem<<lambda_328909d686623b46b9ed06730c5e8625>_><br>MFPutWorkItem<<lambda_57d9ca84128fdacc23cca12b6762d349>_><br>MFPutWorkItem<<lambda_98e73d57397b91dc91099819864f93af>_><br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetSession<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Close<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::Flush<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnAsyncRead<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::RequestSample<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectInit<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetNextBlockCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncInitStreams<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCues<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncRequestSample<br>MkvMfSourceLib::MkvMfSource::StateQuit<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::Log<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|
|paramcount|1|1|
|`address`|18000cf24|18000cf94|
|sig|CallStackContext * __thiscall GetThreadRelativeContext(CallStackTracing * this)|CallStackContext * __thiscall GetThreadRelativeContext(CallStackTracing * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### GetThreadRelativeContext Calling Diff


```diff

```


## unique_ptr<void,struct_wil::process_heap_deleter><1,void>

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|unique_ptr<void,struct_wil::process_heap_deleter><1,void>|unique_ptr<void,struct_wil::process_heap_deleter><1,void>|
|fullname|wistd::unique_ptr<void,struct_wil::process_heap_deleter>::unique_ptr<void,struct_wil::process_heap_deleter><1,void>|wistd::unique_ptr<void,struct_wil::process_heap_deleter>::unique_ptr<void,struct_wil::process_heap_deleter><1,void>|
|`refcount`|9|8|
|length|7|7|
|called|||
|`calling`|MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::MakeAndInitialize|MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::MakeAndInitialize|
|paramcount|2|2|
|`address`|1800069a0|180006a10|
|sig|undefined __thiscall unique_ptr<void,struct_wil::process_heap_deleter><1,void>(unique_ptr<void,struct_wil::process_heap_deleter> * this, void * param_1)|undefined __thiscall unique_ptr<void,struct_wil::process_heap_deleter><1,void>(unique_ptr<void,struct_wil::process_heap_deleter> * this, void * param_1)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### unique_ptr<void,struct_wil::process_heap_deleter><1,void> Calling Diff


```diff
--- wistd::unique_ptr<void,struct_wil::process_heap_deleter>::unique_ptr<void,struct_wil::process_heap_deleter><1,void> calling
+++ wistd::unique_ptr<void,struct_wil::process_heap_deleter>::unique_ptr<void,struct_wil::process_heap_deleter><1,void> calling
@@ -5 +4,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## MFPLAT.DLL::MFCreateAlignedMemoryBuffer

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|MFCreateAlignedMemoryBuffer|MFCreateAlignedMemoryBuffer|
|fullname|MFPLAT.DLL::MFCreateAlignedMemoryBuffer|MFPLAT.DLL::MFCreateAlignedMemoryBuffer|
|`refcount`|5|6|
|length|0|0|
|called|||
|calling|MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType|
|paramcount|3|3|
|`address`|EXTERNAL:000000e5|EXTERNAL:000000ea|
|sig|HRESULT __stdcall MFCreateAlignedMemoryBuffer(DWORD cbMaxLength, DWORD cbAligment, IMFMediaBuffer * * ppBuffer)|HRESULT __stdcall MFCreateAlignedMemoryBuffer(DWORD cbMaxLength, DWORD cbAligment, IMFMediaBuffer * * ppBuffer)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

## ~CallStackScopeTrace

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address|
|ratio|1.0|
|i_ratio|0.62|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|~CallStackScopeTrace|~CallStackScopeTrace|
|fullname|CallStackScopeTrace::~CallStackScopeTrace|CallStackScopeTrace::~CallStackScopeTrace|
|`refcount`|661|665|
|length|57|57|
|called|CallStackContext::ClearState<br>CallStackTracing::GetThreadRelativeContext|CallStackContext::ClearState<br>CallStackTracing::GetThreadRelativeContext|
|calling|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::ElapsedTime<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::OnReadSample<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CheckKeyValueType<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckSystemConstraints<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AAC<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AC3<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_ADTS<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_ADTS_MPEG2_TS<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AVC<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MP3<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG1<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG2_PS<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG4_P2<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_1_Audio<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MkvMfSourceLib::CodecFromIdString<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Close<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::Flush<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnAsyncRead<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::RequestSample<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectInit<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetNextBlockCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncInitStreams<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCues<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncRequestSample<br>MkvMfSourceLib::MkvMfSource::StateQuit<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::Deselect<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetCurrTime<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::InitCurrBlockObject<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::Select<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::SetSeekInfo<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::SetEOS<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CanHaveData<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvMfSourceLib::MkvTimedText::SetTrackPosition<br>MkvMfSourceLib::MkvTimedText::StartTrack<br>MkvMfSourceLib::MkvTimedText::UnregisterHost<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadInit<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>`MFMkvPropertyHandler::PopulatePropertyStore'::__l1::dtor$0<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::BeginGetEvent'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfSource::BeginLoad'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::Close'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::Command::OnStartComplete'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::CreateSource'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>`MkvMfSourceLib::MkvMfSource::GetNextBlockForStream'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::StateRequestSample'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::BeginGetEvent'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::FillRequests'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::GetMFMediaType'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStream::GetStreamDescriptor'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStream::QueueSample'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::ReadBlock'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStream::TransformSample'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType'::__l1::dtor$3<br>`MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType'::__l1::dtor$3<br>`MkvMfSourceLib::MkvTimedText::CreateChapterTracks'::__l1::dtor$0<br>`MkvReader::AsyncReadCompletion'::__l1::dtor$0<br>`MkvReader::AsyncReadPage'::__l1::dtor$0<br>`MkvReader::Read'::__l1::dtor$0<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::ElapsedTime<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::OnReadSample<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CheckKeyValueType<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckSystemConstraints<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AAC<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AC3<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_ADTS<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_ADTS_MPEG2_TS<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AVC<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MP3<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG1<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG2_PS<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG4_P2<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_1_Audio<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MkvMfSourceLib::CodecFromIdString<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Close<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::Flush<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnAsyncRead<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::RequestSample<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectInit<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetNextBlockCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncInitStreams<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCues<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncRequestSample<br>MkvMfSourceLib::MkvMfSource::StateQuit<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::Deselect<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetCurrTime<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::InitCurrBlockObject<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::Select<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::SetSeekInfo<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::SetEOS<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CanHaveData<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvMfSourceLib::MkvTimedText::SetTrackPosition<br>MkvMfSourceLib::MkvTimedText::StartTrack<br>MkvMfSourceLib::MkvTimedText::UnregisterHost<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadInit<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>`MFMkvPropertyHandler::PopulatePropertyStore'::__l1::dtor$0<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::BeginGetEvent'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfSource::BeginLoad'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::Close'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::Command::OnStartComplete'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::CreateSource'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>`MkvMfSourceLib::MkvMfSource::GetNextBlockForStream'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfSource::StateRequestSample'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::BeginGetEvent'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::FillRequests'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::GetMFMediaType'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStream::GetStreamDescriptor'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStream::QueueSample'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::ReadBlock'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStream::TransformSample'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample'::__l1::dtor$0<br>`MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType'::__l1::dtor$3<br>`MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType'::__l1::dtor$1<br>`MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType'::__l1::dtor$3<br>`MkvMfSourceLib::MkvTimedText::CreateChapterTracks'::__l1::dtor$0<br>`MkvMfSourceLib::MkvTimedText::SetPositionInternal'::__l1::dtor$0<br>`MkvReader::AsyncReadCompletion'::__l1::dtor$0<br>`MkvReader::AsyncReadPage'::__l1::dtor$0<br>`MkvReader::Read'::__l1::dtor$0<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|
|paramcount|1|1|
|`address`|1800114d0|180011540|
|sig|void __thiscall ~CallStackScopeTrace(CallStackScopeTrace * this)|void __thiscall ~CallStackScopeTrace(CallStackScopeTrace * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

## ProcessHeapAlloc

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.61|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|ProcessHeapAlloc|ProcessHeapAlloc|
|fullname|wil::details::ProcessHeapAlloc|wil::details::ProcessHeapAlloc|
|`refcount`|4|5|
|length|182|182|
|called|API-MS-WIN-CORE-HEAP-L1-1-0.DLL::GetProcessHeap<br>API-MS-WIN-CORE-HEAP-L1-1-0.DLL::HeapAlloc<br>API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL::GetModuleHandleW<br>API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL::GetProcAddress<br>_guard_dispatch_icall$thunk$10345483385596137414|API-MS-WIN-CORE-HEAP-L1-1-0.DLL::GetProcessHeap<br>API-MS-WIN-CORE-HEAP-L1-1-0.DLL::HeapAlloc<br>API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL::GetModuleHandleW<br>API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL::GetProcAddress<br>_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::MakeAndInitialize<br>wil::details_abi::ThreadLocalData::SetLastError<br>wil::details_abi::ThreadLocalFailureInfo::Set|wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::MakeAndInitialize<br>wil::details_abi::ThreadLocalData::SetLastError<br>wil::details_abi::ThreadLocalFailureInfo::Set<br>wil::details_abi::heap_buffer::reserve|
|paramcount|2|2|
|`address`|18000948c|1800094fc|
|sig|void * __cdecl ProcessHeapAlloc(ulong param_1, __uint64 param_2)|void * __cdecl ProcessHeapAlloc(ulong param_1, __uint64 param_2)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### ProcessHeapAlloc Calling Diff


```diff
--- wil::details::ProcessHeapAlloc calling
+++ wil::details::ProcessHeapAlloc calling
@@ -3,0 +4 @@
+wil::details_abi::heap_buffer::reserve
```


## InitInstance

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.59|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|InitInstance|InitInstance|
|fullname|CallStackTracing::InitInstance|CallStackTracing::InitInstance|
|`refcount`|195|231|
|length|71|71|
|called|MFPLAT.DLL::MFGetCallStackTracingWeakReference<br>_guard_dispatch_icall$thunk$10345483385596137414|MFPLAT.DLL::MFGetCallStackTracingWeakReference<br>_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|<details><summary>Expand for full list:<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CreateCodecInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>MFPutWorkItem<<lambda_328909d686623b46b9ed06730c5e8625>_><br>MFPutWorkItem<<lambda_57d9ca84128fdacc23cca12b6762d349>_></summary>MFPutWorkItem<<lambda_98e73d57397b91dc91099819864f93af>_><br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>mkvparser::Segment::ParseHeaders<br>mkvparser::VideoTrack::Parse</details>|<details><summary>Expand for full list:<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CreateCodecInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>MFPutWorkItem<<lambda_328909d686623b46b9ed06730c5e8625>_><br>MFPutWorkItem<<lambda_57d9ca84128fdacc23cca12b6762d349>_></summary>MFPutWorkItem<<lambda_98e73d57397b91dc91099819864f93af>_><br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>mkvparser::Segment::ParseHeaders<br>mkvparser::VideoTrack::Parse</details>|
|paramcount|0|0|
|`address`|180076b48|1800781a8|
|sig|void __cdecl InitInstance(void)|void __cdecl InitInstance(void)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### InitInstance Calling Diff


```diff
--- CallStackTracing::InitInstance calling
+++ CallStackTracing::InitInstance calling
@@ -16,0 +17 @@
+MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|AcquireSRWLockExclusive|AcquireSRWLockExclusive|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive|
|`refcount`|2|9|
|length|0|0|
|called|||
|`calling`|Microsoft::WRL::Wrappers::SRWLock::LockExclusive|Microsoft::WRL::Wrappers::SRWLock::LockExclusive<br>wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::OnStateChange<br>wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState|
|paramcount|1|1|
|address|EXTERNAL:00000074|EXTERNAL:00000074|
|sig|void __stdcall AcquireSRWLockExclusive(PSRWLOCK SRWLock)|void __stdcall AcquireSRWLockExclusive(PSRWLOCK SRWLock)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive calling
@@ -1,0 +2,7 @@
+wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl
+wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush
+wil::details::EnabledStateManager::OnStateChange
+wil::details::EnabledStateManager::OnTimer
+wil::details::EnabledStateManager::ProcessShutdown
+wil::details::EnabledStateManager::QueueBackgroundUsageReporting
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_3010967866>::GetCachedFeatureEnabledState
```


## atexit

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.88|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|atexit|atexit|
|fullname|atexit|atexit|
|`refcount`|12|13|
|length|23|23|
|called|_onexit|_onexit|
|`calling`|<details><summary>Expand for full list:<br>MkvMfSourceLib::`dynamic_initializer_for_'g_codecMap''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_codecMapLock''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagMapLock''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagToPKEYMap''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagToPKEYMapAudio''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagToPKEYMapVideo''<br>MkvMfSourceLib::`dynamic_initializer_for_'s_languageMap''<br>`dynamic_initializer_for_'Microsoft::WRL::Details::StaticStorage<Microsoft::WRL::Details::DefaultModule<1>,0,int>::instance_''<br>`dynamic_initializer_for_'s_disabledContext''<br>wil::details::`dynamic_atexit_destructor_for_'g_threadFailureCallbacks''<br>wil::details::`dynamic_initializer_for_'g_processLocalData''</summary></details>|<details><summary>Expand for full list:<br>MkvMfSourceLib::`dynamic_initializer_for_'g_codecMap''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_codecMapLock''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagMapLock''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagToPKEYMap''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagToPKEYMapAudio''<br>MkvMfSourceLib::`dynamic_initializer_for_'g_tagToPKEYMapVideo''<br>MkvMfSourceLib::`dynamic_initializer_for_'s_languageMap''<br>`dynamic_initializer_for_'Microsoft::WRL::Details::StaticStorage<Microsoft::WRL::Details::DefaultModule<1>,0,int>::instance_''<br>`dynamic_initializer_for_'s_disabledContext''<br>wil::details::`dynamic_atexit_destructor_for_'g_threadFailureCallbacks''<br>wil::details::`dynamic_initializer_for_'g_enabledStateManager''</summary>wil::details::`dynamic_initializer_for_'g_processLocalData''</details>|
|paramcount|1|1|
|`address`|1800027e4|180002844|
|sig|int __cdecl atexit(_func_5014 * param_1)|int __cdecl atexit(_func_5014 * param_1)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### atexit Calling Diff


```diff
--- atexit calling
+++ atexit calling
@@ -10,0 +11 @@
+wil::details::`dynamic_initializer_for_'g_enabledStateManager''
```


## __GSHandlerCheck_EH4

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address|
|ratio|1.0|
|i_ratio|0.92|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|__GSHandlerCheck_EH4|__GSHandlerCheck_EH4|
|fullname|__GSHandlerCheck_EH4|__GSHandlerCheck_EH4|
|`refcount`|94|95|
|length|127|127|
|called|__CxxFrameHandler4<br>__GSHandlerCheckCommon|__CxxFrameHandler4<br>__GSHandlerCheckCommon|
|calling|||
|paramcount|4|4|
|`address`|1800ae034|1800af694|
|sig|undefined __fastcall __GSHandlerCheck_EH4(longlong param_1, undefined8 param_2, undefined8 param_3, longlong param_4)|undefined __fastcall __GSHandlerCheck_EH4(longlong param_1, undefined8 param_2, undefined8 param_3, longlong param_4)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

## MFPLAT.DLL::MFGetCallStackTracingWeakReference

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|MFGetCallStackTracingWeakReference|MFGetCallStackTracingWeakReference|
|fullname|MFPLAT.DLL::MFGetCallStackTracingWeakReference|MFPLAT.DLL::MFGetCallStackTracingWeakReference|
|`refcount`|1996|1973|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFStreamingPropHandler::InsertProperty<br>CMFStreamingPropHandler::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CallStackScopeTrace::CallStackScopeTrace<br>CallStackTracing::GetThreadRelativeContext<br>CallStackTracing::InitInstance<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::AddStreamDescriptorProperties<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetSession<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::Log<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Seek</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFStreamingPropHandler::InsertProperty<br>CMFStreamingPropHandler::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CallStackScopeTrace::CallStackScopeTrace<br>CallStackTracing::GetThreadRelativeContext<br>CallStackTracing::InitInstance<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::AddStreamDescriptorProperties<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetSession<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::Log<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Seek</details>|
|paramcount|0|0|
|`address`|EXTERNAL:000000ce|EXTERNAL:000000d3|
|sig|undefined MFGetCallStackTracingWeakReference(void)|undefined MFGetCallStackTracingWeakReference(void)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### MFPLAT.DLL::MFGetCallStackTracingWeakReference Calling Diff


```diff
--- MFPLAT.DLL::MFGetCallStackTracingWeakReference calling
+++ MFPLAT.DLL::MFGetCallStackTracingWeakReference calling
@@ -246 +245,0 @@
-MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## TraceFailure

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.79|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|TraceFailure|TraceFailure|
|fullname|CallStackContext::TraceFailure|CallStackContext::TraceFailure|
|`refcount`|2064|2077|
|length|152|152|
|called|McTemplateU0pdds_EventWriteTransfer<br>_guard_dispatch_icall$thunk$10345483385596137414|McTemplateU0pdds_EventWriteTransfer<br>_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFStreamingPropHandler::InsertProperty<br>CMFStreamingPropHandler::QueryInterface<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::AddStreamDescriptorProperties<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MFPutWorkItem<<lambda_328909d686623b46b9ed06730c5e8625>_><br>MFPutWorkItem<<lambda_57d9ca84128fdacc23cca12b6762d349>_><br>MFPutWorkItem<<lambda_98e73d57397b91dc91099819864f93af>_><br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetSession<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::Log<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::CheckForTotalBitrateProperty<br>CMFStreamingPropHandler::CreateInstance<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFStreamingPropHandler::InsertProperty<br>CMFStreamingPropHandler::QueryInterface<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>MFMkvPropertyHandler::AddStreamDescriptorProperties<br>MFMkvPropertyHandler::EndLoadAsync<br>MFMkvPropertyHandler::InternalInitialize<br>MFMkvPropertyHandler::LoadSourceAsync<br>MFMkvPropertyHandler::PopulatePropertyStore<br>MFPutWorkItem<<lambda_328909d686623b46b9ed06730c5e8625>_><br>MFPutWorkItem<<lambda_57d9ca84128fdacc23cca12b6762d349>_><br>MFPutWorkItem<<lambda_98e73d57397b91dc91099819864f93af>_><br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMetadataTag::Init<br>MkvMfSourceLib::MkvMfByteStreamHandler::BeginCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::CancelObjectCreation<br>MkvMfSourceLib::MkvMfByteStreamHandler::EndCreateObject<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution<br>MkvMfSourceLib::MkvMfByteStreamHandler::GetSession<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamAudio::CreateStream<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioAAC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioFLAC::OnDiscontinuity<br>MkvMfSourceLib::MkvMfStreamAudioMSACM::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamAudioVorbis::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::Log<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|
|paramcount|4|4|
|`address`|180076b98|1800781f8|
|sig|void __thiscall TraceFailure(CallStackContext * this, char * param_1, long param_2, long param_3)|void __thiscall TraceFailure(CallStackContext * this, char * param_1, long param_2, long param_3)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### TraceFailure Calling Diff


```diff

```


## ~last_error_context

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.75|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|~last_error_context|~last_error_context|
|fullname|wil::last_error_context::~last_error_context|wil::last_error_context::~last_error_context|
|`refcount`|3|7|
|length|29|29|
|called|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::SetLastError|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::SetLastError|
|`calling`|wil::details::unique_storage<struct_wil::details::resource_policy<void*___ptr64,void_(__cdecl*)(void*___ptr64)_noexcept,&void___cdecl_wil::details::CloseHandle(void*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,void*___ptr64,void*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Release|wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager><br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details::unique_storage<struct_wil::details::resource_policy<void*___ptr64,void_(__cdecl*)(void*___ptr64)_noexcept,&void___cdecl_wil::details::CloseHandle(void*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,void*___ptr64,void*___ptr64,0,std::nullptr_t>_>::reset<br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Release<br>wil::details_abi::heap_buffer::reserve|
|paramcount|1|1|
|`address`|18000795c|1800079cc|
|sig|void __thiscall ~last_error_context(last_error_context * this)|void __thiscall ~last_error_context(last_error_context * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### ~last_error_context Calling Diff


```diff
--- wil::last_error_context::~last_error_context calling
+++ wil::last_error_context::~last_error_context calling
@@ -0,0 +1,2 @@
+wil::details::EnsureCoalescedTimer<class_wil::details::EnabledStateManager>
+wil::details::unique_storage<struct_wil::details::resource_policy<struct__TP_TIMER*___ptr64,void_(__cdecl*)(struct__TP_TIMER*___ptr64),&public:_static_void___cdecl_wil::details::DestroyThreadPoolTimer<struct_wil::details::SystemThreadPoolMethods,0>::Destroy(struct__TP_TIMER*___ptr64),struct_wistd::integral_constant<unsigned___int64,0>,struct__TP_TIMER*___ptr64,struct__TP_TIMER*___ptr64,0,std::nullptr_t>_>::reset
@@ -2,0 +5 @@
+wil::details_abi::heap_buffer::reserve
```


## __security_check_cookie

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.5|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|__security_check_cookie|__security_check_cookie|
|fullname|__security_check_cookie|__security_check_cookie|
|`refcount`|191|192|
|length|30|30|
|called|__report_gsfailure|__report_gsfailure|
|`calling`|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::ParseData<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CMFAttributesImpl<struct_IMFAttributes,class_CMFCSLock>::_Compare<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::~CMFPropHandlerBase<br>CMFPropVariant::Clear<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant</summary>CMFPropVariantConvert::Convert<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::ElapsedTime<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::IsSupportedMediaType<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::OnReadSample<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CTBucketHash<struct__tagpropertykey,class_CMFProperty*___ptr64>::Remove<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMPropHandlerBase::~CWMPropHandlerBase<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GUIDFromString<br>GetSubMapFromMap<br>HashToString<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AAC<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AC3<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>McTemplateU0pdds_EventWriteTransfer<br>McTemplateU0pq_EventWriteTransfer<br>McTemplateU0pqqqxt_EventWriteTransfer<br>McTemplateU0s4pq_EventWriteTransfer<br>McTemplateU0s4pqjq_EventWriteTransfer<br>MkvMfSourceLib::AddAudioTag<br>MkvMfSourceLib::AddVideoTag<br>MkvMfSourceLib::CodecFromIdString<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::GetAudioTag<br>MkvMfSourceLib::GetVideoTag<br>MkvMfSourceLib::InitializeCodecMap<br>MkvMfSourceLib::InitializeLanguageMap<br>MkvMfSourceLib::InitializeTagMaps<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Close<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::Flush<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::OnAsyncRead<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::RequestSample<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectInit<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetNextBlockCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncInitStreams<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCues<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncRequestSample<br>MkvMfSourceLib::MkvMfSource::StateQuit<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::FailedParseHeader<br>MkvSourceTelemetryLogger::Log<br>MkvSourceTelemetryLogger::ToWideString<br>TraceLoggingRegisterEx_EventRegister_EventSetInformation<br>TracingFailureCache::TraceFailure<br>WPP_SF_ddd<br>__GSHandlerCheckCommon<br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperByVal<2>,struct__tlgWrapperBinary,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapperByVal<4>_><br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperArray<1>_><br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<8>_><br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperByVal<2>,struct__tlgWrapperBinary,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapperByVal<4>_><br>inflate_table<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>std::wstring_convert<class_std::codecvt_utf8<unsigned_short,1114111,0>,unsigned_short,class_std::allocator<unsigned_short>,class_std::allocator<char>_>::to_bytes<br>wil::GetFailureLogString<br>wil::ResultException::what<br>wil::details::GetModuleInformation<br>wil::details::ReportFailure_CaughtException<1><br>wil::details::ReportFailure_Return<1><br>wil::details::ReportFailure_Return<2><br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Acquire<br>wil::details_abi::SemaphoreValue::CreateFromValueInternal<br>wil::details_abi::SemaphoreValue::TryGetValueInternal</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::ParseData<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CMFAttributesImpl<struct_IMFAttributes,class_CMFCSLock>::_Compare<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::~CMFPropHandlerBase<br>CMFPropVariant::Clear<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant</summary>CMFPropVariantConvert::Convert<br>CMFStreamingPropHandler::AddAudioMediaTypeProperties<br>CMFStreamingPropHandler::AddVideoMediaTypeProperties<br>CMFStreamingPropHandler::InsertPropertiesFromPresentationDescriptor<br>CMFStreamingPropHandler::InsertPropertiesFromStreamDescriptor<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::ElapsedTime<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::IsSupportedMediaType<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::OnReadSample<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CTBucketHash<struct__tagpropertykey,class_CMFProperty*___ptr64>::Remove<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMPropHandlerBase::~CWMPropHandlerBase<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GUIDFromString<br>GetSubMapFromMap<br>HashToString<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AAC<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_AC3<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFGetDLNAProfileID<br>MFMkvPropertyHandler::AddPresentationDescriptorProperties<br>McTemplateU0pdds_EventWriteTransfer<br>McTemplateU0pq_EventWriteTransfer<br>McTemplateU0pqqqxt_EventWriteTransfer<br>McTemplateU0s4pq_EventWriteTransfer<br>McTemplateU0s4pqjq_EventWriteTransfer<br>MkvMfSourceLib::AddAudioTag<br>MkvMfSourceLib::AddVideoTag<br>MkvMfSourceLib::CodecFromIdString<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::GetAudioTag<br>MkvMfSourceLib::GetVideoTag<br>MkvMfSourceLib::InitializeCodecMap<br>MkvMfSourceLib::InitializeLanguageMap<br>MkvMfSourceLib::InitializeTagMaps<br>MkvMfSourceLib::MkvMetadataHandler::PopulateMetadataTags<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Close<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::Flush<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::LoadComplete<br>MkvMfSourceLib::MkvMfSource::OnAsyncRead<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::RequestSample<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectFinal<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetCurrBlockObjectInit<br>MkvMfSourceLib::MkvMfSource::StateAsyncGetNextBlockCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncInitStreams<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCluster<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseCues<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSegmentHeaders<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncRequestSample<br>MkvMfSourceLib::MkvMfSource::StateQuit<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfSource::~MkvMfSource<br>MkvMfSourceLib::MkvMfStreamAudio::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::Seek<br>MkvSourceTelemetryLogger::AddTrack<br>MkvSourceTelemetryLogger::FailedParseHeader<br>MkvSourceTelemetryLogger::Log<br>MkvSourceTelemetryLogger::ToWideString<br>TraceLoggingRegisterEx_EventRegister_EventSetInformation<br>TracingFailureCache::TraceFailure<br>WPP_SF_ddd<br>__GSHandlerCheckCommon<br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperByVal<2>,struct__tlgWrapperBinary,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapperByVal<4>_><br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperArray<1>_><br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<8>_><br>_tlgWriteTemplate<long___cdecl(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),&long___cdecl__tlgWriteTransfer_EventWriteTransfer(struct__tlgProvider_t_const*___ptr64,void_const*___ptr64,struct__GUID_const*___ptr64,struct__GUID_const*___ptr64,unsigned_int,struct__EVENT_DATA_DESCRIPTOR*___ptr64),struct__GUID_const*___ptr64,struct__GUID_const*___ptr64>::Write<struct__tlgWrapperByRef<16>,struct__tlgWrapperByVal<4>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<char>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<8>,struct__tlgWrapperByVal<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<4>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<8>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperArray<2>,struct__tlgWrapperByVal<2>,struct__tlgWrapperBinary,struct__tlgWrapperByVal<8>,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapSz<unsigned_short>,struct__tlgWrapperByVal<4>_><br>inflate_table<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>std::wstring_convert<class_std::codecvt_utf8<unsigned_short,1114111,0>,unsigned_short,class_std::allocator<unsigned_short>,class_std::allocator<char>_>::to_bytes<br>wil::GetFailureLogString<br>wil::ResultException::what<br>wil::details::GetModuleInformation<br>wil::details::ReportFailure_CaughtException<1><br>wil::details::ReportFailure_Return<1><br>wil::details::ReportFailure_Return<2><br>wil::details_abi::ProcessLocalStorageData<struct_wil::details_abi::ProcessLocalData>::Acquire<br>wil::details_abi::SemaphoreValue::CreateFromValueInternal<br>wil::details_abi::SemaphoreValue::TryGetValueInternal<br>wil_details_RecordCachedUsage</details>|
|paramcount|1|1|
|`address`|1800023e0|180002440|
|sig|void __cdecl __security_check_cookie(uintptr_t _StackCookie)|void __cdecl __security_check_cookie(uintptr_t _StackCookie)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### __security_check_cookie Calling Diff


```diff
--- __security_check_cookie calling
+++ __security_check_cookie calling
@@ -190,0 +191 @@
+wil_details_RecordCachedUsage
```


## WPP_SF_qd

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.94|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|WPP_SF_qd|WPP_SF_qd|
|fullname|WPP_SF_qd|WPP_SF_qd|
|`refcount`|606|611|
|length|74|74|
|called|API-MS-WIN-EVENTING-CLASSICPROVIDER-L1-1-0.DLL::TraceMessage|API-MS-WIN-EVENTING-CLASSICPROVIDER-L1-1-0.DLL::TraceMessage|
|`calling`|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Clear<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFFindNextStartCode<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$32<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|<details><summary>Expand for full list:<br>CAACAudioSpecificConfig::GetAudioObjectType<br>CAACAudioSpecificConfig::GetSamplingFrequency<br>CAACAudioSpecificConfig::ParseData<br>CAACAudioSpecificConfig::ParseGASpecificConfig<br>CAACAudioSpecificConfig::ParseSyncExtension<br>CAVCPictureParameterSet::ParseData<br>CAVCSequenceParameterSet::ParseData<br>CBitstreamReader::PopByte<br>CBitstreamReader::PopEG_se<br>CBitstreamReader::PopEG_ue<br>CBitstreamReader::PopN</summary>CMFPropHandlerBase::AddProperty<br>CMFPropHandlerBase::Commit<br>CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble<br>CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray<br>CMFPropHandlerBase::CreateProperty<br>CMFPropHandlerBase::EnsureKeyAlias<br>CMFPropHandlerBase::GenerateAudioThumbnailHint<br>CMFPropHandlerBase::GenerateValue<br>CMFPropHandlerBase::GetAt<br>CMFPropHandlerBase::GetCount<br>CMFPropHandlerBase::GetValue<br>CMFPropHandlerBase::Initialize<br>CMFPropHandlerBase::InternalGetAt<br>CMFPropHandlerBase::InternalGetCount<br>CMFPropHandlerBase::InternalGetValue<br>CMFPropHandlerBase::InternalSetValue<br>CMFPropHandlerBase::IsPropertyWritable<br>CMFPropHandlerBase::ModifyIsPropertyWritable<br>CMFPropHandlerBase::RemoveKey<br>CMFPropHandlerBase::RemoveProperty<br>CMFPropHandlerBase::SetValue<br>CMFPropHandlerBase::UpdateExistingValue<br>CMFPropVariant::Clear<br>CMFPropVariant::Copy<br>CMFPropVariant::CreateBlob<br>CMFPropVariant::CreateCLSID<br>CMFPropVariant::CreateString<br>CMFPropVariant::GetElement<br>CMFPropVariant::GetElementDataAsVariant<br>CMFPropVariant::GetElementDataPtr<br>CMFPropVariant::SetElementData<br>CMFPropVariantConvert::Convert<br>CMFPropVariantConvert::GetVarTypeSize<br>CMFVideoThumbnail::AnalyzeSample<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance<br>CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource<br>CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution<br>CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface<br>CMFVideoThumbnail::CMFSourceResolverOp::_Initialize<br>CMFVideoThumbnail::CalcOffsetsForComparison<br>CMFVideoThumbnail::ConvertYUVtoRGB32<br>CMFVideoThumbnail::CreateAsyncSourceReader<br>CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver<br>CMFVideoThumbnail::CreateInstance<br>CMFVideoThumbnail::CreateSourceReaderFromDShowSource<br>CMFVideoThumbnail::CreateSourceReaderFromMFSource<br>CMFVideoThumbnail::Generate<br>CMFVideoThumbnail::GetMinDisplayAperture<br>CMFVideoThumbnail::GetRepresentativeFrame<br>CMFVideoThumbnail::GetStride<br>CMFVideoThumbnail::MFSampleToThumbnailStream<br>CMFVideoThumbnail::QueryInterface<br>CMFVideoThumbnail::SelectPreferredVideoStream<br>CMFVideoThumbnail::SetSupportedMediaType<br>CMP4VSequenceHeader::ParseData<br>CWMEncodingTimeProperty::SetNativeValue<br>CWMEncodingTimeProperty::SetShellValue<br>CWMMCDIProperty::SetNativeValue<br>CWMMCDIProperty::SetShellValue<br>CWMPropHandlerBase::AddAudioMediaTypeProperties<br>CWMPropHandlerBase::AddDefaultProtectionValue<br>CWMPropHandlerBase::AddMFMetadataProperties<br>CWMPropHandlerBase::AddMFStreamMetadataProperties<br>CWMPropHandlerBase::AddPresentationDescriptorProperties<br>CWMPropHandlerBase::AddProperty<br>CWMPropHandlerBase::AddStreamDescriptorProperties<br>CWMPropHandlerBase::AddVideoMediaTypeProperties<br>CWMPropHandlerBase::CheckForTotalBitrateProperty<br>CWMPropHandlerBase::CreateExceptionProperty<br>CWMPropHandlerBase::CreateNamePropMapping<br>CWMPropHandlerBase::CreateProperty<br>CWMPropHandlerBase::GetNameFromPropertyKey<br>CWMPropHandlerBase::GetPropertyKeyFromName<br>CWMPropHandlerBase::GetStreamMajorType<br>CWMPropHandlerBase::InternalModifyIsPropertyWritable<br>CWMPropHandlerBase::RemoveProperty<br>CWMPropHandlerBase::SelectDesiredStreams<br>CWMProperty::SetNativeValue<br>CWMProperty::SetShellValue<br>CWMProperty::TranslateValue<br>CWMRatingProperty::SetNativeValue<br>CWMRatingProperty::SetShellValue<br>CWMThumbnailStreamProperty::FormatAsNativeBlob<br>CWMThumbnailStreamProperty::GetImageDataPtrAndSize<br>CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded<br>CWMThumbnailStreamProperty::SetNativeValue<br>CWMThumbnailStreamProperty::SetShellValue<br>CreateBOOLFromMap<br>CreateCodecCategoryFromString<br>CreateCodecInfoFromMediaExtensionMap<br>CreateExtensionArchitectureFromString<br>CreateExtensionInfoFromMediaExtensionMap<br>CreateInprocExtensionInfoFromMediaExtensionMap<br>CreateInprocMFTExtensionInfoFromMediaExtensionMap<br>CreateMediaSubTypeFromMap<br>CreateStringFromMap<br>CreateStringVectorFromMap<br>CreateTypeVectorFromMap<br>GetSubMapFromMap<br>MF::DLNA::CheckAACAudioObjectType<br>MF::DLNA::CheckADTSProfile<br>MF::DLNA::CheckAVCConstraintSet1<br>MF::DLNA::CheckAVCProfileLevel<br>MF::DLNA::CheckConstraintRange<br>MF::DLNA::CheckMP2VProfileLevel<br>MF::DLNA::CheckMP4VProfileLevel<br>MF::DLNA::CheckMPEGAudioLevel<br>MF::DLNA::CheckSamplingRate<br>MF::DLNA::CheckVideoConstraints<br>MF::DLNA::CheckVideoFramerate<br>MF::DLNA::CheckVideoResolution<br>MF::DLNA::GetAACLevel<br>MF::DLNA::GetMP4VProfileAndLevel<br>MF::DLNA::GetMPEG4_P2_ASP_Level_OrdinalValue<br>MF::DLNA::GetMPEG4_P2_SP_Level_OrdinalValue<br>MF::DLNA::GetPotentialDLNAProfiles<br>MF::DLNA::GetStreamInformation<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_LPCM<br>MF::DLNA::MFMediaTypeMatchesDLNAProfile_MPEG_2_Audio<br>MFFindNextStartCode<br>MFGetDLNAProfileID<br>MFH264GetNALUType<br>MkvMfSourceLib::ConvertMKVLanguageStringToRFC1766<br>MkvMfSourceLib::CreateAndAddChapterCue<br>MkvMfSourceLib::EnumerateCodecPacks<br>MkvMfSourceLib::MkvMfSource::BeginGetEvent<br>MkvMfSourceLib::MkvMfSource::BeginLoad<br>MkvMfSourceLib::MkvMfSource::Command::OnPause<br>MkvMfSourceLib::MkvMfSource::Command::OnRestart<br>MkvMfSourceLib::MkvMfSource::Command::OnSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnSeekComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStart<br>MkvMfSourceLib::MkvMfSource::Command::OnStartComplete<br>MkvMfSourceLib::MkvMfSource::Command::OnStartInitStreams<br>MkvMfSourceLib::MkvMfSource::Command::OnStartNoSeek<br>MkvMfSourceLib::MkvMfSource::Command::OnStop<br>MkvMfSourceLib::MkvMfSource::CreatePresentationDescriptor<br>MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore<br>MkvMfSourceLib::MkvMfSource::CreateSource<br>MkvMfSourceLib::MkvMfSource::CreateStream<br>MkvMfSourceLib::MkvMfSource::EndGetEvent<br>MkvMfSourceLib::MkvMfSource::Error<br>MkvMfSourceLib::MkvMfSource::GetCharacteristics<br>MkvMfSourceLib::MkvMfSource::GetCurrTime<br>MkvMfSourceLib::MkvMfSource::GetEvent<br>MkvMfSourceLib::MkvMfSource::GetFastestRate<br>MkvMfSourceLib::MkvMfSource::GetMetadataPropertyStore<br>MkvMfSourceLib::MkvMfSource::GetNextBlockForStream<br>MkvMfSourceLib::MkvMfSource::GetRate<br>MkvMfSourceLib::MkvMfSource::GetService<br>MkvMfSourceLib::MkvMfSource::GetSession<br>MkvMfSourceLib::MkvMfSource::GetSlowestRate<br>MkvMfSourceLib::MkvMfSource::GetSourceAttributes<br>MkvMfSourceLib::MkvMfSource::IsRateSupported<br>MkvMfSourceLib::MkvMfSource::MkvSourceAttributes::SetUINT32<br>MkvMfSourceLib::MkvMfSource::OnCommand<br>MkvMfSourceLib::MkvMfSource::OnLoadCues<br>MkvMfSourceLib::MkvMfSource::OnRead<br>MkvMfSourceLib::MkvMfSource::OnRequestSample<br>MkvMfSourceLib::MkvMfSource::ParseEbmlHeader<br>MkvMfSourceLib::MkvMfSource::Pause<br>MkvMfSourceLib::MkvMfSource::ProcessAsyncReadOperations<br>MkvMfSourceLib::MkvMfSource::PurgeCache<br>MkvMfSourceLib::MkvMfSource::QueueEvent<br>MkvMfSourceLib::MkvMfSource::QueueOperation<br>MkvMfSourceLib::MkvMfSource::QueueStreamEvent<br>MkvMfSourceLib::MkvMfSource::Run<br>MkvMfSourceLib::MkvMfSource::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfSource::SetEOP<br>MkvMfSourceLib::MkvMfSource::SetRate<br>MkvMfSourceLib::MkvMfSource::SetWorkQueueEx<br>MkvMfSourceLib::MkvMfSource::SetupBuffering<br>MkvMfSourceLib::MkvMfSource::Shutdown<br>MkvMfSourceLib::MkvMfSource::Start<br>MkvMfSourceLib::MkvMfSource::StateAsyncLoadTags<br>MkvMfSourceLib::MkvMfSource::StateAsyncParseSeekHead<br>MkvMfSourceLib::MkvMfSource::StateRequestSample<br>MkvMfSourceLib::MkvMfSource::Stop<br>MkvMfSourceLib::MkvMfStream::BeginGetEvent<br>MkvMfSourceLib::MkvMfStream::EndGetEvent<br>MkvMfSourceLib::MkvMfStream::FillRequests<br>MkvMfSourceLib::MkvMfStream::GenerateStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::GetEvent<br>MkvMfSourceLib::MkvMfStream::GetMFMediaType<br>MkvMfSourceLib::MkvMfStream::GetMediaSource<br>MkvMfSourceLib::MkvMfStream::GetNextBlock<br>MkvMfSourceLib::MkvMfStream::GetSamples<br>MkvMfSourceLib::MkvMfStream::GetSeekInfoForTime<br>MkvMfSourceLib::MkvMfStream::GetStreamDescriptor<br>MkvMfSourceLib::MkvMfStream::LockCurrBlock<br>MkvMfSourceLib::MkvMfStream::Pause<br>MkvMfSourceLib::MkvMfStream::QueueEvent<br>MkvMfSourceLib::MkvMfStream::QueueSample<br>MkvMfSourceLib::MkvMfStream::ReadBlock<br>MkvMfSourceLib::MkvMfStream::RequestSample<br>MkvMfSourceLib::MkvMfStream::Restart<br>MkvMfSourceLib::MkvMfStream::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStream::Seek<br>MkvMfSourceLib::MkvMfStream::SetEOS<br>MkvMfSourceLib::MkvMfStream::SetFirstBlock<br>MkvMfSourceLib::MkvMfStream::Shutdown<br>MkvMfSourceLib::MkvMfStream::Start<br>MkvMfSourceLib::MkvMfStream::Stop<br>MkvMfSourceLib::MkvMfStream::TransformSample<br>MkvMfSourceLib::MkvMfStreamSubtitle::CreateStream<br>MkvMfSourceLib::MkvMfStreamSubtitle::FillRequests<br>MkvMfSourceLib::MkvMfStreamSubtitle::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamSubtitle::RequestSample<br>MkvMfSourceLib::MkvMfStreamSubtitleWithInitializationCue::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVFW::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideo::CreateStream<br>MkvMfSourceLib::MkvMfStreamVideo::GetFrameRate<br>MkvMfSourceLib::MkvMfStreamVideo::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAV1::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAV1::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoAVC::GetNextNALUnitLength<br>MkvMfSourceLib::MkvMfStreamVideoAVC::RuntimeClassInitialize<br>MkvMfSourceLib::MkvMfStreamVideoAVC::TransformSample<br>MkvMfSourceLib::MkvMfStreamVideoCodecPrivateAsUserData::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>MkvMfSourceLib::MkvMfStreamVideoMPEG::GetMFMediaType<br>MkvMfSourceLib::MkvTimedText::CreateChapterTracks<br>MkvMfSourceLib::MkvTimedText::FindChapterTrackForLanguage<br>MkvMfSourceLib::MkvTimedText::GetCueAsync<br>MkvMfSourceLib::MkvTimedText::NotifyTrackAdded<br>MkvMfSourceLib::MkvTimedText::RegisterHost<br>MkvMfSourceLib::MkvTimedText::RemoveTrack<br>MkvMfSourceLib::MkvTimedText::RuntimeClassInitialize<br>MkvMfSourceLib::MkvTimedText::SelectTrack<br>MkvMfSourceLib::MkvTimedText::SendCue<br>MkvMfSourceLib::MkvTimedText::SetEnabled<br>MkvMfSourceLib::MkvTimedText::SetPositionInternal<br>MkvReader::AsyncReadCompletion<br>MkvReader::AsyncReadContinue<br>MkvReader::AsyncReadPage<br>MkvReader::CreateRegion<br>MkvReader::EnableBuffering<br>MkvReader::GetByteStreamOriginName<br>MkvReader::Init<br>MkvReader::Length<br>MkvReader::LockPage<br>MkvReader::Read<br>MkvReader::Seek<br>`MkvMfSourceLib::EnumerateCodecPacks'::__l1::catch$9<br>`MkvMfSourceLib::InitializeCodecMap'::__l1::catch$47<br>`MkvMfSourceLib::MkvMfSource::CreateReadOnlyPropertyStore'::__l1::catch$15<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$32<br>`MkvMfSourceLib::MkvMfSource::GetCurrTime'::__l1::catch$33<br>mkvparser::AudioTrack::Parse<br>mkvparser::Block::Frame::Read<br>mkvparser::Block::GetTime<br>mkvparser::Block::GetTimeCode<br>mkvparser::Block::Parse<br>mkvparser::BlockGroup::Parse<br>mkvparser::Chapters::Atom::ExpandDisplaysArray<br>mkvparser::Chapters::Atom::Parse<br>mkvparser::Chapters::Atom::ParseDisplay<br>mkvparser::Chapters::Display::Parse<br>mkvparser::Chapters::Edition::ExpandAtomsArray<br>mkvparser::Chapters::Edition::Parse<br>mkvparser::Chapters::Edition::ParseAtom<br>mkvparser::Chapters::ExpandEditionsArray<br>mkvparser::Chapters::Parse<br>mkvparser::Chapters::ParseEdition<br>mkvparser::Cluster::Create<br>mkvparser::Cluster::CreateBlock<br>mkvparser::Cluster::CreateBlockGroup<br>mkvparser::Cluster::CreateSimpleBlock<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetEntry<br>mkvparser::Cluster::GetFirst<br>mkvparser::Cluster::GetNext<br>mkvparser::Cluster::GetTime<br>mkvparser::Cluster::GetTimeCode<br>mkvparser::Cluster::HasBlockEntries<br>mkvparser::Cluster::Load<br>mkvparser::Cluster::Parse<br>mkvparser::Cluster::ParseBlockGroup<br>mkvparser::Cluster::ParseSimpleBlock<br>mkvparser::Colour::Parse<br>mkvparser::ContentEncoding::ParseCompressionEntry<br>mkvparser::ContentEncoding::ParseContentEncAESSettingsEntry<br>mkvparser::ContentEncoding::ParseContentEncodingEntry<br>mkvparser::ContentEncoding::ParseEncryptionEntry<br>mkvparser::CuePoint::Load<br>mkvparser::CuePoint::TrackPosition::Parse<br>mkvparser::Cues::Init<br>mkvparser::Cues::LoadCuePoint<br>mkvparser::Cues::PreloadCuePoint<br>mkvparser::EBMLHeader::Parse<br>mkvparser::GetUIntLength<br>mkvparser::MasteringMetadata::Parse<br>mkvparser::ParseElementHeader<br>mkvparser::PrimaryChromaticity::Parse<br>mkvparser::Projection::Parse<br>mkvparser::ReadBinaryData<br>mkvparser::ReadID<br>mkvparser::ReadUInt<br>mkvparser::SeekHead::Parse<br>mkvparser::SeekHead::ParseEntry<br>mkvparser::Segment::AppendCluster<br>mkvparser::Segment::CreateInstance<br>mkvparser::Segment::DoLoadCluster<br>mkvparser::Segment::DoLoadClusterUnknownSize<br>mkvparser::Segment::DoParseNext<br>mkvparser::Segment::FindOrPreloadCluster<br>mkvparser::Segment::GetNext<br>mkvparser::Segment::LoadCluster<br>mkvparser::Segment::ParseCues<br>mkvparser::Segment::ParseHeaders<br>mkvparser::Segment::ParseNext<br>mkvparser::Segment::ParseSeekHead<br>mkvparser::Segment::ParseTags<br>mkvparser::Segment::PreloadCluster<br>mkvparser::SegmentInfo::Parse<br>mkvparser::Tag::Load<br>mkvparser::Tag::Targets::Parse<br>mkvparser::Tags::Init<br>mkvparser::Tags::LoadTag<br>mkvparser::Tags::PreloadTag<br>mkvparser::Track::Create<br>mkvparser::Track::GetFirst<br>mkvparser::Track::Info::Copy<br>mkvparser::Track::Info::CopyStr<br>mkvparser::Track::ParseContentEncodingsEntry<br>mkvparser::Track::Seek<br>mkvparser::Tracks::Parse<br>mkvparser::Tracks::ParseTrackEntry<br>mkvparser::UnserializeFloat<br>mkvparser::UnserializeInt<br>mkvparser::UnserializeString<br>mkvparser::UnserializeUInt<br>mkvparser::VideoTrack::Parse<br>mkvparser::VideoTrack::Seek</details>|
|paramcount|4|4|
|`address`|180025000|180025070|
|sig|undefined __fastcall WPP_SF_qd(undefined8 param_1, undefined2 param_2, undefined8 param_3, undefined8 param_4)|undefined __fastcall WPP_SF_qd(undefined8 param_1, undefined2 param_2, undefined8 param_3, undefined8 param_4)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### WPP_SF_qd Calling Diff


```diff

```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|ReleaseSRWLockExclusive|ReleaseSRWLockExclusive|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive|
|`refcount`|4|5|
|length|0|0|
|called|||
|`calling`|Microsoft::WRL::Details::GetCacheEntry<br>Microsoft::WRL::Details::TerminateMap|Microsoft::WRL::Details::GetCacheEntry<br>Microsoft::WRL::Details::TerminateMap<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|paramcount|1|1|
|address|EXTERNAL:0000006c|EXTERNAL:0000006c|
|sig|void __stdcall ReleaseSRWLockExclusive(PSRWLOCK SRWLock)|void __stdcall ReleaseSRWLockExclusive(PSRWLOCK SRWLock)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive calling
@@ -2,0 +3 @@
+wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
```


## operator()

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.86|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|operator()|operator()|
|fullname|<lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()|<lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator()|
|`refcount`|2|5|
|length|105|105|
|called|Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease<br>operator_delete[]|Microsoft::WRL::ComPtr<struct_IMFPresentationDescriptor>::InternalRelease<br>operator_delete[]|
|`calling`|wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>|MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType<br>wil::details::ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>::~ScopeExitFn<<lambda_30300b5e74ad86f3029660eec3d2f8fa>_>|
|paramcount|1|1|
|`address`|180035f88|180036208|
|sig|undefined __fastcall operator()(undefined8 * param_1)|undefined __fastcall operator()(undefined8 * param_1)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### operator() Calling Diff


```diff
--- <lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator() calling
+++ <lambda_30300b5e74ad86f3029660eec3d2f8fa>::operator() calling
@@ -0,0 +1 @@
+MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType
```


## memcpy_s

### Match Info



|Key|mkv_8328.dll - mkv_8655.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.67|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|mkv_8328.dll|mkv_8655.dll|
| :---: | :---: | :---: |
|name|memcpy_s|memcpy_s|
|fullname|memcpy_s|memcpy_s|
|`refcount`|4|6|
|length|149|149|
|called|API-MS-WIN-CRT-PRIVATE-L1-1-0.DLL::_o__errno<br>_invalid_parameter_noinfo<br>memcpy<br>memset|API-MS-WIN-CRT-PRIVATE-L1-1-0.DLL::_o__errno<br>_invalid_parameter_noinfo<br>memcpy<br>memset|
|`calling`|wil::details::ThreadFailureCallbackHolder::GetThreadContext<br>wil::details::WriteResultString<char_const*___ptr64><br>wil::details::WriteResultString<unsigned_short_const*___ptr64>|wil::details::ThreadFailureCallbackHolder::GetThreadContext<br>wil::details::WriteResultString<char_const*___ptr64><br>wil::details::WriteResultString<unsigned_short_const*___ptr64><br>wil::details_abi::heap_buffer::push_back<br>wil::details_abi::heap_buffer::reserve|
|paramcount|4|4|
|`address`|18000afc4|18000b034|
|sig|errno_t __cdecl memcpy_s(void * _Dst, rsize_t _DstSize, void * _Src, rsize_t _MaxCount)|errno_t __cdecl memcpy_s(void * _Dst, rsize_t _DstSize, void * _Src, rsize_t _MaxCount)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### memcpy_s Calling Diff


```diff
--- memcpy_s calling
+++ memcpy_s calling
@@ -3,0 +4,2 @@
+wil::details_abi::heap_buffer::push_back
+wil::details_abi::heap_buffer::reserve
```




<sub>Generated with `ghidriff` version: 1.0.0 on 2026-08-19T00:02:15</sub>