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

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

?? misc.c

?? 可用于嵌入式編程學習
?? C
字號:
/*++

Copyright (c) 1997-2000 Microsoft Corporation.  All rights reserved.

Module Name:

    misc.c

Abstract:

    This file contains miscellaneous routines.

--*/

#include "fsdmgrp.h"


/*  InitList - Initialize a doubly-linked list
 */

void InitList(PDLINK pdl)
{
    pdl->next = pdl->prev = pdl;
}


/*  IsListEmpty - Return TRUE if list is empty
 */

BOOL IsListEmpty(PDLINK pdl)
{
	return pdl->next == pdl;
}


/*  AddListItem - Add item to list
 */

void AddListItem(PDLINK pdlIns, PDLINK pdlNew)
{
    pdlNew->prev = pdlIns;
    (pdlNew->next = pdlIns->next)->prev = pdlNew;
    pdlIns->next = pdlNew;
}


/*  RemoveListItem - Remove item from list
 */

void RemoveListItem(PDLINK pdl)
{
    pdl->prev->next = pdl->next;
    pdl->next->prev = pdl->prev;
}


/*  CompareFSDs - Compare the identity of two FSDs
 *
 *  ENTRY
 *      hFSD1 - handle to first FSD
 *      hFSD2 - handle to second FSD
 *
 *  EXIT
 *      TRUE if match, FALSE if not
 */

BOOL CompareFSDs(HANDLE hFSD1, HANDLE hFSD2)
{
#ifdef DEBUG
    DWORD cch1, cch2;
    WCHAR wsTmp1[MAX_PATH];
    WCHAR wsTmp2[MAX_PATH];

    cch1 = GetModuleFileName(hFSD1, wsTmp1, ARRAY_SIZE(wsTmp1));
    cch2 = GetModuleFileName(hFSD2, wsTmp2, ARRAY_SIZE(wsTmp2));

    ASSERT(hFSD1 != hFSD2 || cch1 == cch2 && wcsicmp(wsTmp1, wsTmp2) == 0);
#endif
    return hFSD1 == hFSD2;
}


/*  GetFSDProcAddress - Get a procedure address for an FSD
 *
 *  ENTRY
 *      pFSD -> FSD structure
 *      pwsBaseFunc -> base procedure name
 *
 *  EXIT
 *      Procedure address, or NULL if it doesn't exist
 */

PFNAPI GetFSDProcAddress(PFSD pFSD, PCWSTR pwsBaseFunc)
{
    WCHAR wsTmp[MAX_FSD_NAME_SIZE + MAX_ENTRYPOINT_NAME_SIZE];

    wcscpy(wsTmp, pFSD->wsFSD);
    wcscat(wsTmp, pwsBaseFunc);

    return GetProcAddress(pFSD->hFSD, wsTmp);
}


/*  GetFSDProcArray - Get a set of procedure addresses for an FSD
 *
 *  ENTRY
 *      pFSD -> FSD structure
 *      apfnFuncs -> array of procedure addresses to be filled in
 *      apfnStubs -> array of stub procedures to be used in case a procedure doesn't exist
 *      apwsBaseFuncs -> array of base procedure names (NULL if no function required for this entry)
 *      cFuncs == number of entries in all the above arrays
 *
 *  EXIT
 *      TRUE if successful, FALSE if not (eg, a required function is missing
 *      and no stub has been provided either).
 */

BOOL GetFSDProcArray(PFSD pFSD, PFNAPI *apfnFuncs, CONST PFNAPI *apfnStubs, CONST PCWSTR *apwsBaseFuncs, int cFuncs)
{
    int i;

    for (i=0; i<cFuncs; i++) {
        // If a function name has been supplied and no function address is known yet, look it up
        if (apwsBaseFuncs[i] != NULL && apfnFuncs[i] == NULL) {
            apfnFuncs[i] = GetFSDProcAddress(pFSD, apwsBaseFuncs[i]);
            // If the look-up failed, then if a stub is available, use that instead;  otherwise abort
            if (apfnFuncs[i] == NULL) {
                if (apfnStubs[i])
                    apfnFuncs[i] = apfnStubs[i];
                else
                    return FALSE;       // give up as soon as any required (ie, non-stubbed) function is missing
            }
        }
    }
    return TRUE;
}


