⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linksrc.h

📁 英文版的 想要的话可以下载了 为大家服务
💻 H
字号:
/*
 * LINKSRC.H
 * Link Source Server Chapter 9
 *
 * Definitions, classes, and prototypes for an application that
 * serves file objects and support moniker binding.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#ifndef _LINKSRC_H_
#define _LINKSRC_H_

#include "objects.h"

#define IDR_MENU            1

#define IDM_FILECREATEGOOP  100
#define IDM_FILEEXIT        101


//Name of streams in the source file that holds description text.
#define SZDESCRIPTION       OLETEXT("Description")



//LINKSRC.CPP
LRESULT APIENTRY LinkSrcWndProc(HWND, UINT, WPARAM, LPARAM);

class CApp
    {
    friend LRESULT APIENTRY LinkSrcWndProc(HWND, UINT, WPARAM, LPARAM);

    protected:
        HINSTANCE       m_hInst;            //WinMain parameters
        HINSTANCE       m_hInstPrev;
        LPSTR           m_pszCmdLine;
        UINT            m_nCmdShow;

        HWND            m_hWnd;             //Main window handle

        BOOL            m_fEmbedding;       //-Embedding found?
        BOOL            m_fInitialized;     //Did CoInitialize work?
        LPCLASSFACTORY  m_pIClassFactory;   //Our class factory
        DWORD           m_dwRegCO;          //Registration key

    public:
        CApp(HINSTANCE, HINSTANCE, LPSTR, UINT);
        ~CApp(void);
        BOOL Init(void);

        void     CreateSampleFile(LPTSTR);
        HRESULT  CreateStore(IStorage *, LPTSTR, LPTSTR, UINT);
        HRESULT  WriteDescription(IStorage *, LPTSTR);
    };

typedef CApp *PAPP;

#define CBWNDEXTRA              sizeof(PAPP)
#define LINKSRCWL_STRUCTURE     0


void ObjectDestroyed(void);


//LINKSRC.CPP

class CFileObjectFactory : public IClassFactory
    {
    protected:
        ULONG                       m_cRef;

    public:
        CFileObjectFactory(void);
        ~CFileObjectFactory(void);

        //IUnknown members
        STDMETHODIMP QueryInterface(REFIID, PPVOID);
        STDMETHODIMP_(ULONG) AddRef(void);
        STDMETHODIMP_(ULONG) Release(void);

        //IClassFactory members
        STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, PPVOID);
        STDMETHODIMP LockServer(BOOL);
    };

typedef CFileObjectFactory *PCFileObjectFactory;

#endif //_LINKSRC_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -