Request/443 のバックアップ(No.4)




MAX_PATHより長いPATHのファイルをGrep出来るようにしてほしい

  • ページ: Request
  • 投稿者: berupon?
  • 優先順位: 低
  • 状態: 提案
  • カテゴリー:
  • 投稿日: 2013-11-05 (火) 13:57:30
  • バージョン:

メッセージ

Unicode版で確認を行いました。

Grepで長いパスのファイルを開けなくて file open error というメッセージが表示されます。

CGrepAgent::DoGrepFile で CFileLoad::FileOpen を呼び出しますが、 その中でWindowsAPIのCreateFileを呼び出す際に、パスの前に "\\?\" という接頭辞を追加すると、MAX_PATHより長いパスのファイルも開けるようになります。

http://msdn.microsoft.com/ja-jp/library/cc429198.aspx


  • UNCパスの場合は指定方法が少し異なるようです。http://msdn.microsoft.com/en-us/library/aa365247%28v=vs.85%29.aspx#maxpath -- berupon? 2013-11-05 (火) 14:35:46
  • フォルダ指定の所に「\\?\C:\Users\username\dir」みたいに指定すれば、_MAX_PATH+200まではGrepできるっぽい -- 2013-11-05 (火) 20:17:48
  • upatchid:691バッファオーバーランを修正しました -- もか? 2013-11-05 (火) 22:58:39

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White
[添付ファイル一覧] [全ページの添付ファイル一覧]
アップロード可能最大ファイルサイズは 2,048KB です。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS