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

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

?? ntlib.c

?? 從內核直接獲取NT操作系統(tǒng)的信息。
?? C
?? 第 1 頁 / 共 3 頁
字號:

// __________________________________________________________
//
//                          ntlib.c
//              Windows NT Utility Library V1.00
//                11-15-1998 Sven B. Schreiber
//                       sbs@orgon.com
// __________________________________________________________

#define  _NTLIB_DLL_
#include "NtLib.h"

// =================================================================
// DISCLAIMER
// =================================================================

/*

This software is provided "as is" and any express or implied
warranties, including, but not limited to, the implied warranties of
merchantibility and fitness for a particular purpose are disclaimed.
In no event shall the author Sven B. Schreiber be liable for any
direct, indirect, incidental, special, exemplary, or consequential
damages (including, but not limited to, procurement of substitute
goods or services; loss of use, data, or profits; or business
interruption) however caused and on any theory of liability,
whether in contract, strict liability, or tort (including negligence
or otherwise) arising in any way out of the use of this software,
even if advised of the possibility of such damage.

*/

// =================================================================
// REVISION HISTORY
// =================================================================

/*

11-15-1998 V1.00 Original version (SBS).

*/

// =================================================================
// GLOBAL VARIABLES
// =================================================================

SYSTEM_BASIC_INFORMATION gsbi;

// =================================================================
// GLOBAL STRINGS
// =================================================================

TBYTE atNull [] = T("");

// =================================================================
// LOOKUP TABLES
// =================================================================

NTL_LOOKUP aObjectTypes [] =
  {
  OB_TYPE_TYPE,                  T("Type"),
  OB_TYPE_DIRECTORY,             T("Directory"),
  OB_TYPE_SYMBOLIC_LINK,         T("SymbolicLink"),
  OB_TYPE_TOKEN,                 T("Token"),
  OB_TYPE_PROCESS,               T("Process"),
  OB_TYPE_THREAD,                T("Thread"),
  OB_TYPE_EVENT,                 T("Event"),
  OB_TYPE_EVENT_PAIR,            T("EventPair"),
  OB_TYPE_MUTANT,                T("Mutant"),
  OB_TYPE_SEMAPHORE,             T("Semaphore"),
  OB_TYPE_TIMER,                 T("Timer"),
  OB_TYPE_PROFILE,               T("Profile"),
  OB_TYPE_WINDOW_STATION,        T("WindowStation"),
  OB_TYPE_DESKTOP,               T("Desktop"),
  OB_TYPE_SECTION,               T("Section"),
  OB_TYPE_KEY,                   T("Key"),
  OB_TYPE_PORT,                  T("Port"),
  OB_TYPE_ADAPTER,               T("Adapter"),
  OB_TYPE_CONTROLLER,            T("Controller"),
  OB_TYPE_DEVICE,                T("Device"),
  OB_TYPE_DRIVER,                T("Driver"),
  OB_TYPE_IO_COMPLETION,         T("IoCompletion"),
  OB_TYPE_FILE,                  T("File"),
  };

#define N_OBJECT_TYPES (sizeof (aObjectTypes) / NTL_LOOKUP_)

// -----------------------------------------------------------------

NTL_LOOKUP aPoolTypes [] =
  {
  NonPagedPool,                  T("NonPagedPool"),
  PagedPool,                     T("PagedPool"),
  NonPagedPoolMustSucceed,       T("NonPagedPoolMustSucceed"),
  DontUseThisType,               T("DontUseThisType"),
  NonPagedPoolCacheAligned,      T("NonPagedPoolCacheAligned"),
  PagedPoolCacheAligned,         T("PagedPoolCacheAligned"),
  NonPagedPoolCacheAlignedMustS, T("NonPagedPoolCacheAlignedMustS"),
  };

#define N_POOL_TYPES (sizeof (aPoolTypes) / NTL_LOOKUP_)

// =================================================================
// USER INTERFACE
// =================================================================

