亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bcfbasiccontrol.cpp

?? 用VC開發ACTIVEX 一書 實例3 BCFBasicControl
?? CPP
字號:
//=--------------------------------------------------------------------------=
// BCFBasicControl.Cpp
//=--------------------------------------------------------------------------=
// Copyright  1995  Microsoft Corporation.  All Rights Reserved.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
// PARTICULAR PURPOSE.
//=--------------------------------------------------------------------------=
//
// various routines et all that aren't in a file for a particular automation
// object, and don't need to be in the generic ole automation code.
//
#define INITOBJECTS                // define the descriptions for our objects

#include "IPServer.H"
#include "LocalSrv.H"


#include "LocalObj.H"
#include "BCFBasicControlInterfaces.H"
#include "CtrlObj.H"
#include "Globals.H"
#include "Util.H"
#include "Resource.H"

#include "BCFBasicControlCtl.H"
#include "BCFBasicControlPPG.H"

// needed for ASSERTs and FAIL
//
SZTHISFILE

//=--------------------------------------------------------------------------=
// our Libid.  This should be the LIBID from the Type library, or NULL if you
// don't have one.
//
const CLSID *g_pLibid = &LIBID_BCFBasicControlObjects;

//=--------------------------------------------------------------------------=
// Set this up if you want to have a window proc for your parking window. This
// is really only interesting for Sub-classed controls that want, in design
// mode, certain messages that are sent only to the parent window.
//
WNDPROC g_ParkingWindowProc = NULL;

//=--------------------------------------------------------------------------=
// Setting this flag to TRUE will cause your control to be created using
// its runtime license key even if it's created as part of a composite
// control (ie: a VB5-built UserControl) in a design environment.
//
const BOOL g_fUseRuntimeLicInCompositeCtl = FALSE;


//=--------------------------------------------------------------------------=
// Localization Information
//
// We need the following two pieces of information:
//    a. whether or not this DLL uses satellite DLLs for localization.  if
//       not, then the lcidLocale is ignored, and we just always get resources
//       from the server module file.
//    b. the ambient LocaleID for this in-proc server.  Controls calling
//       GetResourceHandle() will set this up automatically, but anybody
//       else will need to be sure that it's set up properly.
//
const VARIANT_BOOL g_fSatelliteLocalization =  FALSE;
LCID               g_lcidLocale = MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT);


//=--------------------------------------------------------------------------=
// your license key and where under HKEY_CLASSES_ROOT_LICENSES it's sitting
//
const WCHAR g_wszLicenseKey [] = L"";
const WCHAR g_wszLicenseLocation [] = L"";


//=--------------------------------------------------------------------------=
// This Table describes all the automatible objects in your automation server.
// See AutomationObject.H for a description of what goes in this structure
// and what it's used for.
//
OBJECTINFO g_ObjectInfo[] = {
    CONTROLOBJECT(BCFBasicControl),
    PROPERTYPAGE(BCFBasicControlGeneral),
    EMPTYOBJECT
};

const char g_szLibName[] = "BCFBasicControl";

//=--------------------------------------------------------------------------=
// IntializeLibrary
//=--------------------------------------------------------------------------=
// called from DllMain:DLL_PROCESS_ATTACH.  allows the user to do any sort of
// initialization they want to.
//
// Notes:
//
void WINAPI InitializeLibrary
(
    void
)
{
    // TODO: initialization here.  control window class should be set up in
    // RegisterClassData.
}

//=--------------------------------------------------------------------------=
// UninitializeLibrary
//=--------------------------------------------------------------------------=
// called from DllMain:DLL_PROCESS_DETACH.  allows the user to clean up anything
// they want.
//
// Notes:
//
void WINAPI UninitializeLibrary
(
    void
)
{
    // TODO: uninitialization here.  control window class will be unregistered
    // for you, but anything else needs to be cleaned up manually.
    // Please Note that the Window 95 DLL_PROCESS_DETACH isn't quite as stable
    // as NT's, and you might crash doing certain things here ...
}


//=--------------------------------------------------------------------------=
// CheckForLicense
//=--------------------------------------------------------------------------=
// users can implement this if they wish to support Licensing.  otherwise,
// they can just return TRUE all the time.
//
// Parameters:
//    none
//
// Output:
//    BOOL            - TRUE means the license exists, and we can proceed
//                      FALSE means we're not licensed and cannot proceed
//
// Notes:
//    - implementers should use g_wszLicenseKey and g_wszLicenseLocation
//      from the top of this file to define their licensing [the former
//      is necessary, the latter is recommended]
//
BOOL WINAPI CheckForLicense
(
    void
)
{
    // TODO: you should make sure the machine has your license key here.
    // this is typically done by looking in the registry.
    //
    return TRUE;
}

