Commit 1105acd2 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

ole32: Implement CoGetCurrentLogicalThreadId().

parent 94c1c8e5
...@@ -3850,6 +3850,20 @@ DWORD WINAPI CoGetCurrentProcess(void) ...@@ -3850,6 +3850,20 @@ DWORD WINAPI CoGetCurrentProcess(void)
return GetCurrentProcessId(); return GetCurrentProcessId();
} }
/***********************************************************************
* CoGetCurrentLogicalThreadId [OLE32.@]
*/
HRESULT WINAPI CoGetCurrentLogicalThreadId(GUID *id)
{
TRACE("(%p)\n", id);
if (!id)
return E_INVALIDARG;
*id = COM_CurrentCausalityId();
return S_OK;
}
/****************************************************************************** /******************************************************************************
* CoRegisterMessageFilter [OLE32.@] * CoRegisterMessageFilter [OLE32.@]
* *
......
...@@ -83,12 +83,3 @@ HRESULT WINAPI CoGetCallerTID(LPDWORD lpdwTID) ...@@ -83,12 +83,3 @@ HRESULT WINAPI CoGetCallerTID(LPDWORD lpdwTID)
FIXME("stub!\n"); FIXME("stub!\n");
return E_NOTIMPL; return E_NOTIMPL;
} }
/***********************************************************************
* CoGetCurrentLogicalThreadId [OLE32.@]
*/
HRESULT WINAPI CoGetCurrentLogicalThreadId(GUID *pguid)
{
FIXME(": stub\n");
return E_NOTIMPL;
}
...@@ -3093,6 +3093,20 @@ static void test_IMallocSpy(void) ...@@ -3093,6 +3093,20 @@ static void test_IMallocSpy(void)
ok(hr == CO_E_OBJNOTREG, "got 0x%08x\n", hr); ok(hr == CO_E_OBJNOTREG, "got 0x%08x\n", hr);
} }
static void test_CoGetCurrentLogicalThreadId(void)
{
HRESULT hr;
GUID id;
hr = CoGetCurrentLogicalThreadId(NULL);
ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
id = GUID_NULL;
hr = CoGetCurrentLogicalThreadId(&id);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(!IsEqualGUID(&id, &GUID_NULL), "got null id\n");
}
static void init_funcs(void) static void init_funcs(void)
{ {
HMODULE hOle32 = GetModuleHandleA("ole32"); HMODULE hOle32 = GetModuleHandleA("ole32");
...@@ -3161,4 +3175,5 @@ START_TEST(compobj) ...@@ -3161,4 +3175,5 @@ START_TEST(compobj)
test_OleRegGetUserType(); test_OleRegGetUserType();
test_CoGetApartmentType(); test_CoGetApartmentType();
test_IMallocSpy(); test_IMallocSpy();
test_CoGetCurrentLogicalThreadId();
} }
...@@ -285,6 +285,7 @@ HRESULT WINAPI CoInitialize(LPVOID lpReserved); ...@@ -285,6 +285,7 @@ HRESULT WINAPI CoInitialize(LPVOID lpReserved);
HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit); HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit);
void WINAPI CoUninitialize(void); void WINAPI CoUninitialize(void);
DWORD WINAPI CoGetCurrentProcess(void); DWORD WINAPI CoGetCurrentProcess(void);
HRESULT WINAPI CoGetCurrentLogicalThreadId(GUID *id);
HRESULT WINAPI CoGetApartmentType(APTTYPE *type, APTTYPEQUALIFIER *qualifier); HRESULT WINAPI CoGetApartmentType(APTTYPE *type, APTTYPEQUALIFIER *qualifier);
HINSTANCE WINAPI CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree); HINSTANCE WINAPI CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment