問題タブ [createfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1200 参照

windows-vista - UAC を使用して Vista でファイルの実際のパスを取得する方法は?

CreateFile() を呼び出して、Program Data ディレクトリにファイルを作成しています。ディレクトリ名を取得するために SHGetSpecialFolderPath() を使用しています。

CreateFile() がエラー 5 (アクセスが拒否されました) を返す Vista のユーザーがいます。CreateFile() が実際にファイルを作成しようとした場所を知っていれば、フォルダーのアクセス許可を確認できるので助かります。Vista (UAC) の問題は、渡されたディレクトリにファイルを作成しようとしていないことです。VirtualStore ディレクトリにある可能性もあります。追加の混乱の原因は、このユーザーがドイツ人であることです。SHGetSpecialFolderPath() はパスとして「C:\Program Data\blah blah」を返しますが、パスが実際にどこにあるかはわかりません。ドイツ語の Vista では、「プログラム データ」のドイツ語を使用していると思います。ユーザーに「これは、ファイルを作成しようとしている正確なパスです。このフォルダーに対するアクセス許可を確認してください。」

開いているファイル ハンドルからパスを取得できることはわかっていますが、この場合は CreateFile() が失敗しているため、開いているハンドルがありません。ファイルを作成しようとしている実際のパスを Vista に教えてもらうにはどうすればよいですか?

0 投票する
2 に答える
2906 参照

c++ - CreateFile を使用してソケットを開く

シリアルポートを開いてから閉じるだけで、シリアルポートが使用可能かどうかを確認する古いシリアルコードがあります。今、ネットワーク サポートをアプリに追加しています。IP アドレスを文字列として指定することで関数を再利用したいと考えています。

connect に続いて shutdown を使用できることはわかっていますが、最小限の変更で関数を再利用したいと考えています。関数を再利用できれば、なおさらです。そうでない場合は、ソケットかどうかを判断するコードを作成する必要があります。

CreateFile を介してソケットを開く正しい方法は何だろうと思っていました。

0 投票する
1 に答える
1782 参照

sharepoint - Webクライアントサービス(webclnt.dll)を介したSharePoint。CreateFileが失敗する

ドキュメントを作成および編集するアプリケーションがあります。ユーザーが自分のアプリケーションを使用してSharePointサーバー上のファイルを編集できるように、SharePointと統合する必要があります。私の環境はVisualC++、非MFCWindowsアプリケーションです。

Webクライアントサービス(webclnt.dll)を試して、最小限のコード変更でアプリを動作させることができるかどうかを確認しています。これはメモ帳などで見事に機能します(SharePointドキュメントへのURLを指定するだけで、WebクライアントはファイルI / O要求をインターセプトし、ネットワークにリダイレクトします)...しかし、私のアプリケーションは「GetLastError」コードでCreateFileの呼び出しに失敗します123の:

なぜこれなのか誰もが知っていますか?CreateFileに有効な完全なURLをファイルに渡します。createFileに渡すことができるオプションを調べましたが、ファイル名の検証が緩和されるように見えるものは何もありません。

0 投票する
4 に答える
8232 参照

windows-7 - Windows7 での CreateFile エラー

CreateFile関数へのパス パラメータが対象である場合\Windows\System32\、呼び出しが次のエラー コードで失敗していることに気付きましたERROR_PATH_NOT_FOUND

ファイル パスは正しいです。私はフォルダーの所有者です。問題は、なぜ呼び出しが失敗するのかということです。MS は、フォルダへのアクセスを禁止する特別なポリシーを追加しましたか?

サンプルコード:

0 投票する
3 に答える
875 参照

c++ - ファイルをネットワークに保存する

ほんの数秒でローカル共有に保存される約 7 MB のファイルがあります。ただし、そのファイルをネットワーク上の場所に保存するには数分かかります。これを高速化するにはどうすればよいか考えています。ここに私の現在のオプションがあります:

  1. データをローカル マシンの一時ファイルに保存し、その一時ファイルをネットワーク パスにコピーします。これが最も簡単で、費用対効果が最も高いため、おそらくこれを行います。
  2. とを使用SetFilePointerEx()SetEndOfFile()ます。この質問への回答に基づいて、これが役立つかもしれないと思いました: Windowsで大きなファイルを作成する
  3. バッファ書き込み。書き込みデータを自分でキャッシュし、バッファがいっぱいになったらフラッシュすることもできますが、これは OS によって既に行われているキャッシュと重複しませんか?

#1が最良の選択肢のように思えますが、ネットワークパスへの保存を高速化するためのより良い方法について何かアドバイスがあれば教えてください。

編集:ネットワークはギガビット LAN 上にあるため、速度は問題になりません。ファイルをネットワーク パスにコピーするには、約 1 秒かかります。データの小さなチャンクで WriteFile() を呼び出していることに気付いたので、より大きなチャンクを書き込むように高レベルのコードを最適化することはおそらく役立つでしょうが、速度の違いは依然として非常に大きいため、尋ねる価値のある質問です.

0 投票する
3 に答える
1098 参照

java - Java:ディレクトリを作成する適切な方法

ディレクトリsome_folder、some_folder_1、some_folder_2、およびsome_folder_3は最初は存在しません。

それはこれを行うための良い方法でしょうか?

0 投票する
2 に答える
767 参照

.net - VB.NETでディレクトリの名前を変更できるかどうかを確認するにはどうすればよいですか?

私の考えは、kernel32のCreateFileを使用して、共有違反をチェックすることです。CMDから名前変更コマンドを発行しているときにProcessMonitorでファイルシステムのアクティビティを監視したため、これは機能すると思います。最後のアクティビティは、共有違反が発生したCreateFile呼び出しの失敗でした。

これは、コールのプロセスモニター情報です。

このVBコードを使用して、Process Monitorで同じ情報を提供するが、共有違反を引き起こさない呼び出しを生成しました。

定数は、さまざまなMSDNおよびpinvoke.netソースから取得されます。

上記のコードをすべてのサブフォルダーで再帰的に呼び出すと、最終的に共有違反が発生しますが、CMDが名前の変更を拒否した場合、再帰しませんでした。

はい、私は例外を捕まえることができることを知っています。しかし、ディレクトリの名前を変更できるかどうかを知りたいポイントと、ディレクトリの名前を変更したいポイントは同じではありません。

編集:

この質問には混乱の原因があった可能性があります。私は許可には関心がありません。ファイルロックが気になります。

0 投票する
3 に答える
2318 参照

device - NSFileManager はシミュレーターでは正常に動作しますが、デバイスでは動作しません

iPhone デバイスで NSFileManager を使用してディレクトリとファイルを作成する際に問題があります。以下に示す私のコードは、シミュレーターでは正常に動作しますが、デバイスでは動作しません。問題が発生している可能性のある方向をいくつか教えてください。すべての返信に感謝します..

私は最初にこの方法でディレクトリを作成しています:

そして、このディレクトリに次の方法で新しいファイルを作成しようとしています:

これで指定されたパスでfileExistAtPathを使用しているとき、NSFileManager全体に何か問題があるようです

それも機能していません。ディレクトリを NSDocumentsDirectory に変更しようとしましたが、役に立ちませんでした