//=--------------------------------------------------------------------------=
// CheckLicenseKey
//=--------------------------------------------------------------------------=
// when IClassFactory2::CreateInstanceLic is called, a license key is passed
// in, and then passed on to this routine.  users should return a boolean 
// indicating whether it is a valid license key or not
//
// Parameters:
//    LPWSTR          - [in] the key to check
//
// Output:
//    BOOL            - false means it's not valid, true otherwise
//
// Notes:
//
BOOL WINAPI CheckLicenseKey
(
    LPWSTR pwszKey
)
{
    // TODO: check the license key against your values here and make sure it's
    // valid.
    //
    return TRUE;
}

//=--------------------------------------------------------------------------=
// GetLicenseKey
//=--------------------------------------------------------------------------=
// returns our current license key that should be saved out, and then passed
// back to us in IClassFactory2::CreateInstanceLic
//
// Parameters:
//    none
//
// Output:
//    BSTR                 - key or NULL if Out of memory
//
// Notes:
//
BSTR WINAPI GetLicenseKey
(
    void
)
{
    // TODO: return your license key here.
    //
    return SysAllocString(L"");
}

//=--------------------------------------------------------------------------=
// RegisterData
//=--------------------------------------------------------------------------=
// lets the inproc server writer register any data in addition to that in
// any other objects.
//
// Output:
//    BOOL            - false means failure.
//
// Notes:
//
BOOL WINAPI RegisterData
(
    void
)
{
    // TODO: register any additional data here that you might wish to.
    //
    return TRUE;
}

//=--------------------------------------------------------------------------=
// UnregisterData
//=--------------------------------------------------------------------------=
// inproc server writers should unregister anything they registered in
// RegisterData() here.
//
// Output:
//    BOOL            - false means failure.
//
// Notes:
//
BOOL WINAPI UnregisterData
(
    void
)
{
    // TODO: any additional registry cleanup that you might wish to do.
    //
    return TRUE;
}


//=--------------------------------------------------------------------------=
// CRT stubs
//=--------------------------------------------------------------------------=
// these two things are here so the CRTs aren't needed. this is good.
//
// basically, the CRTs define this to suck in a bunch of stuff.  we'll just
// define them here so we don't get an unresolved external.
//
// TODO: if you are going to use the CRTs, then remove this line.
//
extern "C" int _fltused = 1;

