Changeset 187

User picture

Author: alax

(2010/02/02 13:10) Over 2 years ago

a fix for unexpected crash of COM surrogate process on Win 7 x64

Affected files

Updated trunk/FilterGraphSpy/DirectShowSpy.rc Download diff

186187
61
//
61
//
62
62
63
VS_VERSION_INFO VERSIONINFO
63
VS_VERSION_INFO VERSIONINFO
64
 FILEVERSION 1, 0, 0, 223
64
 FILEVERSION 1, 0, 0, 246
65
 PRODUCTVERSION 1,0,0,1
65
 PRODUCTVERSION 1,0,0,1
66
 FILEFLAGSMASK 0x3fL
66
 FILEFLAGSMASK 0x3fL
67
#ifdef _DEBUG
67
#ifdef _DEBUG
...
...
80
            VALUE "Comments", "Created by Roman Ryltsov roman@alax.info"
80
            VALUE "Comments", "Created by Roman Ryltsov roman@alax.info"
81
            VALUE "CompanyName", "Roman Ryltsov"
81
            VALUE "CompanyName", "Roman Ryltsov"
82
            VALUE "FileDescription", "Alax.Info DirectShow Spy Module"
82
            VALUE "FileDescription", "Alax.Info DirectShow Spy Module"
83
            VALUE "FileVersion",     "1, 0, 0, 223"
83
            VALUE "FileVersion",                            "1, 0, 0, 246"
84
            VALUE "InternalName", "DirectShowSpy.dll"
84
            VALUE "InternalName", "DirectShowSpy.dll"
85
            VALUE "LegalCopyright", "Copyright © Alax.Info, Roman Ryltsov, 2008-2010"
85
            VALUE "LegalCopyright", "Copyright © Alax.Info, Roman Ryltsov, 2008-2010"
86
            VALUE "OLESelfRegister", "Yes"
86
            VALUE "OLESelfRegister", "Yes"

Updated trunk/FilterGraphSpy/DirectShowSpy.sln Download diff

186187
26
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|Win32.ActiveCfg = Debug|Win32
26
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|Win32.ActiveCfg = Debug|Win32
27
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|Win32.Build.0 = Debug|Win32
27
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|Win32.Build.0 = Debug|Win32
28
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|x64.ActiveCfg = Debug|x64
28
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|x64.ActiveCfg = Debug|x64
29
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Debug|x64.Build.0 = Debug|x64
29
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Release Trace|Win32.ActiveCfg = Release Trace|Win32
30
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Release Trace|Win32.ActiveCfg = Release Trace|Win32
30
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Release Trace|Win32.Build.0 = Release Trace|Win32
31
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Release Trace|Win32.Build.0 = Release Trace|Win32
31
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Release Trace|x64.ActiveCfg = Release Trace|x64
32
		{1A5DA4E5-ED09-476A-9A42-538D0DDA3FB9}.Release Trace|x64.ActiveCfg = Release Trace|x64

Updated trunk/FilterGraphSpy/FilterGraphSpy.h Download diff

186187
42
42
43
DECLARE_GET_CONTROLLING_UNKNOWN()
43
DECLARE_GET_CONTROLLING_UNKNOWN()
44
44
45
//DECLARE_QI_TRACE(CSpy)
45
DECLARE_QI_TRACE(CSpy)
46
46
47
BEGIN_COM_MAP(CSpy)
47
BEGIN_COM_MAP(CSpy)
48
	COM_INTERFACE_ENTRY(ISpy)
48
	COM_INTERFACE_ENTRY(ISpy)
...
...
163
	}
163
	}
164
	HRESULT FinalConstruct() throw()
164
	HRESULT FinalConstruct() throw()
165
	{
165
	{
166
		InternalAddRef();
166
		_ATLTRY
167
		_ATLTRY
167
		{
168
		{
168
			m_bIsAggregated = IsAggregated();
169
			m_bIsAggregated = IsAggregated();
...
...
226
		}
227
		}
227
		_ATLCATCH(Exception)
228
		_ATLCATCH(Exception)
228
		{
229
		{
230
			_A(InternalRelease() > 0);
229
			_C(Exception);
231
			_C(Exception);
230
		}
232
		}
233
		// NOTE: x64 build experiences a problem under COM Surrogate process that we're already being released to zero while still in this method
234
		if(InternalRelease() <= 0)
235
			return E_UNEXPECTED;
231
		return S_OK;
236
		return S_OK;
232
	}
237
	}
233
	VOID FinalRelease() throw()
238
	VOID FinalRelease() throw()