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

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

?? typelib16.c

?? ReactOS是一些高手根據Windows XP的內核編寫出的類XP。內核實現機理和API函數調用幾乎相同。甚至可以兼容XP的程序。喜歡研究系統內核的人可以看一看。
?? 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一区二区三区免费野_久草精品视频
久久久久久毛片| 韩日欧美一区二区三区| 久久午夜电影网| 欧美一区二区不卡视频| 欧美夫妻性生活| 欧美一区二区三区思思人| 欧美精品视频www在线观看| 欧美综合一区二区三区| 欧美性大战久久久久久久蜜臀 | 日韩电影在线一区| 午夜久久久久久久久| 午夜久久电影网| 极品销魂美女一区二区三区| 国产一区二区导航在线播放| 国产a视频精品免费观看| 国产91丝袜在线播放| 色综合中文综合网| 自拍偷自拍亚洲精品播放| **性色生活片久久毛片| 亚洲一线二线三线久久久| 亚洲va欧美va国产va天堂影院| 日韩精品1区2区3区| 久久99国产精品麻豆| 亚洲综合成人网| 日韩欧美一区中文| 日韩你懂的在线播放| 日韩美女视频一区二区在线观看| 久久久久久一级片| 亚洲精品视频在线| 日韩电影网1区2区| 国产成人免费在线视频| 欧洲一区二区三区免费视频| 日韩午夜小视频| 中文一区在线播放| 视频一区二区三区入口| 国产成人精品三级麻豆| 91久久一区二区| 久久久亚洲高清| 一区二区免费在线播放| 久国产精品韩国三级视频| 亚洲国产中文字幕在线视频综合| 亚洲黄色av一区| a美女胸又www黄视频久久| 一本一道波多野结衣一区二区| 91精品欧美一区二区三区综合在 | 成人免费视频免费观看| 欧美另类变人与禽xxxxx| 中文字幕不卡的av| 青青草国产成人99久久| 91一区二区在线| 久久久久久久综合日本| 午夜日韩在线电影| 91免费小视频| 亚洲国产精品成人综合| 久久成人久久鬼色| 欧美乱熟臀69xxxxxx| 亚洲欧美影音先锋| 国产成+人+日韩+欧美+亚洲| 日韩欧美高清dvd碟片| 亚洲一区二区三区小说| www.在线欧美| 国产日韩av一区二区| 青青草原综合久久大伊人精品优势| 91原创在线视频| 国产精品青草久久| 国产成人自拍网| 精品91自产拍在线观看一区| 日韩高清不卡在线| 欧美日韩一二区| 亚洲va欧美va人人爽午夜| 在线一区二区视频| 亚洲美女免费视频| 一本色道久久综合亚洲aⅴ蜜桃| 国产性天天综合网| 国产成人综合亚洲网站| 久久一区二区三区国产精品| 蜜乳av一区二区三区| 欧美一区二区三区在线| 日韩高清一区在线| 日韩视频在线一区二区| 久草精品在线观看| 国产午夜精品一区二区三区视频| 国产精品99久久久久久有的能看| 国产婷婷色一区二区三区在线| 国产乱码精品一区二区三区忘忧草 | 欧美中文字幕不卡| 亚洲自拍偷拍av| 欧美浪妇xxxx高跟鞋交| 亚洲gay无套男同| 欧美一区二区福利在线| 国产一区二区三区香蕉 | 91视频在线观看| 一区二区三区在线观看视频 | 天堂久久一区二区三区| 日韩美一区二区三区| 国产在线看一区| 国产精品国产三级国产普通话三级 | 欧美一级xxx| 国产麻豆精品视频| 成人欧美一区二区三区白人| 一本到三区不卡视频| 午夜激情一区二区三区| 精品久久一二三区| a亚洲天堂av| 日韩av中文字幕一区二区| 久久久91精品国产一区二区三区| 成人av综合一区| 亚洲电影中文字幕在线观看| 精品国产一区二区在线观看| 白白色亚洲国产精品| 日韩极品在线观看| 久久人人爽爽爽人久久久| 99re成人精品视频| 美女精品自拍一二三四| 综合婷婷亚洲小说| 日韩精品一区二区三区四区视频| 成人av在线播放网址| 婷婷久久综合九色综合伊人色| 国产午夜精品一区二区| 欧美日韩国产一级| 不卡的av电影| 麻豆成人久久精品二区三区小说| 中文字幕在线不卡视频| 欧美哺乳videos| 欧美色图天堂网| 99久精品国产| 国产一区91精品张津瑜| 亚洲成人免费av| 亚洲欧美一区二区三区国产精品| 日韩精品一区二区三区视频 | 99视频精品全部免费在线| 美女在线视频一区| 亚洲资源中文字幕| 中文字幕中文在线不卡住| 精品国产区一区| 欧美男女性生活在线直播观看| 99麻豆久久久国产精品免费优播| 另类小说视频一区二区| 天堂资源在线中文精品| 一区二区国产盗摄色噜噜| 中文字幕国产一区| 久久精品这里都是精品| 日韩精品一区在线| 777午夜精品免费视频| 欧美午夜精品一区二区蜜桃 | 日日欢夜夜爽一区| 亚洲大片在线观看| 亚洲综合在线电影| 亚洲精品国产一区二区精华液 | 成人av电影免费在线播放| 国产一区二区不卡老阿姨| 美腿丝袜亚洲一区| 美女视频免费一区| 久久精品久久99精品久久| 日韩影院精彩在线| 免费观看日韩电影| 热久久一区二区| 美女视频网站久久| 国产一区高清在线| 国产精品综合一区二区| 国产美女视频一区| 高清成人在线观看| 成人精品亚洲人成在线| 99riav久久精品riav| 99在线热播精品免费| 色综合av在线| 欧美三级韩国三级日本三斤| 欧美日本国产一区| 日韩欧美久久久| 中文字幕精品—区二区四季| 亚洲欧洲99久久| 亚洲一区二区三区四区中文字幕 | 中日韩av电影| 亚洲精品日韩专区silk| 亚洲在线观看免费| 日韩精品电影在线观看| 国产精品888| 色婷婷国产精品久久包臀| 欧美日韩精品一区二区在线播放| 欧美狂野另类xxxxoooo| 久久综合狠狠综合久久综合88| 1024成人网| 日韩精品一级二级| 成人天堂资源www在线| 欧美在线一区二区三区| 久久夜色精品国产噜噜av| 中文字幕一区二区三区四区不卡| 亚洲一区二区三区国产| 精品一区二区精品| 色香蕉久久蜜桃| 日韩一区二区在线观看视频| 国产精品乱子久久久久| 日韩精品亚洲一区| 丰满岳乱妇一区二区三区| 欧美性猛交一区二区三区精品| 2023国产精华国产精品| 亚洲国产欧美日韩另类综合| 国产乱码精品一品二品| 欧美日韩精品电影| 成人免费一区二区三区在线观看|