int WINAPI
NtlBox (HWND   hWnd,
        UINT   uType,
        PTBYTE ptCaption,
        PTBYTE ptFormat,
        ...)
    {
    TBYTE atBuffer [NTL_WVSPRINTF];
    PVOID pArgs = &ptFormat + 1;

    wvsprintf (atBuffer, ptFormat, pArgs);
    return MessageBox (hWnd, atBuffer, ptCaption, uType);
    }

// =================================================================
// POINTER RETRIEVAL
// =================================================================

PVOID WINAPI
NtlPointerFs (DWORD dOffset)
    {
    DWORD dBackup;
    PVOID pData = NULL;

    __try
        {
        __asm
            {
            mov     dBackup, eax
            mov     eax, dOffset
            and     eax, 0xfffffffc
            mov     eax, fs:[eax]
            mov     pData, eax
            mov     eax, dBackup
            }
        }
    __except (EXCEPTION_EXECUTE_HANDLER)
        {
        pData = NULL;
        }
    return pData;
    }

// -----------------------------------------------------------------

PTEB WINAPI
NtlPointerTeb (void)
    {
    return NtCurrentTeb ();
    }

// -----------------------------------------------------------------

PPEB WINAPI
NtlPointerPeb (void)
    {
    PTEB pTeb = NtlPointerTeb ();

    return (pTeb != NULL ? pTeb->pPeb : NULL);
    }

// =================================================================
// DEVICE MANAGEMENT
// =================================================================

BOOL WINAPI
NtlDeviceClose (PHANDLE phDevice)
    {
    BOOL fOk = FALSE;

    if (*phDevice != INVALID_HANDLE_VALUE)
        {
        CloseHandle (*phDevice);
        *phDevice = INVALID_HANDLE_VALUE;

        fOk = TRUE;
        }
    return fOk;
    }

// -----------------------------------------------------------------

BOOL WINAPI
NtlDeviceOpen (PHANDLE phDevice,
               PTBYTE  atPath)
    {
    *phDevice = CreateFile (atPath, GENERIC_READ,
                            FILE_SHARE_READ | FILE_SHARE_WRITE,
                            NULL, OPEN_EXISTING,
                            FILE_ATTRIBUTE_NORMAL, NULL);

    return (*phDevice != INVALID_HANDLE_VALUE);
    }

// -----------------------------------------------------------------

DWORD WINAPI
NtlDeviceStop (PTBYTE atName,
               DWORD  dStatus)
    {
    SC_HANDLE      hControl, hService;
    SERVICE_STATUS ss;

    if ((dStatus & (NTL_STATUS_CREATED | NTL_STATUS_STARTED)) &&
        ((hControl = OpenSCManager (NULL, NULL,
                                    SC_MANAGER_ALL_ACCESS))
         != NULL))
        {
        if ((hService = OpenService (hControl, atName,
                                     SERVICE_ALL_ACCESS))
            != NULL)
            {
            if (dStatus & NTL_STATUS_STARTED)
                {
                ControlService (hService, SERVICE_CONTROL_STOP,
                                &ss);
                }
            if (dStatus & NTL_STATUS_CREATED)
                {
                DeleteService (hService);
                }
            CloseServiceHandle (hService);
            }
        CloseServiceHandle (hControl);
        }
    return 0;
    }

// -----------------------------------------------------------------

DWORD WINAPI
NtlDeviceStart (PTBYTE atName,
                PTBYTE atDisplay,
                PTBYTE atFile)
    {
    SC_HANDLE hControl, hService;
    DWORD     dStatus = 0;

    if ((hControl = OpenSCManager (NULL, NULL,
                                   SC_MANAGER_ALL_ACCESS))
        != NULL)
        {
        if ((hService = OpenService (hControl,
                                     atName,
                                     SERVICE_ALL_ACCESS))
            == NULL)
            {
            if ((hService = CreateService (hControl,
                                           atName, atDisplay,
                                           SERVICE_ALL_ACCESS,
                                           SERVICE_KERNEL_DRIVER,
                                           SERVICE_DEMAND_START,
                                           SERVICE_ERROR_NORMAL,
                                           atFile, NULL, NULL, NULL,
                                           NULL, NULL))
                != NULL)
                {
                dStatus |= NTL_STATUS_CREATED;
                }
            }
        if (hService != NULL)
            {
            if (StartService (hService, 0, NULL))
                {
                dStatus |= (NTL_STATUS_STARTED |
                            NTL_STATUS_RUNNING);
                }
            else
                {
                if (GetLastError ()
                    == ERROR_SERVICE_ALREADY_RUNNING)
                    {
                    dStatus |= NTL_STATUS_RUNNING;
                    }
                }
            CloseServiceHandle (hService);
            }
        CloseServiceHandle (hControl);
        }
    return dStatus;
    }

