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

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

?? u3util.c

?? wireshark 0.99.7 最新源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* u3util.c * Utility routines for U3 device support * * $Id: u3util.c 23433 2007-11-12 07:34:32Z ulfl $ * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> * Copyright 1998 Gerald Combs * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. *//* Adapted from Microsoft Knowledge Base Article 178893 * * http://support.microsoft.com/?kbid=178893 * * and the U3 Answer 106 * * https://u3.custhelp.com/cgi-bin/u3/php/enduser/std_adp.php?p_faqid=106 * * Indentation logic: 2-space */#include <windows.h>#include <winreg.h>#include <shlobj.h>#define WIRESHARK_ASSOC "u3-wireshark-file"#define WIRESHARK_DESC  "U3 Wireshark File"#define SHELL                "\\Shell"#define SHELL_OPEN           "\\Shell\\open"#define SHELL_OPEN_COMMAND   "\\Shell\\open\\command"#define DEFAULT_ICON         "\\DefaultIcon"#define WINPCAP_PACKAGE      "\\WinPcap_4_0_2.exe"#define WINPCAP_KEY          "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\WinPcapInst"#define WINPCAP_UNINSTALL    "UninstallString"#define WINPCAP_U3INSTALLED  "U3Installed"  /* indicate the U3 device that installed WinPcap */#define MY_CAPTURES          "\\My Captures"#define BUFSIZ              256#define FILEBUFSIZ          4096#define ENV_FILENAME        "\\u3_environment.txt"#define U3UTIL_APPSTART     "\\u3util.exe appStart %1"#define WIRESHARK_EXE       "\\wireshark.exe"static char *extensions[] = {  ".5vw",  ".acp",  ".apc",  ".atc",  ".bfr",  ".cap",  ".enc",  ".erf",  ".fdc",  ".pcap",  ".pkt",  ".tpc",  ".tr1",  ".trace",  ".trc",  ".wpc",  ".wpz",  /* and BER encoded files */  ".cer",  ".crt",  ".crl",  ".p12",  ".pfx",  ".asn",  ".spf",  ".p7c",  ".p7s",  ".p7m",  NULL};static char *environmentvars[] = {  "U3_DEVICE_SERIAL",  "U3_DEVICE_PATH",  "U3_DEVICE_DOCUMENT_PATH",  "U3_DEVICE_VENDOR",  "U3_DEVICE_PRODUCT",  "U3_DEVICE_VENDOR_ID",  "U3_APP_DATA_PATH",  "U3_HOST_EXEC_PATH",  "U3_DEVICE_EXEC_PATH",  "U3_ENV_VERSION",  "U3_ENV_LANGUAGE",  NULL,};#define TA_FAILED 0#define TA_SUCCESS_CLEAN 1#define TA_SUCCESS_KILL 2#define TA_SUCCESS_16 3DWORD TerminateApp( DWORD dwPID, DWORD dwTimeout ) ;DWORD Terminate16App( DWORD dwPID, DWORD dwThread, WORD w16Task, DWORD dwTimeout );#include <vdmdbg.h>typedef struct{  DWORD   dwID ;  DWORD   dwThread ;} TERMINFO ;/* Declare Callback Enum Functions. */BOOL CALLBACK TerminateAppEnum( HWND hwnd, LPARAM lParam ) ;BOOL CALLBACK Terminate16AppEnum( HWND hwnd, LPARAM lParam ) ;/*----------------------------------------------------------------  DWORD TerminateApp( DWORD dwPID, DWORD dwTimeout )  Purpose:      Shut down a 32-Bit Process (or 16-bit process under Windows 95)  Parameters:      dwPID         Process ID of the process to shut down.      dwTimeout         Wait time in milliseconds before shutting down the process.   Return Value:      TA_FAILED - If the shutdown failed.      TA_SUCCESS_CLEAN - If the process was shutdown using WM_CLOSE.      TA_SUCCESS_KILL - if the process was shut down with         TerminateProcess().      NOTE:  See header for these defines.   ----------------------------------------------------------------*/DWORD TerminateApp( DWORD dwPID, DWORD dwTimeout ){  HANDLE   hProc ;  DWORD   dwRet ;  // If we can't open the process with PROCESS_TERMINATE rights,  // then we give up immediately.  hProc = OpenProcess(SYNCHRONIZE|PROCESS_TERMINATE, FALSE, dwPID);  if(hProc == NULL){    return TA_FAILED;  }  if(dwTimeout) {    /* we are prepared to wait */    /* TerminateAppEnum() posts WM_CLOSE to all windows whose PID */    /* matches your process's. */    EnumWindows((WNDENUMPROC)TerminateAppEnum, (LPARAM) dwPID) ;    /* Wait on the handle. If it signals, great. If it times out, */    /* then you kill it. */    if(WaitForSingleObject(hProc, dwTimeout)!=WAIT_OBJECT_0)      dwRet=(TerminateProcess(hProc,0)?TA_SUCCESS_KILL:TA_FAILED);    else      dwRet = TA_SUCCESS_CLEAN ;  } else {    /* we immediately kill the proces */    dwRet=(TerminateProcess(hProc,0)?TA_SUCCESS_KILL:TA_FAILED);  }  CloseHandle(hProc) ;  return dwRet ;}/*----------------------------------------------------------------  DWORD Terminate16App( DWORD dwPID, DWORD dwThread,                        WORD w16Task, DWORD dwTimeout )   Purpose:      Shut down a Win16 APP.   Parameters:      dwPID         Process ID of the NTVDM in which the 16-bit application is         running.      dwThread         Thread ID of the thread of execution for the 16-bit         application.      w16Task         16-bit task handle for the application.      dwTimeout         Wait time in milliseconds before shutting down the task.   Return Value:      If successful, returns TA_SUCCESS_16      If unsuccessful, returns TA_FAILED.      NOTE:  These values are defined in the header for this      function.   NOTE:      You can get the Win16 task and thread ID through the      VDMEnumTaskWOW() or the VDMEnumTaskWOWEx() functions.   ----------------------------------------------------------------*/DWORD Terminate16App( DWORD dwPID, DWORD dwThread, WORD w16Task, DWORD dwTimeout ){  HINSTANCE      hInstLib ;  TERMINFO      info ;  /* You will be calling the functions through explicit linking */  /* so that this code will be binary compatible across */  /* Win32 platforms. */  BOOL (WINAPI *lpfVDMTerminateTaskWOW)(DWORD dwProcessId, WORD htask) ;  hInstLib = LoadLibraryA( "VDMDBG.DLL" ) ;  if( hInstLib == NULL )    return TA_FAILED ;  // Get procedure addresses.  lpfVDMTerminateTaskWOW = (BOOL (WINAPI *)(DWORD, WORD ))    GetProcAddress( hInstLib, "VDMTerminateTaskWOW" ) ;  if( lpfVDMTerminateTaskWOW == NULL )    {      FreeLibrary( hInstLib ) ;      return TA_FAILED ;    }  /* Post a WM_CLOSE to all windows that match the ID and the */  /* thread. */  info.dwID = dwPID ;  info.dwThread = dwThread ;  EnumWindows((WNDENUMPROC)Terminate16AppEnum, (LPARAM) &info) ;  /* Wait. */  Sleep( dwTimeout ) ;  /* Then terminate. */  lpfVDMTerminateTaskWOW(dwPID, w16Task) ;  FreeLibrary( hInstLib ) ;  return TA_SUCCESS_16 ;}BOOL CALLBACK TerminateAppEnum( HWND hwnd, LPARAM lParam ){  DWORD dwID ;  GetWindowThreadProcessId(hwnd, &dwID) ;  if(dwID == (DWORD)lParam)    {      PostMessage(hwnd, WM_CLOSE, 0, 0) ;    }  return TRUE ;}BOOL CALLBACK Terminate16AppEnum( HWND hwnd, LPARAM lParam ){  DWORD      dwID ;  DWORD      dwThread ;  TERMINFO   *termInfo ;  termInfo = (TERMINFO *)lParam ;  dwThread = GetWindowThreadProcessId(hwnd, &dwID) ;  if(dwID == termInfo->dwID && termInfo->dwThread == dwThread )    {      PostMessage(hwnd, WM_CLOSE, 0, 0) ;    }  return TRUE ;}void ExecuteAndWait(char *buffer){  STARTUPINFO         si;  PROCESS_INFORMATION pi;  ZeroMemory(&si, sizeof(si));  si.cb = sizeof(si);  ZeroMemory(&pi, sizeof(pi));  if(CreateProcess(NULL, buffer, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {    /* wait for the uninstall to finish */    (void) WaitForSingleObject(pi.hProcess, INFINITE);    (void)CloseHandle(pi.hProcess);    (void)CloseHandle(pi.hThread);  }}void app_start(int argc, char *argv[]){  char *u3hostexecpath;  char *envvar;  char *end;  char buffer[BUFSIZ+1];  char inBuffer[FILEBUFSIZ+1];  HANDLE *file;  DWORD numRead = 0;  int i;  /* read any environment variables that may be set as we are probably running this from a file association */  buffer[0] = '\0';  strncat(buffer, argv[0], strlen(argv[0]) + 1);  /* truncate at last \\ */  if(end = strrchr(buffer, '\\'))    *end = '\0';  strncat(buffer, ENV_FILENAME, strlen(ENV_FILENAME) + 1);  /* open the file */  if((file = CreateFile(buffer, FILE_READ_DATA, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)) != INVALID_HANDLE_VALUE) {    /* read the whole file in in one go */    if(ReadFile(file, &inBuffer, FILEBUFSIZ, &numRead, NULL) != 0) {      /* we were successful - parse the lines */      inBuffer[numRead] = '\0'; /* null terminate the data */      envvar = inBuffer;      while(end = strchr(envvar, '\n')) {	/* we have a line */	*end++ = '\0';	_putenv(envvar);	/* point the next envar to the end */	envvar = end;      }    }    /* close the file */    CloseHandle(file);  }  /* exec wireshark */  if((u3hostexecpath = getenv("U3_HOST_EXEC_PATH")) != NULL) {    buffer[0] = '\0';    strncat(buffer, u3hostexecpath, strlen(u3hostexecpath) + 1);    strncat(buffer, WIRESHARK_EXE, strlen(WIRESHARK_EXE) + 1);    /* copy the remaining arguments across */    for(i = 2; i < argc; i++) {      strncat(buffer, " ", 2);      strncat(buffer, argv[i], strlen(argv[i]) + 1);    }    ExecuteAndWait(buffer);  }}void app_stop(DWORD timeOut){  DWORD  pid = 0;  HANDLE hFind = INVALID_HANDLE_VALUE;  WIN32_FIND_DATA find_file_data;  DWORD dwError;  char *u3_host_exec_path;  char dir_spec[MAX_PATH+1];  char file_name[MAX_PATH+1];  u3_host_exec_path = getenv("U3_HOST_EXEC_PATH");  strncpy(dir_spec, u3_host_exec_path, strlen(u3_host_exec_path) + 1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久er热在这里只有精品15 | 国产成人av电影在线| 99国产欧美久久久精品| 在线播放欧美女士性生活| 国产精品国产三级国产aⅴ原创| 午夜精品久久久久久久久久 | 色吊一区二区三区| 久久久精品免费网站| 日韩高清不卡一区二区| 91麻豆国产香蕉久久精品| 久久久久久久性| 日韩综合小视频| 日本高清不卡视频| 亚洲欧洲精品一区二区精品久久久| 美女性感视频久久| 欧美乱熟臀69xxxxxx| 亚洲三级理论片| av不卡免费在线观看| 久久精品夜夜夜夜久久| 麻豆精品在线看| 制服丝袜av成人在线看| 亚洲一二三区不卡| 欧美唯美清纯偷拍| 亚洲超碰97人人做人人爱| 在线精品视频免费播放| 亚洲激情六月丁香| 日本精品视频一区二区| 亚洲综合久久久| 欧美亚洲国产一卡| 亚洲伊人伊色伊影伊综合网| 一本久道中文字幕精品亚洲嫩| ...xxx性欧美| 99久久er热在这里只有精品66| 亚洲欧洲成人精品av97| 91在线视频在线| 一级精品视频在线观看宜春院| 一本久久精品一区二区| 亚洲国产精品久久人人爱| 欧美日韩视频第一区| 视频一区欧美精品| 欧美mv日韩mv亚洲| 国产一区二区网址| 国产精品卡一卡二| 在线观看一区日韩| 免费成人深夜小野草| 久久青草国产手机看片福利盒子| 国产真实乱偷精品视频免| 国产欧美日韩三级| 色偷偷成人一区二区三区91| 亚洲综合色自拍一区| 日韩一区二区高清| 国产成都精品91一区二区三| 综合激情网...| 欧美日韩综合在线| 麻豆精品一区二区| 国产精品久久久久久久久免费樱桃| 色偷偷一区二区三区| 日韩av二区在线播放| 中文字幕精品在线不卡| 91麻豆视频网站| 日韩国产欧美三级| 国产午夜一区二区三区| 在线观看免费一区| 久久99精品久久久久久久久久久久| 亚洲国产精品v| 欧美艳星brazzers| 国产91丝袜在线18| 亚洲一区二区三区小说| 久久久精品中文字幕麻豆发布| 色呦呦日韩精品| 久久www免费人成看片高清| 综合色天天鬼久久鬼色| 精品国产91洋老外米糕| 色94色欧美sute亚洲线路二| 久久精品二区亚洲w码| 一区二区三区不卡在线观看| 精品国产1区2区3区| 欧美影视一区在线| 国产成人精品一区二区三区四区 | 日韩三级在线观看| 成人av在线资源网| 国内精品视频666| 午夜日韩在线电影| 综合分类小说区另类春色亚洲小说欧美| 欧美精品久久天天躁| 91在线码无精品| 国产剧情一区二区| 麻豆国产91在线播放| 亚洲一区在线观看网站| 亚洲欧洲三级电影| 亚洲国产高清在线| 精品国产污污免费网站入口| 欧美日本在线播放| 在线观看国产日韩| 成人动漫一区二区在线| 美国欧美日韩国产在线播放| 亚洲地区一二三色| 伊人夜夜躁av伊人久久| 日韩伦理免费电影| 中文字幕av资源一区| 久久久精品天堂| 久久午夜国产精品| 精品国产乱子伦一区| 欧美一区二区三区精品| 欧美高清视频www夜色资源网| 在线免费视频一区二区| 日本精品视频一区二区三区| 色悠悠久久综合| 色先锋aa成人| 欧美色综合网站| 欧美性猛交xxxxxxxx| 在线国产电影不卡| 欧美日韩精品电影| 欧美日韩免费一区二区三区视频| 色狠狠一区二区| 欧亚一区二区三区| 欧美日韩dvd在线观看| 欧美日韩国产精品自在自线| 5月丁香婷婷综合| 欧美一区二区三区不卡| 日韩精品中文字幕在线一区| 91精品国产麻豆| 日韩欧美国产一区在线观看| 日韩精品一区二区三区swag| 精品国产网站在线观看| ww亚洲ww在线观看国产| 欧美激情综合五月色丁香小说| 欧美国产日韩亚洲一区| ●精品国产综合乱码久久久久| 亚洲精品免费播放| 日韩在线a电影| 国精品**一区二区三区在线蜜桃| 国产精品自拍一区| 成人av电影在线观看| 欧美亚洲国产怡红院影院| 欧美一区三区四区| 国产色产综合色产在线视频| 一区在线播放视频| 日韩综合小视频| 国产精一区二区三区| 91日韩精品一区| 91精品国产91久久久久久一区二区| 精品成a人在线观看| 国产精品二三区| 日韩激情一区二区| 成人激情图片网| 欧美亚洲国产一区二区三区 | 国产传媒久久文化传媒| 91浏览器在线视频| 欧美www视频| 一区二区三区日韩精品| 久久99九九99精品| 91成人国产精品| 亚洲精品一区二区三区香蕉| 亚洲日本护士毛茸茸| 经典三级视频一区| 91免费看`日韩一区二区| 日韩一区二区三区四区| 亚洲三级久久久| 国产精品一区二区x88av| 欧美天堂亚洲电影院在线播放| 久久综合色综合88| 亚洲1区2区3区4区| 91亚洲国产成人精品一区二三 | 中日韩av电影| 日韩精品一区第一页| 99视频在线精品| 久久伊人中文字幕| 亚洲国产综合91精品麻豆| 成人免费黄色在线| 精品美女在线播放| 日韩av中文字幕一区二区 | 日韩美女在线视频| 亚洲高清免费在线| 成人一区二区三区中文字幕| 日韩一级二级三级精品视频| 亚洲精品成人悠悠色影视| 国产成人av电影在线| 日韩一区二区三区电影在线观看 | 3d动漫精品啪啪| 亚洲欧美日韩久久精品| 成人激情动漫在线观看| 精品1区2区在线观看| 欧美aaa在线| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲欧美一区二区三区久本道91 | 久久99在线观看| 欧美日韩高清在线| 一区二区三区中文在线观看| 懂色av噜噜一区二区三区av | 欧美一级黄色录像| 日本亚洲最大的色成网站www| 色国产综合视频| 亚洲精品国产成人久久av盗摄| 91一区一区三区| 亚洲欧美偷拍卡通变态| 色欧美88888久久久久久影院| 亚洲人成电影网站色mp4| 97精品久久久久中文字幕| 亚洲日本欧美天堂|