diff --git a/reactos/drivers/ksfilter/ks/CMakeLists.txt b/reactos/drivers/ksfilter/ks/CMakeLists.txt index a6229f7cf9d..85ba42829c1 100644 --- a/reactos/drivers/ksfilter/ks/CMakeLists.txt +++ b/reactos/drivers/ksfilter/ks/CMakeLists.txt @@ -31,6 +31,10 @@ list(APPEND SOURCE ks.rc ${CMAKE_CURRENT_BINARY_DIR}/ks.def) +if(MSVC) + list(APPEND SOURCE msvc.S) +endif() + add_library(ks SHARED ${SOURCE}) set_target_properties(ks PROPERTIES SUFFIX ".sys") diff --git a/reactos/drivers/ksfilter/ks/msvc.S b/reactos/drivers/ksfilter/ks/msvc.S new file mode 100644 index 00000000000..449dcf7f3ab --- /dev/null +++ b/reactos/drivers/ksfilter/ks/msvc.S @@ -0,0 +1,26 @@ + +#include + +.code + +MACRO(DEFINE_ALIAS, alias, orig) +EXTERN &orig:PROC +ALIAS <&alias> = <&orig> +ENDM + +PUBLIC ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ +?NonDelegatedRelease@CBaseUnknown@@UAGKXZ: + jmp _IIndirectedUnknown_fnRelease@4 + + +DEFINE_ALIAS ??0CBaseUnknown@@QAE@ABU_GUID@@PAUIUnknown@@@Z, @CBaseUnknown_ConstructorWithGUID@16 +DEFINE_ALIAS ??0CBaseUnknown@@QAE@PAUIUnknown@@@Z, @CBaseUnknown_Constructor@12 +DEFINE_ALIAS ??1CBaseUnknown@@UAE@XZ, @CBaseUnknown_DefaultDestructor@8 +DEFINE_ALIAS ??_FCBaseUnknown@@QAEXXZ, @CBaseUnknown_Destructor@12 +DEFINE_ALIAS ?IndirectedAddRef@CBaseUnknown@@UAGKXZ, _IIndirectedUnknown_fnAddRef@4 +DEFINE_ALIAS ?IndirectedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z, _IIndirectedUnknown_fnQueryInterface@12 +DEFINE_ALIAS ?IndirectedRelease@CBaseUnknown@@UAGKXZ, _IIndirectedUnknown_fnRelease@4 +DEFINE_ALIAS ?NonDelegatedAddRef@CBaseUnknown@@UAGKXZ, _INonDelegatedUnknown_fnAddRef@4 +DEFINE_ALIAS ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z, _INonDelegatedUnknown_fnQueryInterface@12 + +END