зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1460022: Part 3 - Update TestDllInterceptorCrossProcess to reflect new interceptor interface; r=handyman
--HG-- extra : rebase_source : 208380bdaaf2c394c5d93cf2f0f8cb2a117b3e66
This commit is contained in:
Родитель
9c86a6adcd
Коммит
0ff30867ea
|
@ -11,19 +11,19 @@
|
||||||
|
|
||||||
using std::wstring;
|
using std::wstring;
|
||||||
|
|
||||||
static void* gOrigReturnResult;
|
|
||||||
|
|
||||||
extern "C" __declspec(dllexport) int
|
extern "C" __declspec(dllexport) int
|
||||||
ReturnResult()
|
ReturnResult()
|
||||||
{
|
{
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static mozilla::CrossProcessDllInterceptor::FuncHookType<decltype(&ReturnResult)>
|
||||||
|
gOrigReturnResult;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ReturnResultHook()
|
ReturnResultHook()
|
||||||
{
|
{
|
||||||
auto origFn = reinterpret_cast<decltype(&ReturnResult)>(gOrigReturnResult);
|
if (gOrigReturnResult() != 2) {
|
||||||
if (origFn() != 2) {
|
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,9 +73,7 @@ int ParentMain()
|
||||||
mozilla::CrossProcessDllInterceptor intcpt(childProcess.get());
|
mozilla::CrossProcessDllInterceptor intcpt(childProcess.get());
|
||||||
intcpt.Init("TestDllInterceptorCrossProcess.exe");
|
intcpt.Init("TestDllInterceptorCrossProcess.exe");
|
||||||
|
|
||||||
if (!intcpt.AddHook("ReturnResult",
|
if (!gOrigReturnResult.Set(intcpt, "ReturnResult", &ReturnResultHook)) {
|
||||||
reinterpret_cast<intptr_t>(&ReturnResultHook),
|
|
||||||
&gOrigReturnResult)) {
|
|
||||||
printf("TEST-UNEXPECTED-FAIL | DllInterceptorCrossProcess | Failed to add hook\n");
|
printf("TEST-UNEXPECTED-FAIL | DllInterceptorCrossProcess | Failed to add hook\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче