|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: I C O M T A R G . C P P
//
// Contents: ICommandTarget implementation for IUPnPTray
//
// Notes:
//
// Author: jeffspr 20 Jan 2000
//
//----------------------------------------------------------------------------
#include "pch.h"
#pragma hdrstop
#include "tfind.h" // for tray init functions, etc.
#include "upnptray.h"
extern CONST TCHAR c_szMainWindowClassName[];
HRESULT CUPnPTray::QueryStatus( const GUID * pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT * pCmdText) { HRESULT hr = E_NOTIMPL;
TraceTag(ttidShellFolderIface, "OBJ: CCT - IOleCommandTarget::QueryStatus");
TraceHr(ttidError, FAL, hr, (hr == E_NOTIMPL), "CUPnPTray::QueryStatus"); return hr; }
HRESULT CUPnPTray::Exec( const GUID * pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG * pvaIn, VARIANTARG * pvaOut) { HRESULT hr = S_OK;
TraceTag(ttidShellFolderIface, "OBJ: CCT - IOleCommandTarget::Exec");
if (IsEqualGUID(*pguidCmdGroup, CGID_ShellServiceObject)) { // Handle Shell Service Object notifications here.
switch (nCmdID) { case SSOCMDID_OPEN: TraceTag(ttidShellFolder, "The Net Connections Tray is being initialized"); hr = HrHandleTrayOpen(); break;
case SSOCMDID_CLOSE: TraceTag(ttidShellFolder, "The Net Connections Tray is being destroyed"); hr = HrHandleTrayClose(); break;
default: hr = S_OK; break; } }
TraceHr(ttidError, FAL, hr, FALSE, "CUPnPTray::Exec"); return hr; }
//+---------------------------------------------------------------------------
//
// Member: CUPnPTray::HrHandleTrayOpen
//
// Purpose: Handler for the Net Connections Tray object ::Exec call
// SSOCMDID_OPEN command
//
// Arguments:
// (none)
//
// Returns:
//
// Author: jeffspr 7 Jan 1998
//
// Notes:
//
HRESULT CUPnPTray::HrHandleTrayOpen() { HRESULT hr = S_OK;
m_hwnd = StartUPnPTray(); if (!m_hwnd) { TraceError("CUPnPTray::HrHandleTrayOpen - could not create tray " "window", hr); hr = E_FAIL; }
TraceHr(ttidError, FAL, hr, FALSE, "CUPnPTray::HrHandleTrayOpen()"); return hr; }
//+---------------------------------------------------------------------------
//
// Member: CUPnPTray::HrHandleTrayClose
//
// Purpose: Handler for the Net Connections Tray object ::Exec call
// SSOCMDID_CLOSE command
//
// Arguments:
// (none)
//
// Returns:
//
// Author: jeffspr 7 Jan 1998
//
// Notes:
//
HRESULT CUPnPTray::HrHandleTrayClose() { HRESULT hr = S_OK;
UnregisterClass (c_szMainWindowClassName, _Module.GetResourceInstance());
if (m_hwnd) { DestroyWindow(m_hwnd); }
TraceHr(ttidError, FAL, hr, FALSE, "CUPnPTray::HrHandleTrayClose()"); return hr; }
|