ole32: Move the Running Object Table test in marshal.c to moniker.c to put it with the other ROT tests.
This commit is contained in:
parent
beaaf0514f
commit
c21f5c7c6a
|
@ -2088,34 +2088,6 @@ static void test_out_of_process_com(void)
|
||||||
CloseHandle(heventShutdown);
|
CloseHandle(heventShutdown);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_ROT(void)
|
|
||||||
{
|
|
||||||
static const WCHAR wszFileName[] = {'B','E','2','0','E','2','F','5','-',
|
|
||||||
'1','9','0','3','-','4','A','A','E','-','B','1','A','F','-',
|
|
||||||
'2','0','4','6','E','5','8','6','C','9','2','5',0};
|
|
||||||
HRESULT hr;
|
|
||||||
IMoniker *pMoniker = NULL;
|
|
||||||
IRunningObjectTable *pROT = NULL;
|
|
||||||
DWORD dwCookie;
|
|
||||||
|
|
||||||
cLocks = 0;
|
|
||||||
|
|
||||||
hr = CreateFileMoniker(wszFileName, &pMoniker);
|
|
||||||
ok_ole_success(hr, CreateClassMoniker);
|
|
||||||
hr = GetRunningObjectTable(0, &pROT);
|
|
||||||
ok_ole_success(hr, GetRunningObjectTable);
|
|
||||||
hr = IRunningObjectTable_Register(pROT, 0, (IUnknown*)&Test_ClassFactory, pMoniker, &dwCookie);
|
|
||||||
ok_ole_success(hr, IRunningObjectTable_Register);
|
|
||||||
IMoniker_Release(pMoniker);
|
|
||||||
|
|
||||||
ok_more_than_one_lock();
|
|
||||||
|
|
||||||
hr = IRunningObjectTable_Revoke(pROT, dwCookie);
|
|
||||||
ok_ole_success(hr, IRunningObjectTable_Revoke);
|
|
||||||
|
|
||||||
ok_no_locks();
|
|
||||||
}
|
|
||||||
|
|
||||||
struct git_params
|
struct git_params
|
||||||
{
|
{
|
||||||
DWORD cookie;
|
DWORD cookie;
|
||||||
|
@ -2455,7 +2427,6 @@ START_TEST(marshal)
|
||||||
/* doesn't pass with Win9x COM DLLs (even though Essential COM says it should) */
|
/* doesn't pass with Win9x COM DLLs (even though Essential COM says it should) */
|
||||||
if (0) test_out_of_process_com();
|
if (0) test_out_of_process_com();
|
||||||
|
|
||||||
test_ROT();
|
|
||||||
test_globalinterfacetable();
|
test_globalinterfacetable();
|
||||||
|
|
||||||
test_CoGetInterfaceAndReleaseStream();
|
test_CoGetInterfaceAndReleaseStream();
|
||||||
|
|
|
@ -584,6 +584,20 @@ static void test_ROT(void)
|
||||||
hr = CreateFileMoniker(wszFileName, &pMoniker);
|
hr = CreateFileMoniker(wszFileName, &pMoniker);
|
||||||
ok_ole_success(hr, CreateClassMoniker);
|
ok_ole_success(hr, CreateClassMoniker);
|
||||||
|
|
||||||
|
/* test flags: 0 */
|
||||||
|
hr = IRunningObjectTable_Register(pROT, 0, (IUnknown*)&Test_ClassFactory,
|
||||||
|
pMoniker, &dwCookie);
|
||||||
|
ok_ole_success(hr, IRunningObjectTable_Register);
|
||||||
|
IMoniker_Release(pMoniker);
|
||||||
|
|
||||||
|
ok_more_than_one_lock();
|
||||||
|
|
||||||
|
hr = IRunningObjectTable_Revoke(pROT, dwCookie);
|
||||||
|
ok_ole_success(hr, IRunningObjectTable_Revoke);
|
||||||
|
|
||||||
|
ok_no_locks();
|
||||||
|
|
||||||
|
/* test flags: ROTFLAGS_REGISTRATIONKEEPSALIVE */
|
||||||
hr = IRunningObjectTable_Register(pROT, ROTFLAGS_REGISTRATIONKEEPSALIVE,
|
hr = IRunningObjectTable_Register(pROT, ROTFLAGS_REGISTRATIONKEEPSALIVE,
|
||||||
(IUnknown*)&Test_ClassFactory, pMoniker, &dwCookie);
|
(IUnknown*)&Test_ClassFactory, pMoniker, &dwCookie);
|
||||||
ok_ole_success(hr, IRunningObjectTable_Register);
|
ok_ole_success(hr, IRunningObjectTable_Register);
|
||||||
|
@ -595,6 +609,7 @@ static void test_ROT(void)
|
||||||
|
|
||||||
ok_no_locks();
|
ok_no_locks();
|
||||||
|
|
||||||
|
/* test flags: ROTFLAGS_REGISTRATIONKEEPSALIVE|ROTFLAGS_ALLOWANYCLIENT */
|
||||||
/* only succeeds when process is started by SCM and has LocalService
|
/* only succeeds when process is started by SCM and has LocalService
|
||||||
* or RunAs AppId values */
|
* or RunAs AppId values */
|
||||||
hr = IRunningObjectTable_Register(pROT,
|
hr = IRunningObjectTable_Register(pROT,
|
||||||
|
|
Loading…
Reference in New Issue