// -----------------------------------------------------------------

DWORD WINAPI
NtlDeviceCloseEx (PHANDLE phDevice,
                  PTBYTE  atName,
                  DWORD   dStatus)
    {
    if (dStatus & NTL_STATUS_OPENED)
        {
        NtlDeviceClose (phDevice);
        }
    return NtlDeviceStop (atName, dStatus);
    }

// -----------------------------------------------------------------

DWORD WINAPI
NtlDeviceOpenEx (PHANDLE phDevice,
                 PTBYTE  atName,
                 PTBYTE  atDisplay,
                 PTBYTE  atFile,
                 PTBYTE  atPath)
    {
    DWORD dStatus = 0;

    if (NtlDeviceOpen (phDevice, atPath))
        {
        dStatus |= NTL_STATUS_OPENED;
        }
    else
        {
        dStatus |= NtlDeviceStart (atName, atDisplay, atFile);

        if ((dStatus & NTL_STATUS_RUNNING) &&
            NtlDeviceOpen (phDevice, atPath))
            {
            dStatus |= NTL_STATUS_OPENED;
            }
        else
            {
            dStatus = NtlDeviceCloseEx (phDevice, atName, dStatus);
            }
        }
    return dStatus;
    }

// =================================================================
// COMMAND LINE PARSER
// =================================================================

PNTL_CMD_OPTION WINAPI
NtlCommandEnumerate (PNTL_CMD_OPTION pncoTable,
                     PTBYTE          ptName,
                     PDWORD          pdIndex)
    {
    DWORD           i, n;
    int             iSize;
    PNTL_CMD_OPTION pnco = NULL;

    for (n = 0; pncoTable [n].ptName != NULL; n++);

    for (i = *pdIndex; i < n; i++)
        {
        iSize = lstrlen (ptName);

        if ((pncoTable [i].Handler != NULL)
            &&
            (iSize <= lstrlen (pncoTable [i].ptName))
            &&
            (CompareString (LOCALE_USER_DEFAULT, NORM_IGNORECASE,
                            ptName, iSize,
                            pncoTable [i].ptName, iSize)
             == CSTR_EQUAL))
            {
            pnco = pncoTable + i;
            break;
            }
        }
    *pdIndex = (pnco != NULL ? ++i : 0);
    return pnco;
    }

// -----------------------------------------------------------------

PNTL_CMD_OPTION WINAPI
NtlCommandOption (PNTL_CMD_OPTION pncoTable,
                  PTBYTE          ptName,
                  PBOOL           pfAmbiguous)
    {
    int             iSize;
    PNTL_CMD_OPTION pnco, pncoNext;

    *pfAmbiguous = FALSE;
    pnco         = NULL;

    for (pncoNext = pncoTable; pncoNext->ptName != NULL; pncoNext++)
        {
        iSize = lstrlen (ptName);

        if ((pncoNext->Handler != NULL)
            &&
            (iSize <= lstrlen (pncoNext->ptName))
            &&
            (CompareString (LOCALE_USER_DEFAULT, NORM_IGNORECASE,
                            ptName, iSize,
                            pncoNext->ptName, iSize)
             == CSTR_EQUAL))
            {
            if (pnco == NULL)
                {
                pnco = pncoNext;
                }
            else
                {
                *pfAmbiguous = TRUE;
                pnco         = NULL;
                break;
                }
            }
        }
    return ((pnco != NULL) && (pnco->Handler != NULL) ? pnco
                                                      : NULL);
    }

