ole32: Add a few fields to OLE TLS area to match native memory layout.

This commit is contained in:
Andrey Turkin 2009-01-18 17:18:03 +03:00 committed by Alexandre Julliard
parent a06f568a2a
commit d0a345f914
2 changed files with 10 additions and 2 deletions

View File

@ -3951,9 +3951,12 @@ HRESULT WINAPI CoGetObjectContext(REFIID riid, void **ppv)
*/
HRESULT WINAPI CoGetContextToken( ULONG_PTR *token )
{
struct oletls *info = COM_CurrentInfo();
static int calls;
if(!(calls++)) FIXME( "stub\n" );
if (token) *token = 0;
if (!info)
return E_OUTOFMEMORY;
if (token) *token = info->context_token;
return E_NOTIMPL;
}

View File

@ -175,13 +175,18 @@ struct oletls
struct apartment *apt;
IErrorInfo *errorinfo; /* see errorinfo.c */
IUnknown *state; /* see CoSetState */
DWORD apt_mask; /* apartment mask (+0Ch on x86) */
IInitializeSpy *spy; /* The "SPY" from CoInitializeSpy */
DWORD inits; /* number of times CoInitializeEx called */
DWORD ole_inits; /* number of times OleInitialize called */
GUID causality_id; /* unique identifier for each COM call */
LONG pending_call_count_client; /* number of client calls pending */
LONG pending_call_count_server; /* number of server calls pending */
IUnknown *call_state; /* current call context */
DWORD unknown;
ULONG_PTR context_token; /* (+38h on x86) */
IUnknown *call_state; /* current call context (+3Ch on x86) */
DWORD unknown2[46];
IUnknown *cancel_object; /* cancel object set by CoSetCancelObject (+F8h on x86) */
};