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

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

?? typelib16.c

?? 這是一個開放源代碼的與WINNT/WIN2K/WIN2003兼容的操作系統
?? C
字號:
/*
 *	TYPELIB 16bit part.
 *
 * Copyright 1997 Marcus Meissner
 * Copyright 1999 Rein Klazes
 * Copyright 2000 Francois Jacques
 * Copyright 2001 Huw D M Davies for CodeWeavers
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "config.h"
#include "wine/port.h"

#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
#include <ctype.h>

#include "winerror.h"
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
#include "winuser.h"

#include "objbase.h"
#include "ole2disp.h"
#include "wine/debug.h"

WINE_DEFAULT_DEBUG_CHANNEL(ole);

/*************************************************************************
 * TYPELIB {TYPELIB}
 *
 * This dll is the 16 bit version of the Typelib API, part the original
 * implementation of Ole automation. It and its companion ole2disp.dll were
 * superseded by oleaut32.dll which provides 32 bit implementations of these
 * functions and greatly extends the Ole Api.
 *
 * Winelib developers cannot use these functions directly, they are implemented
 * solely for backwards compatibility with existing legacy applications.
 *
 * SEE ALSO
 *  oleaut32(), ole2disp().
 */

/****************************************************************************
 *		QueryPathOfRegTypeLib	[TYPELIB.14]
 *
 * Get the registry key of a registered type library.
 *
 * RETURNS
 *  Success: S_OK. path is updated with the key name
 *  Failure: E_FAIL, if guid was not found in the registry
 *
 * NOTES
 *  The key takes the form "Classes\Typelib\<guid>\<major>.<minor>\<lcid>\win16\"
 */
HRESULT WINAPI
QueryPathOfRegTypeLib16(
	REFGUID guid,	/* [in] Guid to get the key name for */
	WORD wMaj,	/* [in] Major version */
	WORD wMin,	/* [in] Minor version */
	LCID lcid,	/* [in] Locale Id */
	LPBSTR16 path)	/* [out] Destination for the registry key name */
{
	char	xguid[80];
	char	typelibkey[100],pathname[260];
	LONG	plen;

       	TRACE("\n");

	if (HIWORD(guid)) {
            sprintf( typelibkey, "SOFTWARE\\Classes\\Typelib\\{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}\\%d.%d\\%x\\win16",
                     guid->Data1, guid->Data2, guid->Data3,
                     guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
                     guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7],
                     wMaj,wMin,lcid);
	} else {
		sprintf(xguid,"<guid 0x%08x>",(DWORD)guid);
		FIXME("(%s,%d,%d,0x%04x,%p),can't handle non-string guids.\n",xguid,wMaj,wMin,(DWORD)lcid,path);
		return E_FAIL;
	}
	plen = sizeof(pathname);
	if (RegQueryValueA(HKEY_LOCAL_MACHINE,typelibkey,pathname,&plen)) {
		/* try again without lang specific id */
		if (SUBLANGID(lcid))
			return QueryPathOfRegTypeLib16(guid,wMaj,wMin,PRIMARYLANGID(lcid),path);
		FIXME("key %s not found\n",typelibkey);
		return E_FAIL;
	}
	*path = SysAllocString16(pathname);
	return S_OK;
}

/******************************************************************************
 * LoadTypeLib [TYPELIB.3]
 *
 * Load and register a type library.
 *
 * RETURNS
 *  Success: S_OK. pptLib contains the type libraries ITypeLib interface.
 *  Failure: An HRESULT error code.
 *
 * NOTES
 *  Both parameters are FAR pointers.
 */
HRESULT WINAPI LoadTypeLib16(
    LPSTR szFile, /* [in] Name of file to load from */
    ITypeLib** pptLib) /* [out] Destination for loaded ITypeLib interface */
{
    FIXME("(%s,%p): stub\n",debugstr_a(szFile),pptLib);

    if (pptLib!=0)
      *pptLib=0;

    return E_FAIL;
}