extern "C" int _purecall(void)
{
  FAIL("Pure virtual function called.");
  return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久伊人网影院| 国产视频911| 亚洲国产美国国产综合一区二区| 久久av资源站| 亚洲精品一区二区三区香蕉| 亚洲一区二区美女| 日本乱人伦一区| 樱花影视一区二区| 欧美日韩一区久久| 天堂久久一区二区三区| 欧美一区二区精品久久911| 五月激情综合色| 精品福利一二区| 大美女一区二区三区| 一区二区三区四区中文字幕| 91丨porny丨中文| 亚洲成av人影院| 欧美videossexotv100| 成人毛片老司机大片| 亚洲人午夜精品天堂一二香蕉| www.日韩av| 日本成人在线电影网| 国产香蕉久久精品综合网| 成人av在线一区二区三区| 亚洲综合网站在线观看| 日韩欧美专区在线| 国产白丝网站精品污在线入口| 亚洲精品久久7777| 久久精品欧美日韩| 欧美视频在线观看一区| 国产高清不卡一区| 日韩黄色免费电影| 亚洲三级在线免费观看| 欧美精品一区二区三| 正在播放亚洲一区| 99re亚洲国产精品| 国产传媒欧美日韩成人| 亚洲动漫第一页| 亚洲精品日韩专区silk| 国产人成一区二区三区影院| 555夜色666亚洲国产免| 在线看国产一区| 色婷婷国产精品| 99视频精品全部免费在线| 国产精品一二三四五| 老司机一区二区| 狠狠色狠狠色综合系列| 丝袜亚洲另类欧美| 青娱乐精品视频在线| 午夜在线成人av| 亚洲bdsm女犯bdsm网站| 亚洲人成伊人成综合网小说| 中文字幕一区日韩精品欧美| 国产欧美日韩综合| 亚洲国产岛国毛片在线| 欧美激情一区在线| 国产欧美日韩精品a在线观看| 久久久噜噜噜久噜久久综合| 日韩午夜在线观看| 国产欧美一区二区精品性色| 久久夜色精品国产欧美乱极品| 久久天堂av综合合色蜜桃网| 久久欧美中文字幕| 日本一二三不卡| 亚洲日本va在线观看| 香蕉成人伊视频在线观看| 另类欧美日韩国产在线| 国产99久久久国产精品免费看| 一本大道久久a久久精二百| 欧美午夜精品一区二区三区| 精品三级在线观看| 亚洲人成在线播放网站岛国| 日本伊人午夜精品| 国产精品18久久久久久久久| 色婷婷av久久久久久久| 欧美成人bangbros| 亚洲香蕉伊在人在线观| 激情欧美一区二区| 欧美日韩国产高清一区二区 | 成人性视频免费网站| 欧美午夜电影在线播放| 精品国产乱码久久久久久夜甘婷婷| **性色生活片久久毛片| 久久国产精品色| 欧美日韩国产三级| 亚洲日本在线视频观看| 国产一区二区三区电影在线观看| 色综合久久天天| 国产女同互慰高潮91漫画| 蜜臀va亚洲va欧美va天堂| 91久久精品一区二区三区| 中文字幕av一区二区三区| 蜜臀va亚洲va欧美va天堂 | 99久久综合色| 欧美国产一区二区在线观看| 黑人巨大精品欧美一区| 欧美一级高清大全免费观看| 午夜视频一区在线观看| 色噜噜狠狠色综合中国| 一区二区三区在线免费观看| 色哟哟亚洲精品| 亚洲国产一区二区三区青草影视| 99精品视频中文字幕| 一区二区三区中文字幕在线观看| 成人一区二区视频| 国产精品美女一区二区| 色综合久久中文字幕综合网| 17c精品麻豆一区二区免费| 99久久夜色精品国产网站| 亚洲视频 欧洲视频| 欧美区一区二区三区| 狠狠色丁香婷综合久久| 中文字幕不卡在线播放| 91麻豆文化传媒在线观看| 亚洲成国产人片在线观看| 欧美电视剧免费观看| 成人免费看黄yyy456| 一区二区三区高清在线| 在线播放/欧美激情| 成人一区二区视频| 亚洲一区二区三区不卡国产欧美| 欧美福利视频导航| 成人一区二区三区在线观看| 亚洲午夜激情av| 久久久久久99精品| 欧美三级日韩三级国产三级| 国产精品影视网| 日韩电影免费在线观看网站| 国产精品久久久久久久久果冻传媒| 欧美在线一二三四区| www.激情成人| 美女在线观看视频一区二区| 中文字幕色av一区二区三区| 欧美夫妻性生活| 91麻豆.com| 99久久国产综合精品色伊| 久久国产福利国产秒拍| 天天色天天操综合| 亚洲1区2区3区4区| 一区二区三区蜜桃| 亚洲精品欧美综合四区| 国产精品美女久久久久久久久久久| 精品免费国产二区三区| 欧美一区二区视频在线观看2020| 色94色欧美sute亚洲13| 成人av动漫在线| voyeur盗摄精品| 99久久精品一区| 色综合婷婷久久| 一本一道波多野结衣一区二区| 懂色av一区二区夜夜嗨| 岛国av在线一区| 色综合久久久久综合体| 欧美视频中文一区二区三区在线观看| 91美女片黄在线| 欧美三级日韩在线| 精品久久久久99| 久久九九久久九九| 亚洲三级免费观看| 亚洲一级在线观看| 麻豆成人久久精品二区三区红| 免费成人在线观看| 国产91在线观看| 在线观看国产精品网站| 欧美日韩国产区一| 精品1区2区在线观看| 国产精品久久久久久久久免费相片| 国产精品福利在线播放| 午夜日韩在线观看| 国产风韵犹存在线视精品| 欧美视频一区二区三区四区 | 成人性色生活片免费看爆迷你毛片| 成人中文字幕电影| 91精品国产综合久久福利| 国产亚洲综合色| 亚洲高清免费在线| 国产精品亚洲人在线观看| 欧美日韩一级黄| 日韩理论片在线| 国产成人精品亚洲午夜麻豆| 欧美人妖巨大在线| 亚洲欧美国产77777| 国产精品影音先锋| 日韩欧美中文字幕一区| 亚洲电影中文字幕在线观看| 99国产欧美另类久久久精品| 欧美成人vps| 另类小说图片综合网| 欧美精品一级二级| 亚洲bdsm女犯bdsm网站| 91福利精品视频| 最新中文字幕一区二区三区| 国产成人自拍高清视频在线免费播放| 欧美日韩一级二级| 亚洲综合丝袜美腿| 欧美二区三区的天堂| 日韩1区2区3区| 5858s免费视频成人| 奇米色一区二区| 精品日韩在线一区|