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

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

?? access.cpp

?? This software performs code conversion of Chinese characters, including GB2312/GBK and BIG5. It a
?? CPP
字號:
// access.cpp

#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include "msc.h"
#include "access.h"
#include "filename.h"
#include "stringex.h"


// 偹傫偺偨傔 FILE_TYPE_REMOTE (0x8000) 傪偼偢偡
#define GetFileType(h)   ( GetFileType ( h ) & ~ FILE_TYPE_REMOTE )


#define FILE_ACCESS_TESTSHARE    ( FILE_ACCESS_EXIST | FILE_ACCESS_READ | FILE_ACCESS_WRITE | FILE_ACCESS_VALID )
#define FILE_ACCESS_TESTTYPE     ( FILE_ACCESS_FILE | FILE_ACCESS_DIRECTORY | FILE_ACCESS_DEVICE )



//////////////////////////////
//          ANSI斉          //
//////////////////////////////



static int IsReservedDeviceNameA ( const char *szFileName ) ;



// 僼傽僀儖偺傾僋僙僗尃傪専嵏乮ANSI斉乯
// dwFlags 偵巜掕偝傟偨忦審偵崌偆側傜偽 0 埲奜傪曉偡
int IsFileAccessibleA ( const char *szFileName, unsigned long dwFlags ) {


   if ( ( dwFlags & FILE_ACCESS_TESTTYPE ) == 0 ) dwFlags |= FILE_ACCESS_TESTTYPE ;
   if ( ( dwFlags & FILE_ACCESS_TESTSHARE ) == 0 ) dwFlags |= FILE_ACCESS_EXIST ;


   // 僨僶僀僗偑懚嵼
   if ( IsReservedDeviceNameA ( szFileName ) ) {
      if ( dwFlags & FILE_ACCESS_DEVICE ) {
         return 1 ;
      }
   }
   else {
      unsigned long dwFileAttributes = GetFileAttributesA ( szFileName ) ;
      if ( dwFileAttributes != (unsigned long) -1 ) {
         // 僨傿儗僋僩儕偑懚嵼
         if ( dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
            if ( dwFlags & FILE_ACCESS_DIRECTORY ) {
               if ( dwFlags & ( FILE_ACCESS_EXIST | FILE_ACCESS_VALID ) ) {
                  return 1 ;
               }
               if ( dwFlags & FILE_ACCESS_READ ) {
                  return 1 ;
               }
               if ( dwFlags & FILE_ACCESS_WRITE ) {
                  if ( ! ( dwFileAttributes & FILE_ATTRIBUTE_READONLY ) ) return 1 ;
               }
            }
         }
         // 僼傽僀儖偑懚嵼
         else {
            if ( dwFlags & FILE_ACCESS_FILE ) {
               if ( dwFlags & ( FILE_ACCESS_EXIST | FILE_ACCESS_VALID ) ) {
                  return 1 ;
               }
               if ( dwFlags & FILE_ACCESS_READ ) {
                  HANDLE hFile ;
                  if ( ( hFile = CreateFileA ( szFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ) ) != INVALID_HANDLE_VALUE ) {
                     unsigned long dwFileType = GetFileType ( hFile ) ;
                     CloseHandle ( hFile ) ;
                     if ( dwFileType == FILE_TYPE_DISK ) return 1 ;
                  }
               }
               if ( dwFlags & FILE_ACCESS_WRITE ) {
                  HANDLE hFile ;
                  if ( ( hFile = CreateFileA ( szFileName, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ) ) != INVALID_HANDLE_VALUE ) {
                     unsigned long dwFileType = GetFileType ( hFile ) ;
                     CloseHandle ( hFile ) ;
                     if ( dwFileType == FILE_TYPE_DISK ) return 1 ;
                  }
               }
            }
         }
      }
      // 僨傿儗僋僩儕傑偨偼僼傽僀儖偑懚嵼偟側偄
      else {
         if ( dwFlags & ( FILE_ACCESS_FILE | FILE_ACCESS_DIRECTORY ) ) {
            if ( dwFlags & ( FILE_ACCESS_WRITE | FILE_ACCESS_VALID ) ) {
               HANDLE hFile ;
               if ( ( hFile = CreateFileA ( szFileName, GENERIC_READ, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE, NULL ) ) != INVALID_HANDLE_VALUE ) {
                  unsigned long dwFileType = GetFileType ( hFile ) ;
                  CloseHandle ( hFile ) ;
                  if ( dwFileType == FILE_TYPE_DISK ) return 1 ;
               }
            }
         }
      }
   }


   return 0 ;
}