/****************************************************************************
 *	OaBuildVersion				(TYPELIB.15)
 *
 * Get the Ole Automation build version.
 *
 * PARAMS
 *  None
 *
 * RETURNS
 *  The build version.
 *
 * NOTES
 *  Known typelib.dll versions:
 *| OLE Ver.  Comments                   Date    Build Ver.
 *| --------  -------------------------  ----    ---------
 *| OLE 2.01  Call not available         1993     N/A
 *| OLE 2.02                             1993-94  02 3002
 *| OLE 2.03                                      23 730
 *| OLE 2.03                                      03 3025
 *| OLE 2.03  W98 SE orig. file !!       1993-95  10 3024
 *| OLE 2.1   NT                         1993-95  ?? ???
 *| OLE 2.3.1 W95                                 23 700
 *| OLE2 4.0  NT4SP6                     1993-98  40 4277
 */
DWORD WINAPI OaBuildVersion16(void)
{
    /* FIXME: I'd like to return the highest currently known version value
     * in case the user didn't force a --winver, but I don't know how
     * to retrieve the "versionForced" info from misc/version.c :(
     * (this would be useful in other places, too) */
    FIXME("If you get version error messages, please report them\n");
    switch(GetVersion() & 0x8000ffff)  /* mask off build number */
    {
    case 0x80000a03:  /* WIN31 */
		return MAKELONG(3027, 3); /* WfW 3.11 */
    case 0x80000004:  /* WIN95 */
		return MAKELONG(700, 23); /* Win95A */
    case 0x80000a04:  /* WIN98 */
		return MAKELONG(3024, 10); /* W98 SE */
    case 0x00000004:  /* NT4 */
		return MAKELONG(4277, 40); /* NT4 SP6 */
    default:
	FIXME("Version value not known yet. Please investigate it!\n");
		return 0;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久综合网| 毛片基地黄久久久久久天堂| 亚洲成人福利片| 国产mv日韩mv欧美| 欧美午夜精品理论片a级按摩| 欧美激情一区二区三区| 视频一区二区三区入口| 91免费国产在线观看| 久久一日本道色综合| 亚洲精品视频自拍| 国产99久久久精品| 日韩欧美中文字幕制服| 亚洲丶国产丶欧美一区二区三区| 成人高清免费在线播放| 精品国产乱码久久久久久牛牛| 亚洲综合久久av| 91女人视频在线观看| 国产欧美va欧美不卡在线| 久久国产精品色| 日韩欧美视频一区| 日韩精品一二三区| 91精品国产一区二区| 亚洲国产成人91porn| 91免费国产在线| 国产精品乱码一区二区三区软件 | 一本久久综合亚洲鲁鲁五月天| 精品国产污污免费网站入口 | 综合久久一区二区三区| 成人亚洲一区二区一| 欧美精品一区二区三区四区| 久久精品理论片| 欧美一卡在线观看| 奇米777欧美一区二区| 欧美日本不卡视频| 日韩av在线播放中文字幕| 在线播放欧美女士性生活| 亚洲成人激情av| 制服.丝袜.亚洲.中文.综合| 日本二三区不卡| 国产一区二区三区国产| 欧美精选在线播放| 日韩影院免费视频| 欧美mv日韩mv| 国产91丝袜在线观看| 国产精品免费视频观看| 色综合天天性综合| 亚洲国产精品一区二区www| 欧美日韩一区二区三区四区五区| 午夜精品福利一区二区蜜股av | 欧美日韩高清一区二区三区| 天天综合天天做天天综合| 欧美一卡二卡在线| 国产精品中文字幕欧美| 国产精品久久夜| 欧美日韩一卡二卡三卡| 天堂精品中文字幕在线| 精品女同一区二区| 风间由美一区二区三区在线观看 | 一区二区三区不卡视频在线观看 | heyzo一本久久综合| 一区二区三区日韩精品| 欧美一区二区免费视频| 国产精品一品视频| 一区二区三区在线观看欧美| 777a∨成人精品桃花网| 国产成人免费9x9x人网站视频| 国产精品理伦片| 在线91免费看| 成人午夜私人影院| 日韩**一区毛片| 中文字幕制服丝袜成人av| 欧美精品日日鲁夜夜添| 成人午夜私人影院| 免费观看在线色综合| 国产精品久久久久久久久免费樱桃| 欧美三级在线播放| 成人一级片在线观看| 日日嗨av一区二区三区四区| 中文字幕免费不卡在线| 制服.丝袜.亚洲.中文.综合| av在线播放一区二区三区| 秋霞影院一区二区| 一区二区三区四区精品在线视频| 精品久久久久久久久久久院品网 | 欧美精品电影在线播放| 国产精品一区2区| 视频一区欧美精品| 亚洲激情av在线| 国产成人99久久亚洲综合精品| 在线观看免费视频综合| 麻豆精品视频在线观看| 亚洲美女视频在线观看| 国产天堂亚洲国产碰碰| 制服.丝袜.亚洲.另类.中文| 91丨九色丨国产丨porny| 国产成人亚洲综合a∨婷婷图片| 亚洲成人av在线电影| 亚洲欧洲综合另类| 久久精品网站免费观看| 欧美一级艳片视频免费观看| 欧美探花视频资源| 91小宝寻花一区二区三区| 国产99精品视频| 韩国女主播一区| 久久er99精品| 麻豆精品一二三| 蜜臀久久久久久久| 日韩vs国产vs欧美| 日韩国产欧美在线视频| 天涯成人国产亚洲精品一区av| 亚洲精选一二三| 一卡二卡三卡日韩欧美| 国产精品久久久久婷婷二区次| 久久综合久久99| 久久亚洲捆绑美女| 久久久五月婷婷| 久久欧美中文字幕| 国产日本一区二区| 国产欧美日韩不卡| 亚洲欧洲av色图| 亚洲毛片av在线| 亚洲成人综合在线| 免费成人av在线播放| 麻豆一区二区在线| 国产91在线看| 色哦色哦哦色天天综合| 色94色欧美sute亚洲线路二| 91久久香蕉国产日韩欧美9色| 一本一道综合狠狠老| 在线免费一区三区| 欧美绝品在线观看成人午夜影视| 欧美精品丝袜久久久中文字幕| 717成人午夜免费福利电影| 日韩一区二区三区在线视频| 精品日韩在线观看| 欧美国产精品一区二区| 亚洲色大成网站www久久九九| 亚洲综合免费观看高清完整版在线 | 欧美大黄免费观看| 日本一区二区视频在线观看| 亚洲视频免费在线观看| 性感美女久久精品| 国产电影精品久久禁18| 日本韩国一区二区三区| 日韩网站在线看片你懂的| 国产女人aaa级久久久级| 一区二区三区精品久久久| 麻豆国产一区二区| av福利精品导航| 欧美日本一道本在线视频| 久久免费电影网| 一级做a爱片久久| 国模无码大尺度一区二区三区| 91网站视频在线观看| 91精品国产欧美一区二区18| 国产欧美日韩精品a在线观看| 亚洲亚洲精品在线观看| 国产激情91久久精品导航| 欧美性做爰猛烈叫床潮| 国产日韩综合av| 天天综合日日夜夜精品| 99久久综合狠狠综合久久| 日韩一区二区三区视频| 中文字幕日韩一区| 久久精品国内一区二区三区| 在线观看视频欧美| 欧美国产一区在线| 奇米色777欧美一区二区| 99天天综合性| 国产午夜亚洲精品羞羞网站| 天堂av在线一区| 日本精品视频一区二区| 久久精品欧美日韩| 免费xxxx性欧美18vr| 欧美色图12p| 亚洲精选视频在线| 波多野结衣亚洲| 国产午夜精品一区二区三区嫩草 | 欧美视频一区二区| 国产精品成人一区二区三区夜夜夜| 久久精品免费观看| 4hu四虎永久在线影院成人| 亚洲欧美日韩在线| www.在线欧美| 中文字幕中文乱码欧美一区二区 | 亚洲一区自拍偷拍| 91色|porny| 亚洲图片欧美激情| 99r精品视频| 国产精品乱人伦一区二区| 国产福利电影一区二区三区| 欧美不卡一区二区三区四区| 日产精品久久久久久久性色| 欧美日韩国产一二三| 亚洲成人福利片| 欧美二区乱c少妇| 日韩精品成人一区二区三区| 欧美人伦禁忌dvd放荡欲情| 日韩中文字幕1| 日韩视频在线一区二区|