windows-nt/Source/XPSP1/NT/admin/activec/test/snapins/sample/viewexttest.cpp
2020-09-26 16:20:57 +08:00

76 lines
2 KiB
C++

/*--------------------------------------------------------------------------*
*
* Microsoft Windows
* Copyright (C) Microsoft Corporation, 1992 - 000
*
* File: viewexttest.cpp
*
* Contents: Implementation file for view extension test snap-ins
*
* History: 20-Mar-2000 jeffro Created
*
*--------------------------------------------------------------------------*/
#include "stdafx.hxx"
#include "ViewExtTest.h"
// {49737049-EBF3-4e1c-B034-DE4936EDD1F4}
const CLSID CLSID_EventViewExtension1 =
{ 0x49737049, 0xebf3, 0x4e1c, { 0xb0, 0x34, 0xde, 0x49, 0x36, 0xed, 0xd1, 0xf4 } };
// {94AED30D-A033-436c-9919-E09CBA339973}
const CLSID CLSID_EventViewExtension2 =
{ 0x94aed30d, 0xa033, 0x436c, { 0x99, 0x19, 0xe0, 0x9c, 0xba, 0x33, 0x99, 0x73 } };
/*+-------------------------------------------------------------------------*
* CEventViewExtension1::GetViews
*
*
*--------------------------------------------------------------------------*/
STDMETHODIMP CViewExtension::GetViews (
IDataObject* pDataObject,
IViewExtensionCallback* pViewExtCallback)
{
DECLARE_SC (sc, _T("CEventViewExtension1::GetView"));
sc = ScCheckPointers (pViewExtCallback);
if (sc)
return (sc.ToHr());
/*
* generate a URL for the view extension using the res: protocol and
* duplicate it into a CoTaskMemAlloc'd buffer
*/
TCHAR szModule[_MAX_PATH];
GetModuleFileName (_Module.GetModuleInstance(), szModule, countof(szModule));
std::wstring strURL;
UINT nResourceID = GetResourceID();
if (nResourceID != 0)
{
WCHAR szResourceID[6];
_itow (nResourceID, szResourceID, 10);
USES_CONVERSION;
strURL = std::wstring(L"res://") + T2W(szModule) + L"/" + szResourceID;
}
else
strURL = GetResource();
std::wstring strTabName (GetTabName());
std::wstring strTooltip (GetTooltip());
MMC_EXT_VIEW_DATA xvd;
xvd.viewID = GetCLSID();
xvd.pszURL = strURL.data();
xvd.pszViewTitle = strTabName.data();
xvd.pszTooltipText = strTooltip.data();
xvd.bReplacesDefaultView = TRUE;
return (pViewExtCallback->AddView (&xvd));
}