// -----------------------------------------------------------------

void WINAPI
NtlCommandFlag (PNTL_CMD_FLAG pncfTable,
                PTBYTE        ptName,
                PDWORD        pdFlags)
    {
    DWORD i;

    for (i = 0; pncfTable [i].ptName != NULL; i++)
        {
        if (!lstrcmpi (ptName, pncfTable [i].ptName))
            {
            *pdFlags |= pncfTable [i].dMask;
            break;
            }
        }
    return;
    }

// -----------------------------------------------------------------

void WINAPI
NtlCommandParameter (PTBYTE             ptValue,
                     PNTL_CMD_PARAMETER pncp)
    {
    DWORD i, n;

    for (n = i = 0; ptValue [i]; i++)
        {
        if ((ptValue [i] < '0') || (ptValue [i] > '9')) break;

        n *= 10;
        n += (ptValue [i] - '0');
        }
    pncp->ptValue  = ptValue;
    pncp->dValue   = n;
    pncp->fNumeric = !ptValue [i];
    return;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色妞www精品视频| 成人h动漫精品| 日本丶国产丶欧美色综合| 精品国产免费人成在线观看| 亚洲综合图片区| 波多野结衣亚洲一区| 久久婷婷国产综合国色天香 | 日本高清不卡aⅴ免费网站| 精品久久久久av影院| 日韩精品高清不卡| 色婷婷av久久久久久久| 欧美极品xxx| 韩日精品视频一区| 欧美一区二区三区小说| 一区二区三区在线看| 成人在线视频一区二区| 久久综合丝袜日本网| 免播放器亚洲一区| 欧美日韩性生活| 亚洲一区二区高清| 91国产成人在线| 亚洲美女淫视频| 不卡在线观看av| 国产精品视频第一区| 国产不卡在线播放| 久久欧美一区二区| 国产乱子伦一区二区三区国色天香| 91精品在线麻豆| 婷婷综合另类小说色区| 精品视频1区2区3区| 亚洲一区二区视频在线观看| 日本精品一级二级| 亚洲精品va在线观看| 成人h版在线观看| 中文字幕制服丝袜一区二区三区 | 一区二区三区国产精品| 成人激情午夜影院| 国产精品国产三级国产aⅴ无密码| 国产精品12区| 国产精品毛片a∨一区二区三区| 国产成人精品亚洲午夜麻豆| 国产欧美综合在线| 成人精品国产福利| 亚洲免费在线视频一区 二区| 91网上在线视频| 亚洲一区日韩精品中文字幕| 欧美偷拍一区二区| 亚洲成av人片在www色猫咪| 欧美高清www午色夜在线视频| 日本va欧美va瓶| 日韩精品一区二区三区四区视频| 久久成人精品无人区| 国产亚洲综合性久久久影院| 国产精品996| 中文字幕一区二区三区色视频| www.66久久| 亚洲一二三专区| 91精品国产欧美一区二区成人| 美腿丝袜亚洲三区| 精品国产一区二区三区久久影院 | 久久精品久久99精品久久| 欧美大度的电影原声| 国产精品一区二区x88av| 国产日韩欧美精品综合| 91麻豆精品秘密| 亚洲va欧美va人人爽| 日韩一区二区在线观看视频播放| 狠狠色综合日日| 最新国产成人在线观看| 欧美在线观看一二区| 奇米888四色在线精品| 久久久久99精品一区| 91视频精品在这里| 五月综合激情网| 久久久夜色精品亚洲| 91在线一区二区三区| 日韩制服丝袜先锋影音| 久久奇米777| 日本丶国产丶欧美色综合| 欧美a级一区二区| 国产精品久久久久影院| 欧美午夜一区二区三区免费大片| 久久国产精品免费| 亚洲欧洲精品一区二区精品久久久 | 亚洲精品第一国产综合野| 3751色影院一区二区三区| 国产精品一区二区黑丝| 亚洲小说春色综合另类电影| 日韩丝袜美女视频| 97se亚洲国产综合自在线| 婷婷久久综合九色国产成人| 久久亚洲免费视频| 欧美亚洲一区三区| 国产高清不卡一区二区| 亚洲h动漫在线| 亚洲国产精品黑人久久久| 欧美人体做爰大胆视频| 国产91精品精华液一区二区三区| 五月综合激情日本mⅴ| 中文字幕欧美三区| 91精品国产综合久久久久久久久久| 国产精品18久久久久久久久 | 麻豆一区二区三| 中文字幕一区二区三区蜜月| 日韩午夜在线影院| 色综合久久九月婷婷色综合| 麻豆国产91在线播放| 亚洲精品欧美在线| 国产欧美精品一区| 欧美一级在线免费| 91极品美女在线| 国产精品一二三区| 日韩电影在线一区二区三区| 亚洲人成电影网站色mp4| 久久久99久久| 欧美一区二区三区免费在线看| 91丨porny丨国产入口| 国产伦精品一区二区三区免费| 五月开心婷婷久久| 一区二区三区色| 中国色在线观看另类| 精品日韩欧美在线| 欧美日韩激情一区| 91美女在线视频| 丁香桃色午夜亚洲一区二区三区 | 国产精品三级av在线播放| 欧美一区二区免费| 欧美视频完全免费看| 92精品国产成人观看免费| 国产91色综合久久免费分享| 蜜桃av噜噜一区二区三区小说| 婷婷综合另类小说色区| 亚洲午夜电影在线观看| 中文字幕佐山爱一区二区免费| 中文字幕第一区| 久久免费偷拍视频| 精品成人免费观看| 日韩片之四级片| 91精品国产丝袜白色高跟鞋| 欧美日韩国产一区| 欧美午夜视频网站| 欧美三级电影精品| 欧美影院一区二区三区| 色美美综合视频| 在线国产电影不卡| 欧美亚洲国产一区二区三区va| 色狠狠综合天天综合综合| 99热国产精品| 91小视频在线观看| 色噜噜狠狠色综合中国| 91亚洲精华国产精华精华液| 91麻豆精品视频| 91久久精品一区二区二区| 91免费观看在线| 在线观看视频一区二区欧美日韩| 一本一本大道香蕉久在线精品 | 欧美人牲a欧美精品| 欧美性做爰猛烈叫床潮| 欧美在线观看视频在线| 欧美手机在线视频| 4438x成人网最大色成网站| 欧美日韩国产高清一区二区三区 | 亚洲一区在线视频| 午夜精品一区二区三区电影天堂 | 亚洲丶国产丶欧美一区二区三区| 夜夜嗨av一区二区三区 | 国产日韩欧美不卡在线| 国产精品美女久久久久久久久 | 久久一二三国产| 久久久亚洲精品石原莉奈| 国产日韩精品一区二区浪潮av| 国产精品婷婷午夜在线观看| 中文字幕一区二区视频| 亚洲精品福利视频网站| 亚洲二区在线观看| 七七婷婷婷婷精品国产| 国产精品一区二区三区四区| 粉嫩av一区二区三区在线播放| 成人激情视频网站| 欧美午夜一区二区| 日韩欧美在线1卡| 国产偷国产偷亚洲高清人白洁| 国产精品福利一区| 亚洲一区二区三区四区在线免费观看 | 精品88久久久久88久久久| 中文字幕av一区二区三区高| 亚洲三级免费电影| 午夜精品影院在线观看| 国产一区二区三区香蕉| 94-欧美-setu| 欧美一区三区四区| 国产欧美一二三区| 亚洲一区在线观看免费观看电影高清| 日本三级韩国三级欧美三级| 国产精选一区二区三区| 欧洲色大大久久| 欧美成人精精品一区二区频| 国产精品久久久久久久久果冻传媒| 一区二区三区四区在线播放| 麻豆视频一区二区|