/*  GetAFSName - Get the name currently associated with an AFS index
 *
 *  ENTRY
 *      iAFS == AFS index
 *      pwsAFS -> buffer, or NULL to query size of name
 *      cchMax == max chars allowed in buffer (including terminating NULL), ignored if pwsAFS is NULL
 *
 *  EXIT
 *      Length of AFS name in characters, NOT including terminating NULL, or 0 if error
 */

int GetAFSName(int iAFS, PWSTR pwsAFS, int cchMax)
{
    int cch;
    CEOIDINFO oi;

    if (!CeOidGetInfo(OIDFROMAFS(iAFS), &oi))
        return 0;
    cch = wcslen(oi.infDirectory.szDirName);
    if (pwsAFS) {
        if (cch >= cchMax)
            cch = cchMax-1;
        memcpy(pwsAFS, oi.infDirectory.szDirName, cch*sizeof(oi.infDirectory.szDirName[0]));
        pwsAFS[cch] = 0;
    }
    return cch;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费视频网站高清观看视频| 欧美午夜不卡视频| 91国产免费观看| 欧美成人r级一区二区三区| 亚洲免费看黄网站| 国产成人av在线影院| 欧美丝袜第三区| 国产精品电影院| 国产一区欧美一区| 日韩亚洲欧美成人一区| 一区二区视频在线| 成人精品电影在线观看| 日韩欧美第一区| 日韩av在线免费观看不卡| 一本大道av一区二区在线播放| 国产日产精品1区| 国产一区二区免费在线| 日韩精品一区在线| 美腿丝袜一区二区三区| 欧美偷拍一区二区| 亚洲一区成人在线| 日本福利一区二区| 一区二区三区中文在线| 99re这里都是精品| 国产精品成人免费在线| 国产91色综合久久免费分享| 久久综合九色综合97婷婷女人 | 亚洲一区二区综合| 97超碰欧美中文字幕| 亚洲欧洲一区二区在线播放| 国产精一品亚洲二区在线视频| 亚洲精品一区二区三区四区高清 | 亚洲综合在线免费观看| 91小宝寻花一区二区三区| 国产精品亲子乱子伦xxxx裸| 国产a久久麻豆| 亚洲天堂免费在线观看视频| 成人av在线影院| 中文字幕一区二区三区精华液| 北条麻妃国产九九精品视频| 亚洲欧美欧美一区二区三区| 91久久香蕉国产日韩欧美9色| 亚洲综合999| 欧美电影一区二区三区| 老司机精品视频导航| 精品国产第一区二区三区观看体验| 加勒比av一区二区| 亚洲国产激情av| 在线欧美一区二区| 免费人成黄页网站在线一区二区| 日韩欧美亚洲一区二区| 国产在线国偷精品免费看| 亚洲国产精品高清| 欧美私人免费视频| 日本一道高清亚洲日美韩| 久久综合色8888| 色综合久久久久综合| 日本午夜一区二区| 国产欧美一区二区精品忘忧草| 色综合天天性综合| 美女视频黄久久| 日韩理论片一区二区| 91精品国产手机| av综合在线播放| 裸体一区二区三区| 亚洲日本va午夜在线影院| 欧美一区二区三区播放老司机| 国产成人日日夜夜| 午夜久久久影院| 中文av字幕一区| 制服丝袜亚洲播放| 91在线视频免费91| 美女视频黄免费的久久| 亚洲日本va在线观看| 久久这里只有精品首页| 欧美性受xxxx黑人xyx| 国产成人高清在线| 蜜臀av性久久久久av蜜臀妖精| 国产精品国产精品国产专区不蜜| 欧美日韩在线精品一区二区三区激情| 国产成人精品亚洲777人妖| 亚洲地区一二三色| 亚洲天堂精品视频| 国产目拍亚洲精品99久久精品| 欧美亚洲另类激情小说| 高清不卡一区二区在线| 美女精品自拍一二三四| 一区二区三区在线视频播放| 久久久久国产精品麻豆| 日韩一区二区精品| 在线观看一区二区视频| 成人av午夜影院| 国产精品91xxx| 激情五月婷婷综合| 天天亚洲美女在线视频| 亚洲免费在线播放| 国产精品传媒入口麻豆| 国产欧美日韩视频在线观看| 制服丝袜亚洲网站| 91超碰这里只有精品国产| 日本久久一区二区三区| 波多野结衣欧美| a亚洲天堂av| av成人老司机| 99久久99久久久精品齐齐| 不卡的av电影| 成人动漫一区二区三区| av在线一区二区三区| 国产jizzjizz一区二区| 风间由美一区二区三区在线观看 | 风间由美一区二区av101| 国产一区亚洲一区| 国产一区二区三区观看| 久草在线在线精品观看| 久久99国产精品免费网站| 麻豆91免费看| 国产激情精品久久久第一区二区| 国产精品夜夜爽| 成人av网在线| 色诱视频网站一区| 欧美日韩你懂得| 日韩一级片在线播放| 91精品国产综合久久福利| 日韩一区二区在线观看| 日韩精品中文字幕一区| www一区二区| ...中文天堂在线一区| 一区二区三区不卡在线观看| 亚洲第一成人在线| 久久成人免费网站| 国产成人在线视频网址| www.久久久久久久久| 色狠狠色噜噜噜综合网| 7777精品伊人久久久大香线蕉| 欧美一区二区三区男人的天堂| 久久久噜噜噜久噜久久综合| 国产精品家庭影院| 亚洲bt欧美bt精品| 国产一区亚洲一区| 色中色一区二区| 欧美成人a视频| 综合久久国产九一剧情麻豆| 亚洲一区二区三区四区在线免费观看 | 成人精品视频一区二区三区| 91麻豆.com| 日韩久久久精品| 中文字幕一区二区三区av| 亚洲一区二区三区不卡国产欧美| 日韩精品成人一区二区三区| 国产一区二区伦理| 一本大道久久a久久精品综合| 在线成人免费观看| 国产午夜一区二区三区| 亚洲一卡二卡三卡四卡五卡| 国产精品乡下勾搭老头1| 在线观看91视频| 国产欧美精品一区| 日韩福利电影在线| 91在线免费视频观看| 欧美成人综合网站| 亚洲美女淫视频| 国产在线看一区| 欧美人与z0zoxxxx视频| 国产精品欧美经典| 精品在线一区二区| 欧美日韩电影在线播放| 国产精品毛片高清在线完整版| 人人超碰91尤物精品国产| 成人av免费在线播放| 精品国精品国产| 五月天亚洲婷婷| 色综合中文字幕| 国产精品久久网站| 国产精品一区二区在线播放| 欧美欧美欧美欧美| 一区二区三区精品在线观看| 国产精品资源站在线| 91精品婷婷国产综合久久性色| 中文字幕中文乱码欧美一区二区| 九一久久久久久| 欧美乱妇一区二区三区不卡视频| 1024成人网色www| 成人午夜视频在线| 久久久久久一二三区| 久久av老司机精品网站导航| 欧美巨大另类极品videosbest | 成人av动漫网站| 国产亚洲欧美中文| 国产真实乱子伦精品视频| 日韩欧美中文字幕制服| 五月激情综合网| 欧美日韩中字一区| 一区二区三区精品视频| 在线视频国内自拍亚洲视频| 亚洲视频你懂的| 91女神在线视频| 一区二区三区日韩精品视频| 99久久国产综合精品麻豆| 中文字幕一区在线| 日本韩国一区二区三区视频|