// 梊栺偝傟偨僨僶僀僗柤偐偳偆偐曉偡
static int IsReservedDeviceNameA ( const char *szFileName ) {

   static const char szLongPathHead [] = "\\\\?\\" ;     // for "\\?\C:\<path>", "\\?\UNC\<server>\<share>"
   if ( ! strheadcmp ( szFileName, szLongPathHead ) ) return 0 ;

   szFileName = GetFileNameA ( szFileName ) ;
   if ( ! szFileName ) return 0 ;

   char szTmp [ MAX_PATH ] ;
   strlcpy ( szTmp, szFileName, MAX_PATH ) ;

   while ( GetExtensionA ( szTmp ) ) ChangeExtensionA ( szTmp, NULL ) ;

   if ( ! stricmp ( szTmp, "CON" ) ) return 1 ;
   if ( ! stricmp ( szTmp, "PRN" ) ) return 1 ;
   if ( ! stricmp ( szTmp, "AUX" ) ) return 1 ;
   if ( ! stricmp ( szTmp, "CLOCK$" ) ) return 1 ;
   if ( ! stricmp ( szTmp, "NUL" ) ) return 1 ;

   if ( ! strheadicmp ( szTmp, "COM" ) && szTmp [ 3 ] >= '1' && szTmp [ 3 ] <= '9' && ! szTmp [ 4 ] ) return 1 ;
   if ( ! strheadicmp ( szTmp, "LPT" ) && szTmp [ 3 ] >= '1' && szTmp [ 3 ] <= '9' && ! szTmp [ 4 ] ) return 1 ;

   return 0 ;
}



//////////////////////////////
//         UNICODE斉        //
//////////////////////////////



static int IsReservedDeviceNameW ( const wchar_t *szFileName ) ;



// 僼傽僀儖偺傾僋僙僗尃傪専嵏乮UNICODE斉乯
// dwFlags 偵巜掕偝傟偨忦審偵崌偆側傜偽 0 埲奜傪曉偡
int IsFileAccessibleW ( const wchar_t *szFileName, unsigned long dwFlags ) {


   if ( ( dwFlags & FILE_ACCESS_TESTTYPE ) == 0 ) dwFlags |= FILE_ACCESS_TESTTYPE ;
   if ( ( dwFlags & FILE_ACCESS_TESTSHARE ) == 0 ) dwFlags |= FILE_ACCESS_EXIST ;


   // 僨僶僀僗偑懚嵼
   if ( IsReservedDeviceNameW ( szFileName ) ) {
      if ( dwFlags & FILE_ACCESS_DEVICE ) {
         return 1 ;
      }
   }
   else {
      unsigned long dwFileAttributes = GetFileAttributesW ( szFileName ) ;
      if ( dwFileAttributes != (unsigned long) -1 ) {
         // 僨傿儗僋僩儕偑懚嵼
         if ( dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
            if ( dwFlags & FILE_ACCESS_DIRECTORY ) {
               if ( dwFlags & ( FILE_ACCESS_EXIST | FILE_ACCESS_VALID ) ) {
                  return 1 ;
               }
               if ( dwFlags & FILE_ACCESS_READ ) {
                  return 1 ;
               }
               if ( dwFlags & FILE_ACCESS_WRITE ) {
                  if ( ! ( dwFileAttributes & FILE_ATTRIBUTE_READONLY ) ) return 1 ;
               }
            }
         }
         // 僼傽僀儖偑懚嵼
         else {
            if ( dwFlags & FILE_ACCESS_FILE ) {
               if ( dwFlags & ( FILE_ACCESS_EXIST | FILE_ACCESS_VALID ) ) {
                  return 1 ;
               }
               if ( dwFlags & FILE_ACCESS_READ ) {
                  HANDLE hFile ;
                  if ( ( hFile = CreateFileW ( szFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ) ) != INVALID_HANDLE_VALUE ) {
                     unsigned long dwFileType = GetFileType ( hFile ) ;
                     CloseHandle ( hFile ) ;
                     if ( dwFileType == FILE_TYPE_DISK ) return 1 ;
                  }
               }
               if ( dwFlags & FILE_ACCESS_WRITE ) {
                  HANDLE hFile ;
                  if ( ( hFile = CreateFileW ( szFileName, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ) ) != INVALID_HANDLE_VALUE ) {
                     unsigned long dwFileType = GetFileType ( hFile ) ;
                     CloseHandle ( hFile ) ;
                     if ( dwFileType == FILE_TYPE_DISK ) return 1 ;
                  }
               }
            }
         }
      }
      // 僨傿儗僋僩儕傑偨偼僼傽僀儖偑懚嵼偟側偄
      else {
         if ( dwFlags & ( FILE_ACCESS_FILE | FILE_ACCESS_DIRECTORY ) ) {
            if ( dwFlags & ( FILE_ACCESS_WRITE | FILE_ACCESS_VALID ) ) {
               HANDLE hFile ;
               if ( ( hFile = CreateFileW ( szFileName, GENERIC_READ, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE, NULL ) ) != INVALID_HANDLE_VALUE ) {
                  unsigned long dwFileType = GetFileType ( hFile ) ;
                  CloseHandle ( hFile ) ;
                  if ( dwFileType == FILE_TYPE_DISK ) return 1 ;
               }
            }
         }
      }
   }


   return 0 ;
}



