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

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

?? packet32.c

?? vc++網絡程序設計實例詳解 人民郵電出版社3-4章源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
        AdapterObject->hFile,
        (DWORD)IOCTL_PROTOCOL_RESET,
        NULL,
        0,
        NULL,
        0,
        &BytesReturned,
        NULL
        );

}


BOOL
PacketRequest(
    LPADAPTER  AdapterObject,
    BOOLEAN    Set,
    PPACKET_OID_DATA  OidData
    )
/*++

Routine Description:

    This routine sends issues a request to and adapter

Arguments:

    AdapterObject  - AdapterObject return by PacketOpenAdapter

    Set            - True means that the request is SET otherwise it is a query

    OidData        - Structure containing the details of the OID

Return Value:

    SUCCESS -
    FAILURE -

--*/

{
    UINT       BytesReturned;
    BOOL    Result;

    Result=DeviceIoControl(
        AdapterObject->hFile,
        (DWORD) Set ? IOCTL_PROTOCOL_SET_OID : IOCTL_PROTOCOL_QUERY_OID,
        OidData,
        sizeof(PACKET_OID_DATA)-1+OidData->Length,
        OidData,
        sizeof(PACKET_OID_DATA)-1+OidData->Length,
        &BytesReturned,
        NULL
        );

    return Result;
}



BOOL
PacketSetFilter(
    LPADAPTER  AdapterObject,
    ULONG      Filter
    )
/*++

Routine Description:

    This rotine sets the adapters packet filter

Arguments:

    AdapterObject  - AdapterObject return by PacketOpenAdapter

    Filter         - filter to be set

Return Value:

    SUCCESS -
    FAILURE -

--*/

{

    BOOL    Status;


    ULONG      IoCtlBufferLength=(sizeof(PACKET_OID_DATA)+sizeof(ULONG)-1);

    PPACKET_OID_DATA  OidData;

    OidData=GlobalAllocPtr(
        GMEM_MOVEABLE | GMEM_ZEROINIT,
        IoCtlBufferLength
        );


    if (OidData == NULL) {

        return FALSE;

    }

    OidData->Oid=OID_GEN_CURRENT_PACKET_FILTER;
    OidData->Length=sizeof(ULONG);
    *((PULONG)OidData->Data)=Filter;

    Status=PacketRequest(
        AdapterObject,
        TRUE,
        OidData
        );

    GlobalFreePtr(OidData);



    return Status;

}

BOOL
PacketStartDriver(
    LPTSTR     ServiceName
    )
/*++

Routine Description:

    This routine Atempts to start the kernel mode packet driver

Arguments:

    ServiceName  - Name of service to try to start

Return Value:

    SUCCESS -
    FAILURE -

--*/

{

    BOOL  Status = FALSE;
    SERVICE_STATUS      ServiceStatus;
    SC_HANDLE  SCManagerHandle = NULL;
    SC_HANDLE  SCServiceHandle = NULL;

    /* Open a handle to the SC Manager database. */

    SCManagerHandle = OpenSCManager(
                      NULL,                   /* local machine           */
                      NULL,                   /* ServicesActive database */
                      SC_MANAGER_ALL_ACCESS); /* full access rights      */

    if (SCManagerHandle==NULL) {

        MessageBox(NULL,TEXT("Could not open SC"),szWindowTitle,MB_OK);

        goto CleanExit;
        
    } else {

        SCServiceHandle=OpenService(SCManagerHandle,
                            ServiceName,
                            SERVICE_START
                            );

        if (SCServiceHandle == NULL) {

            MessageBox(NULL,TEXT("Could not open service"),szWindowTitle,MB_OK);
            goto CleanExit;

        }

        Status=StartService(
                   SCServiceHandle,
                   0,
                   NULL
                   );

        if (!Status) {

            if (GetLastError()==ERROR_SERVICE_ALREADY_RUNNING) {

                ODS("Packet32: Packet service already started\n");
                Status = TRUE;
                goto CleanExit;

            } else {

                MessageBox(NULL,TEXT("Could not start service"),szWindowTitle,MB_OK);
                goto CleanExit;
            }
        }

        do { // loop until the service is fully started.
        
            if (!QueryServiceStatus(SCServiceHandle, &ServiceStatus))
            {
                goto CleanExit;
            }

            switch(ServiceStatus.dwCurrentState)
            {

              case  SERVICE_RUNNING:
                    Status = TRUE;
                    goto CleanExit;
                    break;

              case SERVICE_START_PENDING:
                    Sleep(2000);
                    break;
              default:
                     goto CleanExit;
                     break;
            }
        }while (TRUE);
    }

CleanExit:

    if(SCManagerHandle != NULL) {
        (VOID) CloseServiceHandle(SCManagerHandle);
    }
    if(SCServiceHandle != NULL) {
        (VOID) CloseServiceHandle(SCServiceHandle);
    }
    return(Status);

}


