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

📄 myobexsink.cpp

📁 這是 OEBX 使用在 Windows CE 上的範例程式 可以正確的模擬與執行
💻 CPP
字号:
//======================================================================
// MyObexSink - A lightweight COM class to receive obex notifications.
//
// Written for the book Programming Windows CE
// Copyright (C) 2003 Douglas Boling
//======================================================================
class MyObexSink : public IObexSink {

private:
    HWND m_hWnd;
    int m_lRef;

public:
    // Constructor
    MyObexSink(HWND hWnd) {
        m_hWnd = hWnd;
        m_lRef = 0;
    }
    // Destructor
    ~MyObexSink() {}
    //
    // Notify - Callback from Obex code.  Must return quick so no 
    // real work done here.
    //
    HRESULT STDMETHODCALLTYPE Notify (OBEX_EVENT Event, IUnknown *pUnk1,
                                      IUnknown *pUnk2) 
    {
        if (IsWindow (m_hWnd)) {
            // Inc the cnt of unk1 so it'll stay around.
            pUnk1->AddRef();
            PostMessage (m_hWnd, MYMSG_OBEXEVENT, (WPARAM)Event, 
                         (LPARAM)pUnk1);
        }
        return S_OK;
    }
    HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, LPVOID *ppv)
    {

        // If caller wants our IUnknown or IClassFactory object, 
        // return a pointer to the object.
        if (IsEqualIID (riid, IID_IUnknown) || 
            IsEqualIID (riid, IID_IObexSink)) {
            // Return pointer to object.
            *ppv = (IConnectionPoint *)this;     
            AddRef();                // Increment ref 
            return NOERROR;
        }
        *ppv = NULL;
        return (E_NOINTERFACE);
    }
    ULONG  STDMETHODCALLTYPE AddRef () {
        ULONG cnt = (ULONG)InterlockedIncrement ((long *)&m_lRef);
        return cnt;
    }
    ULONG STDMETHODCALLTYPE Release () {
        ULONG cnt;
        cnt = (ULONG)InterlockedDecrement ((long *)&m_lRef);
        if (cnt == 0) {
            delete this;
            return 0;
        }
        return cnt;
    }
};

⌨️ 快捷键说明

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