summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winutil.h
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2016-03-12 12:31:13 +0100
committer ImJezze <jezze@gmx.net>2016-03-12 12:31:13 +0100
commita026a582f1a0ea8c1ede3acaddacef506ef3f3b0 (patch)
treee31573822f2359677de519f9f3b600d98e8764cd /src/osd/windows/winutil.h
parent477d2abd43984f076b7e45f5527591fa8fd0d241 (diff)
parentdcab55bf53b94713a6f72e9633f5101c8dd6c08c (diff)
Merge pull request #15 from mamedev/master
Sync to base master
Diffstat (limited to 'src/osd/windows/winutil.h')
-rw-r--r--src/osd/windows/winutil.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/osd/windows/winutil.h b/src/osd/windows/winutil.h
index 8f205e5a8ba..530327dcf61 100644
--- a/src/osd/windows/winutil.h
+++ b/src/osd/windows/winutil.h
@@ -153,4 +153,26 @@ public:
}
};
+// Five parameters
+template <class TRet, class P1, class P2, class P3, class P4, class P5>
+class lazy_loaded_function_p5 : public lazy_loaded_function
+{
+public:
+ lazy_loaded_function_p5(const char * name, const wchar_t* dll_name)
+ : lazy_loaded_function(name, &dll_name, 1)
+ {
+ }
+
+ lazy_loaded_function_p5(const char * name, const wchar_t** dll_names, int dll_count)
+ : lazy_loaded_function(name, dll_names, dll_count)
+ {
+ }
+
+ TRet operator ()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
+ {
+ check_init();
+ return ((TRet(__stdcall *) (P1, P2, P3, P4, P5))m_pfn)(p1, p2, p3, p4, p5);
+ }
+};
+
#endif // __WINUTIL__