BOOL
PacketStopDriver(
    IN LPCTSTR      ServiceName
    )
{
    BOOL  Status = FALSE;
    SERVICE_STATUS      ServiceStatus;
    SC_HANDLE  SCManagerHandle = NULL;
    SC_HANDLE  SCServiceHandle = NULL;

    /* Open a handle to the SC Manager database. */

    SCManagerHandle = OpenSCManager(
                      NULL,                   /* local machine           */
                      NULL,                   /* ServicesActive database */
                      SC_MANAGER_ALL_ACCESS); /* full access rights      */

    if (SCManagerHandle==NULL) {

        MessageBox(NULL,TEXT("Could not open SC"),szWindowTitle,MB_OK);

        goto CleanExit;
        
    } else {

        SCServiceHandle=OpenService(SCManagerHandle,
                            ServiceName,
                            SERVICE_STOP
                            );

        if (SCServiceHandle == NULL) {

            MessageBox(NULL,TEXT("Could not open service"),szWindowTitle,MB_OK);
            goto CleanExit;

        }

        //
        // Request that the service stop.
        //

        if (ControlService(SCServiceHandle,
                           SERVICE_CONTROL_STOP,
                           &ServiceStatus
                           )) {

            //
            // Indicate success.
            //

            Status = TRUE;

        } else {

            //MessageBox(NULL,TEXT("Could not stop service"),szWindowTitle,MB_OK);
        }
    }
CleanExit:

    if(SCManagerHandle != NULL) {
        (VOID) CloseServiceHandle(SCManagerHandle);
    }
    if(SCServiceHandle != NULL) {
        (VOID) CloseServiceHandle(SCServiceHandle);
    }
    return Status;

}   //  PacketStopDriver





#if 0 // Not used on Win2K


BOOL
PacketInit(
    IN PVOID DllHandle,
    IN ULONG Reason,
    IN PCONTEXT Context OPTIONAL
    )

/*++

Routine Description:


Arguments:

    DllHandle - Not Used

    Reason - Attach or Detach

    Context - Not Used

Return Value:

    SUCCESS - TRUE
    FAILURE - FALSE

--*/

{
    BOOLEAN     Status=TRUE;

    ODS("Packet32: DllEntry\n");


    switch ( Reason ) {

        case DLL_PROCESS_ATTACH:

            break;

        case DLL_PROCESS_DETACH:

            break;

        default:

            break;

    }

    return Status;
}






ULONG
PacketGetAdapterNames(
    PTSTR   pStr,
    PULONG  BufferSize
    )
/*++

Routine Description:

    This routine returns the names all adapters availible

Arguments:

    Pstr       -  Pointer to a buffer which recieves the UNICODE names
                  Each name is NULL terminated with a second NULL at the end
                  of the list.

    BufferSize -  Size of the buffer passed in


Return Value:


    SUCCESS -
    FAILURE -

--*/

