//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1995 - 1995. // // File: xicon.cxx // // Contents: Implementation of CSharesEI & CSharesEIA, implementations // of IExtractIcon // // History: 14-Dec-95 BruceFo Created // //---------------------------------------------------------------------------- #include "headers.hxx" #pragma hdrstop #include "xicon.hxx" #include "resource.h" #include "shares.h" STDMETHODIMP CSharesEI::GetIconLocation( UINT uFlags, LPTSTR szIconFile, UINT cchMax, int* piIndex, UINT* pwFlags) { if (uFlags & GIL_OPENICON) { return S_FALSE; } lstrcpy(szIconFile, TEXT("shareui.dll")); WORD wIcon = 0; switch (m_bFlags) { case SHID_SHARE_1: case SHID_SHARE_2: if ((m_dwType & ~STYPE_SPECIAL) == STYPE_IPC) { wIcon = IDI_IPC; } else { wIcon = IDI_SHARE; } break; #ifdef WIZARDS case SHID_SHARE_NW: wIcon = IDI_NWSHARE; break; case SHID_SHARE_MAC: wIcon = IDI_MACSHARE; break; case SHID_SHARE_ALL: wIcon = IDI_ALLSHARE; break; case SHID_SHARE_NEW: wIcon = IDI_NEWSHARE; break; #endif // WIZARDS default: appAssert(!"Unknown share type"); } *piIndex = -(int)wIcon; *pwFlags = GIL_PERINSTANCE; return S_OK; } STDMETHODIMP CSharesEI::Extract( LPCTSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize ) { return S_FALSE; } #ifdef UNICODE STDMETHODIMP CSharesEIA::GetIconLocation( UINT uFlags, LPSTR szIconFile, UINT cchMax, int* piIndex, UINT* pwFlags ) { if (uFlags & GIL_OPENICON) { return S_FALSE; } lstrcpyA(szIconFile, "shareui.dll"); WORD wIcon = 0; switch (m_bFlags) { case SHID_SHARE_1: case SHID_SHARE_2: if ((m_dwType & ~STYPE_SPECIAL) == STYPE_IPC) { wIcon = IDI_IPC; } else { wIcon = IDI_SHARE; } break; #ifdef WIZARDS case SHID_SHARE_NW: wIcon = IDI_NWSHARE; break; case SHID_SHARE_MAC: wIcon = IDI_MACSHARE; break; case SHID_SHARE_ALL: wIcon = IDI_ALLSHARE; break; case SHID_SHARE_NEW: wIcon = IDI_NEWSHARE; break; #endif // WIZARDS default: appAssert(!"Unknown share type"); } *piIndex = -(int)wIcon; *pwFlags = GIL_PERINSTANCE; return S_OK; } STDMETHODIMP CSharesEIA::Extract( LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) { return S_FALSE; } #endif // UNICODE