Instantiating the Process Debug Manager
To register the program with the process debug manager (PDM), create an instance of the PDM and obtain its IDebugProgramPublisher2 interface. The PDM is implemented as a multiple-use server and is typically instantiated when Visual Studio starts a program. A call to CoCreateInstance typically returns the existing PDM IDebugProgramPublisher2 interface.
To instantiate the PDM
In Class View, right-click the CProgram class and click Add Variable to add a variable with the Variable name m_srpProgramPublisher, the Variable type CComPtr<IDebugProgramPublisher2>, and an Access type of protected.
Open the Program.cpp file, find the CProgram::Start method, and add the following bold lines:
m_spEngine = pEngine; HRESULT hr = m_srpProgramPublisher.CoCreateInstance(CLSID_ProgramPublisher); if ( FAILED(hr) ) { ATLTRACE("Failed to create the program publisher: 0x%x.", hr); return; }
Build the project to make sure there are no errors.