down below can see dummy code enumerating available multiplexers. on system there 1 mux available (as expected). when call mftenumex(), function succeeds, stack gets corrupted. that's why added 64k buffer. 16 bytes written @ offset 16. tried code on 2 different machines same result (windows 10). can explain this?
byte buff[ 65536 ]; hresult hr; hr = coinitialize( null ); atlassert( succeeded( hr ) ); hr = mfstartup( mf_version, mfstartup_full ); atlassert( succeeded( hr ) ); imfactivate ** ppactivate = null; uint numactivate = 0; hr = mftenumex( mft_category_multiplexer, mft_enum_flag_syncmft | mft_enum_flag_asyncmft | mft_enum_flag_hardware | mft_enum_flag_fieldofuse | mft_enum_flag_localmft | mft_enum_flag_transcode_only, null, null, &ppactivate, &numactivate );
Comments
Post a Comment