他人の空似自作物置場

dwmapi_dummy.zip/src/dwmapi_dummy.cpp


#include <windows.h>
#include <Dwmapi.h>
#include "dwmapi.h"

#pragma comment (lib, "user32.lib")

__declspec( naked ) void WINAPI d_NONAME0() { _asm{ jmp p_NONAME0 } }
__declspec( naked ) void WINAPI d_NONAME1() { _asm{ jmp p_NONAME1 } }
__declspec( naked ) void WINAPI d_NONAME3() { _asm{ jmp p_NONAME3 } }
__declspec( naked ) void WINAPI d_NONAME4() { _asm{ jmp p_NONAME4 } }
__declspec( naked ) void WINAPI d_NONAME5() { _asm{ jmp p_NONAME5 } }
__declspec( naked ) void WINAPI d_NONAME6() { _asm{ jmp p_NONAME6 } }
__declspec( naked ) void WINAPI d_NONAME7() { _asm{ jmp p_NONAME7 } }
__declspec( naked ) void WINAPI d_NONAME8() { _asm{ jmp p_NONAME8 } }
__declspec( naked ) void WINAPI d_NONAME9() { _asm{ jmp p_NONAME9 } }
__declspec( naked ) void WINAPI d_NONAME10() { _asm{ jmp p_NONAME10 } }
__declspec( naked ) void WINAPI d_DwmAttachMilContent() { _asm{ jmp p_DwmAttachMilContent } }
__declspec( naked ) void WINAPI d_NONAME12() { _asm{ jmp p_NONAME12 } }
__declspec( naked ) void WINAPI d_NONAME13() { _asm{ jmp p_NONAME13 } }
__declspec( naked ) void WINAPI d_NONAME14() { _asm{ jmp p_NONAME14 } }
__declspec( naked ) void WINAPI d_NONAME15() { _asm{ jmp p_NONAME15 } }
__declspec( naked ) void WINAPI d_DwmDefWindowProc() { _asm{ jmp p_DwmDefWindowProc } }
__declspec( naked ) void WINAPI d_DwmDetachMilContent() { _asm{ jmp p_DwmDetachMilContent } }
__declspec( naked ) void WINAPI d_NONAME18() { _asm{ jmp p_NONAME18 } }
__declspec( naked ) void WINAPI d_NONAME19() { _asm{ jmp p_NONAME19 } }
__declspec( naked ) void WINAPI d_NONAME20() { _asm{ jmp p_NONAME20 } }
__declspec( naked ) void WINAPI d_NONAME21() { _asm{ jmp p_NONAME21 } }
__declspec( naked ) void WINAPI d_DwmEnableBlurBehindWindow() { _asm{ jmp p_DwmEnableBlurBehindWindow } }
__declspec( naked ) void WINAPI d_DwmEnableMMCSS() { _asm{ jmp p_DwmEnableMMCSS } }
__declspec( naked ) void WINAPI d_NONAME24() { _asm{ jmp p_NONAME24 } }
__declspec( naked ) void WINAPI d_NONAME25() { _asm{ jmp p_NONAME25 } }
__declspec( naked ) void WINAPI d_NONAME26() { _asm{ jmp p_NONAME26 } }
__declspec( naked ) void WINAPI d_NONAME27() { _asm{ jmp p_NONAME27 } }
__declspec( naked ) void WINAPI d_NONAME28() { _asm{ jmp p_NONAME28 } }
__declspec( naked ) void WINAPI d_NONAME29() { _asm{ jmp p_NONAME29 } }
__declspec( naked ) void WINAPI d_NONAME30() { _asm{ jmp p_NONAME30 } }
__declspec( naked ) void WINAPI d_NONAME31() { _asm{ jmp p_NONAME31 } }
__declspec( naked ) void WINAPI d_NONAME32() { _asm{ jmp p_NONAME32 } }
__declspec( naked ) void WINAPI d_NONAME33() { _asm{ jmp p_NONAME33 } }
__declspec( naked ) void WINAPI d_NONAME34() { _asm{ jmp p_NONAME34 } }
__declspec( naked ) void WINAPI d_DwmExtendFrameIntoClientArea() { _asm{ jmp p_DwmExtendFrameIntoClientArea } }
__declspec( naked ) void WINAPI d_DwmFlush() { _asm{ jmp p_DwmFlush } }
__declspec( naked ) void WINAPI d_DwmGetColorizationColor() { _asm{ jmp p_DwmGetColorizationColor } }
__declspec( naked ) void WINAPI d_DwmGetCompositionTimingInfo() { _asm{ jmp p_DwmGetCompositionTimingInfo } }
__declspec( naked ) void WINAPI d_DwmGetGraphicsStreamClient() { _asm{ jmp p_DwmGetGraphicsStreamClient } }
__declspec( naked ) void WINAPI d_DwmGetGraphicsStreamTransformHint() { _asm{ jmp p_DwmGetGraphicsStreamTransformHint } }
__declspec( naked ) void WINAPI d_DwmGetTransportAttributes() { _asm{ jmp p_DwmGetTransportAttributes } }
__declspec( naked ) void WINAPI d_DwmGetWindowAttribute() { _asm{ jmp p_DwmGetWindowAttribute } }
__declspec( naked ) void WINAPI d_DwmInvalidateIconicBitmaps() { _asm{ jmp p_DwmInvalidateIconicBitmaps } }
__declspec( naked ) void WINAPI d_DwmModifyPreviousDxFrameDuration() { _asm{ jmp p_DwmModifyPreviousDxFrameDuration } }
__declspec( naked ) void WINAPI d_DwmQueryThumbnailSourceSize() { _asm{ jmp p_DwmQueryThumbnailSourceSize } }
__declspec( naked ) void WINAPI d_DwmRegisterThumbnail() { _asm{ jmp p_DwmRegisterThumbnail } }
__declspec( naked ) void WINAPI d_DwmSetDxFrameDuration() { _asm{ jmp p_DwmSetDxFrameDuration } }
__declspec( naked ) void WINAPI d_DwmSetIconicLivePreviewBitmap() { _asm{ jmp p_DwmSetIconicLivePreviewBitmap } }
__declspec( naked ) void WINAPI d_DwmSetIconicThumbnail() { _asm{ jmp p_DwmSetIconicThumbnail } }
__declspec( naked ) void WINAPI d_DwmSetPresentParameters() { _asm{ jmp p_DwmSetPresentParameters } }
__declspec( naked ) void WINAPI d_DwmSetWindowAttribute() { _asm{ jmp p_DwmSetWindowAttribute } }
__declspec( naked ) void WINAPI d_DwmUnregisterThumbnail() { _asm{ jmp p_DwmUnregisterThumbnail } }
__declspec( naked ) void WINAPI d_DwmUpdateThumbnailProperties() { _asm{ jmp p_DwmUpdateThumbnailProperties } }



extern "C"{

unsigned int composition = 0;

HRESULT __stdcall WINAPI d_DwmEnableComposition(UINT uCompositionAction) {
	HRESULT (__stdcall WINAPI * const original)(UINT) = reinterpret_cast<HRESULT (__stdcall WINAPI *)(UINT)>(p_DwmEnableComposition);
	if(original != NULL) {
		return original(uCompositionAction);
	}
	if(uCompositionAction == DWM_EC_ENABLECOMPOSITION) {
		if(composition > 0) {
			composition--;
		}
	} else {
		composition++;
	}
	return S_OK;
}

HRESULT __stdcall WINAPI d_DwmIsCompositionEnabled(BOOL *pfEnabled) {
	HRESULT (__stdcall WINAPI * const original)(BOOL *) = reinterpret_cast<HRESULT (__stdcall WINAPI *)(BOOL *)>(p_DwmIsCompositionEnabled);
	if(original != NULL) {
		return original(pfEnabled);
	}
	if(pfEnabled == NULL) {
		return E_INVALIDARG;
	}
	if(composition == 0) {
		*pfEnabled = 1;
	} else {
		*pfEnabled = 0;
	}
	return S_OK;
}

}