// 梊栺偝傟偨僨僶僀僗柤偐偳偆偐曉偡
// 僷僗柤側偟偺僼傽僀儖柤傪巜掕偡傞
static int IsReservedDeviceNameW ( const wchar_t *szFileName ) {

   static const wchar_t szLongPathHead [] = L"\\\\?\\" ;    // for "\\?\C:\<path>", "\\?\UNC\<server>\<share>"
   if ( ! wcsheadcmp ( szFileName, szLongPathHead ) ) return 0 ;

   szFileName = GetFileNameW ( szFileName ) ;
   if ( ! szFileName ) return 0 ;

   wchar_t szTmp [ MAX_PATH ] ;
   wcslcpy ( szTmp, szFileName, MAX_PATH ) ;

   while ( GetExtensionW ( szTmp ) ) ChangeExtensionW ( szTmp, NULL ) ;

   if ( ! wcsicmp ( szTmp, L"CON" ) ) return 1 ;
   if ( ! wcsicmp ( szTmp, L"PRN" ) ) return 1 ;
   if ( ! wcsicmp ( szTmp, L"AUX" ) ) return 1 ;
   if ( ! wcsicmp ( szTmp, L"CLOCK$" ) ) return 1 ;
   if ( ! wcsicmp ( szTmp, L"NUL" ) ) return 1 ;

   if ( ! wcsheadicmp ( szTmp, L"COM" ) && szTmp [ 3 ] >= '1' && szTmp [ 3 ] <= '9' && ! szTmp [ 4 ] ) return 1 ;
   if ( ! wcsheadicmp ( szTmp, L"LPT" ) && szTmp [ 3 ] >= '1' && szTmp [ 3 ] <= '9' && ! szTmp [ 4 ] ) return 1 ;

   return 0 ;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合网av| 国产原创一区二区三区| 亚洲国产成人在线| 国产亚洲欧美日韩在线一区| 久久久久97国产精华液好用吗| www国产精品av| 国产精品午夜电影| 自拍偷在线精品自拍偷无码专区 | 欧美视频中文字幕| 在线精品视频一区二区三四| 精品视频一区二区不卡| 91精品国产综合久久久蜜臀粉嫩| 欧美变态tickling挠脚心| 久久久久成人黄色影片| 国产精品每日更新在线播放网址| 亚洲欧美激情小说另类| 午夜精品影院在线观看| 久久99精品久久久久| 成人一区在线看| 在线看国产一区二区| 日韩亚洲欧美成人一区| 国产精品美女久久久久久久久久久 | 精品日韩99亚洲| 亚洲国产岛国毛片在线| 亚洲午夜免费视频| 麻豆国产91在线播放| 成人精品国产免费网站| 欧美人xxxx| 日本一区二区电影| 日本道免费精品一区二区三区| 日本网站在线观看一区二区三区 | 日韩欧美在线综合网| 色老汉av一区二区三区| 欧美日韩精品一区二区| 日韩精品一区二区三区视频在线观看 | 91在线观看视频| 欧美一区二区久久久| 国产精品系列在线| 蜜臀91精品一区二区三区| 成人免费高清在线| 精品日韩99亚洲| 伊人色综合久久天天人手人婷| 激情国产一区二区| 欧美性一级生活| 中文字幕日韩欧美一区二区三区| 天涯成人国产亚洲精品一区av| 99久久免费精品| 久久伊99综合婷婷久久伊| 亚洲成av人片在www色猫咪| 成人av免费网站| 国产亚洲一区二区在线观看| 五月激情综合色| 欧美亚洲综合久久| 一色屋精品亚洲香蕉网站| 国产黄色精品视频| 欧美videofree性高清杂交| 午夜精品久久久| 欧美在线免费播放| 亚洲男人天堂av| zzijzzij亚洲日本少妇熟睡| 久久亚洲私人国产精品va媚药| 日韩电影在线观看电影| 欧美视频在线一区二区三区 | 久久不见久久见中文字幕免费| 欧美日韩三级一区| 亚洲国产成人porn| 欧美日韩视频第一区| 亚洲成人精品一区| 欧美色图激情小说| 亚洲一区二区欧美日韩| 欧美在线免费观看视频| 亚洲国产日韩精品| 在线不卡免费欧美| 亚洲国产综合色| 91麻豆精品国产91| 日本美女一区二区| 久久综合色鬼综合色| 国产综合成人久久大片91| 精品99一区二区| 国产成a人亚洲精| 亚洲视频在线一区观看| 色女孩综合影院| 亚洲妇女屁股眼交7| 91麻豆精品国产91久久久久久久久| 日日骚欧美日韩| 337p粉嫩大胆噜噜噜噜噜91av | 一区二区三区中文在线观看| 色吧成人激情小说| 强制捆绑调教一区二区| 欧美精品一区视频| 99re热这里只有精品免费视频| 亚洲综合网站在线观看| 欧美一区二区在线免费播放| 激情综合网天天干| 亚洲蜜臀av乱码久久精品| 欧美色成人综合| 国产在线精品国自产拍免费| 国产精品久久久久一区二区三区共| 不卡影院免费观看| 日韩经典一区二区| 亚洲精品一区二区三区福利| 91美女福利视频| 麻豆成人免费电影| 国产精品久久久久影院| 制服丝袜亚洲精品中文字幕| 国产精品一区免费在线观看| 亚洲综合激情小说| 久久精品夜夜夜夜久久| 在线影院国内精品| 国产精品羞羞答答xxdd| 午夜欧美在线一二页| 国产精品美女久久久久久| 91精品国产欧美一区二区18 | 91精品福利在线一区二区三区 | 一区二区三区.www| 久久精品夜色噜噜亚洲a∨| 欧美色成人综合| av中文一区二区三区| 久久精品国产99| 亚洲欧美日本韩国| 久久久亚洲欧洲日产国码αv| 欧美日韩一二三区| 成人精品小蝌蚪| 国产在线乱码一区二区三区| 亚洲精品日韩综合观看成人91| 久久嫩草精品久久久久| 欧美乱妇一区二区三区不卡视频| 99久久精品一区二区| 国产在线精品一区二区三区不卡| 亚洲国产精品久久人人爱| 国产精品日韩精品欧美在线| 2021中文字幕一区亚洲| 91精品国产综合久久国产大片| 日本高清成人免费播放| 成人v精品蜜桃久久一区| 九色porny丨国产精品| 日韩中文欧美在线| 亚洲高清一区二区三区| 五月天网站亚洲| 国产精品久久久久久福利一牛影视| 欧美一区二区三区白人| 欧美日韩国产123区| 欧美午夜精品一区二区蜜桃 | 日韩av中文在线观看| 亚洲一区二区三区在线| 伊人夜夜躁av伊人久久| 亚洲免费资源在线播放| 18欧美亚洲精品| 自拍偷自拍亚洲精品播放| 国产精品久久久久久一区二区三区| 久久夜色精品一区| 欧美一级国产精品| 日韩欧美一级精品久久| 日韩一区二区视频在线观看| 日韩区在线观看| 日韩精品一区二区三区中文不卡| 日韩欧美高清dvd碟片| 精品欧美黑人一区二区三区| 日韩美女主播在线视频一区二区三区| 欧美一级黄色片| 26uuu欧美| 国产精品夫妻自拍| 一区二区三区国产精品| 天天影视色香欲综合网老头| 视频一区二区三区中文字幕| 久久99精品久久只有精品| 国产精品一线二线三线精华| 高清成人免费视频| 在线看国产一区二区| 欧美精品粉嫩高潮一区二区| 日韩欧美一区二区视频| 国产日韩欧美综合一区| 综合久久一区二区三区| 一区二区在线免费| 麻豆91精品视频| 风间由美一区二区av101| 一本到高清视频免费精品| 欧美一三区三区四区免费在线看 | 7777精品伊人久久久大香线蕉最新版| 91精品蜜臀在线一区尤物| 久久精品一区二区三区四区| 日韩伦理免费电影| 蜜乳av一区二区| 99在线热播精品免费| 欧美日韩国产大片| 日本一区二区成人| 亚洲超丰满肉感bbw| 国产成人av资源| 欧美精品电影在线播放| 日本一区二区三区国色天香 | 日韩欧美国产高清| 亚洲婷婷在线视频| 国产裸体歌舞团一区二区| 91免费视频观看| 欧美成人a∨高清免费观看| 国产精品国产三级国产普通话三级 | 91精品国产综合久久小美女| 国产精品视频麻豆| 黄页视频在线91| 欧美中文字幕一二三区视频|