{

    HKEY       SystemKey;
    HKEY       ControlSetKey;
    HKEY       ServicesKey;
    HKEY       NdisPerfKey;
    HKEY       LinkageKey;
    LONG       Status;

    DWORD      RegType;

    Status=RegOpenKeyEx(
               HKEY_LOCAL_MACHINE,
               TEXT("SYSTEM"),
               0,
               KEY_READ,
               &SystemKey
               );

    if (Status == ERROR_SUCCESS) {

        Status=RegOpenKeyEx(
                   SystemKey,
                   TEXT("CurrentControlSet"),
                   0,
                   KEY_READ,
                   &ControlSetKey
                   );

        if (Status == ERROR_SUCCESS) {

            Status=RegOpenKeyEx(
                       ControlSetKey,
                       TEXT("Services"),
                       0,
                       KEY_READ,
                       &ServicesKey
                       );

            if (Status == ERROR_SUCCESS) {

                Status=RegOpenKeyEx(
                           ServicesKey,
                           TEXT("Packet"),
                           0,
                           KEY_READ,
                           &NdisPerfKey
                           );

                if (Status == ERROR_SUCCESS) {

                    Status=RegOpenKeyEx(
                               NdisPerfKey,
                               TEXT("Linkage"),
                               0,
                               KEY_READ,
                               &LinkageKey
                               );


                    if (Status == ERROR_SUCCESS) {

                        Status=RegQueryValueEx(
                                   LinkageKey,
                                   TEXT("Export"),
                                   NULL,
                                   &RegType,
                                   (LPBYTE)pStr,
                                   BufferSize
                                   );


                        RegCloseKey(LinkageKey);
                    }

                    RegCloseKey(NdisPerfKey);
                }

                RegCloseKey(ServicesKey);
            }

            RegCloseKey(ControlSetKey);
        }

        RegCloseKey(SystemKey);
    }


    return Status;

}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲专一区二区三区 | 久久精品国产网站| 亚洲女人****多毛耸耸8| 中文字幕一区二区三区在线播放 | 天天色天天爱天天射综合| 伊人一区二区三区| 午夜私人影院久久久久| 亚洲aⅴ怡春院| 日韩高清不卡一区二区三区| 青青草国产精品亚洲专区无| 精品一区二区三区免费毛片爱| 久久精品99国产精品| 国产成人综合在线| www.亚洲激情.com| 欧美精品黑人性xxxx| 日韩精品一区在线观看| 国产欧美精品区一区二区三区 | 国产精品美女一区二区在线观看| 亚洲国产成人私人影院tom| 亚洲欧美综合网| 亚洲一二三四区| 麻豆一区二区三区| 国产91富婆露脸刺激对白| 色欲综合视频天天天| 欧美日韩一卡二卡三卡| 久久女同精品一区二区| 综合av第一页| 久久精品国产亚洲一区二区三区| 国产99久久久国产精品潘金| 一本一道久久a久久精品| 欧美一区二区三区视频免费播放| 久久久久久亚洲综合| 一区二区三区毛片| 国产剧情一区二区| 欧美三区在线观看| 国产日韩欧美亚洲| 亚洲一区二区三区四区在线观看 | www日韩大片| 亚洲人一二三区| 九色|91porny| 欧美三级午夜理伦三级中视频| 精品日韩成人av| 亚洲激情中文1区| 福利视频网站一区二区三区| 欧美日本免费一区二区三区| 国产精品乱码人人做人人爱| 美日韩一区二区| 欧美伊人久久久久久久久影院| 久久久亚洲午夜电影| 日韩精品电影在线观看| 一本一本大道香蕉久在线精品| 精品国产人成亚洲区| 亚洲国产欧美在线人成| 成人v精品蜜桃久久一区| 欧美第一区第二区| 婷婷国产在线综合| 色狠狠一区二区三区香蕉| 欧美精彩视频一区二区三区| 美国毛片一区二区三区| 欧美高清性hdvideosex| 一区二区三区久久久| 94色蜜桃网一区二区三区| 国产欧美一二三区| 国产精品一区免费在线观看| 日韩写真欧美这视频| 日本欧美一区二区三区乱码| 欧美日韩精品一区视频| 亚洲黄色录像片| 日本高清免费不卡视频| 亚洲精品高清在线| 在线亚洲人成电影网站色www| 国产精品五月天| 波多野结衣中文一区| 国产精品久久久久久福利一牛影视| 国产一区二区三区久久久| 2024国产精品| 国产黄色91视频| 国产日韩三级在线| 成av人片一区二区| 亚洲欧美一区二区久久| 欧美亚洲综合色| 婷婷国产在线综合| 精品国产乱码久久久久久夜甘婷婷 | 91精品中文字幕一区二区三区| 午夜精品一区二区三区电影天堂| 欧美日韩一区在线| 日本不卡在线视频| 国产丝袜美腿一区二区三区| 成人高清视频在线观看| 夜夜嗨av一区二区三区四季av| 欧美网站一区二区| 精品一区二区免费| 亚洲日韩欧美一区二区在线| 欧美亚一区二区| 蜜桃免费网站一区二区三区| 久久久99精品免费观看不卡| 成人免费高清视频在线观看| 一区二区理论电影在线观看| 欧美一区日韩一区| 成人高清视频免费观看| 日韩中文字幕一区二区三区| 精品国产欧美一区二区| 色综合色综合色综合色综合色综合| 亚洲成人在线免费| 久久久久久久综合狠狠综合| 色欧美片视频在线观看| 狠狠色丁香久久婷婷综| 亚洲欧美日韩电影| 精品久久久久久久久久久久久久久 | 免费高清在线一区| 中文字幕在线一区| 欧美一卡二卡在线观看| 成a人片国产精品| 调教+趴+乳夹+国产+精品| 中文字幕欧美日本乱码一线二线| 91福利国产精品| 国产激情一区二区三区四区| 水野朝阳av一区二区三区| 欧美激情艳妇裸体舞| 91精品国产一区二区| 91色porny| 风流少妇一区二区| 蜜臀av性久久久久蜜臀av麻豆 | 日韩综合小视频| 亚洲啪啪综合av一区二区三区| 欧美电视剧在线观看完整版| 欧美调教femdomvk| 91蝌蚪porny九色| 大桥未久av一区二区三区中文| 裸体一区二区三区| 午夜私人影院久久久久| 亚洲精品国产成人久久av盗摄| 久久久精品免费免费| 日韩午夜电影在线观看| 91福利视频在线| 91免费视频网| caoporn国产一区二区| 国产一区二区三区最好精华液| 日韩不卡手机在线v区| 亚洲一区二区不卡免费| 一区二区三区四区在线| 亚洲欧美区自拍先锋| 国产精品视频你懂的| 亚洲国产精品ⅴa在线观看| 久久精品免视看| 精品国产一区二区三区忘忧草| 欧美一级片在线看| 欧美一级片在线观看| 欧美一级片在线| 欧美tickle裸体挠脚心vk| 精品久久久久香蕉网| 久久先锋影音av鲁色资源网| 欧美va亚洲va| 国产日韩成人精品| 国产精品短视频| 亚洲午夜一区二区三区| 五月天中文字幕一区二区| 日本三级亚洲精品| 国产一区二区三区四区五区入口 | 99视频国产精品| 99精品久久99久久久久| 一本到不卡精品视频在线观看| 色8久久精品久久久久久蜜| 色哟哟日韩精品| 91精品欧美综合在线观看最新| 欧美一区三区四区| 国产亚洲自拍一区| 亚洲女同一区二区| 午夜精品久久久| 国产一区二区在线观看免费| 国产盗摄精品一区二区三区在线| 成人性生交大片免费看在线播放| 91免费在线视频观看| 欧美日韩午夜影院| 久久欧美一区二区| 亚洲男同性恋视频| 日韩av电影免费观看高清完整版| 黄页网站大全一区二区| 99re成人在线| 91麻豆精品91久久久久久清纯| 久久久久一区二区三区四区| 一区二区三区高清不卡| 蜜臀av性久久久久蜜臀av麻豆| 国产成人在线电影| 欧美日韩亚洲综合一区二区三区| 26uuu亚洲综合色| 一区二区三区在线观看欧美| 美女高潮久久久| 色吊一区二区三区| 精品国产91九色蝌蚪| 一区二区三区日韩精品| 国产精品一级片| 欧美日韩三级视频| 国产精品丝袜91| 老司机免费视频一区二区| 色哟哟欧美精品| 国产色一区二区| 久久综合综合久久综合| 色综合久久久久综合| 久久久久综合网|