問題タブ [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.
winapi - 同期 I/O 用に開かれた HANDLE を、存続期間中に非同期 I/O 用に開くように変更することはできますか?
Windows での私の日常的なプログラミング作業のほとんどは、現在、あらゆる種類の I/O 操作 (パイプ、コンソール、ファイル、ソケットなど) に関するものです。私は、さまざまな種類のハンドル (同期、非同期、イベントの完了待ち、ファイル HANDLE、I/O 完了ポート、アラート可能 I/O の待機) からの読み取りと書き込みのさまざまな方法をよく知っています。私たちはそれらの多くを使用しています。
一部のアプリケーションでは、すべてのハンドルを 1 つの方法で処理できると非常に便利です。つまり、プログラムは、受け取ったハンドルの種類を認識していない可能性があり、たとえば、すべての I/O 完了ポートを使用したいと考えています。
だから最初に私は尋ねます:
私がハンドルを持っているとしましょう:
これは、どこかからの I/O のプロセスによって受信されました。作成されたフラグを簡単かつ確実に確認する方法はありますか? 問題の主なフラグはFILE_FLAG_OVERLAPPED
.
これまでのところ、私が知っている唯一の方法は、そのようなハンドルを I/O 完了ポートに登録しようとすることです (を使用CreateIoCompletionPort()
)。それが成功した場合、ハンドルは FILE_FLAG_OVERLAPPED で作成されています。HANDLE
h
ただし、I/O 完了ポートのみを使用する必要があります。これは、ハンドル自体を閉じないとハンドルから登録を解除できないためです。
の存在を判断する簡単な方法がFILE_FLAG_OVERLAPPED
あるとすれば、次の 2 番目の質問があります。
そのようなフラグを既存のハンドルに追加する方法はありますか? これにより、同期操作用に最初に開いていたハンドルが、非同期操作用に開かれます。反対の方法を作成する方法はありますか (FILE_FLAG_OVERLAPPED
非同期から同期ハンドルを作成するために削除します)?
MSDN を読み、何度もグーグル検索した後も、直接的な方法は見つかりませんでした。同じことができる少なくともいくつかのトリックはありますか?CreateFile()
関数などを使用して同じ方法でハンドルを再作成するようなものですか? 部分的に文書化されているか、まったく文書化されていないものですか?
私がこれを必要とする主な場所は、プロセスがサードパーティのアプリケーションによって送信されたハンドルから読み取り/書き込みを行う方法を決定する (または方法を変更する) ことです。サードパーティ製品がハンドルを作成する方法を制御することはできません。
親愛なる Windows の達人: 助けてください!
よろしく
マーティン
createfile - Win32ファイルAPIをオーバーライドして仮想ファイルを実装する
CreateFile()などのWin32ファイルAPIをオーバーライドする方法はありますか?アプリに自分のアプリ専用の仮想ファイルを表示させたいのですが、仮想ファイルは実際には存在しません。
c# - C# (または少なくとも C++) と Win32API を使用して、ディレクトリのデータの最初のクラスターを FAT で取得する方法は?
私は FAT ドライブを持っています。H: とディレクトリ 'work' (フル パス 'H:\work') としましょう。そのディレクトリの最初のクラスターの NUMBER を取得する必要があります。最初のクラスターの番号は 2 バイトの値で、フォルダー エントリの 26 番目と 27 番目のバイト (32 バイト) に格納されます。
ディレクトリではなく、ファイルでそれを行っているとしましょう。次のようなコードを使用できます。
そして、19 のような数値を返します (私にとっては、これがディスク上の唯一のファイルです)。
しかし、ファイルは必要ありません。フォルダーが必要です。だから私は CreateFile 呼び出しに FILE_FLAG_BACKUP_SEMANTICS パラメータを入れています...そして次に何をすべきかわかりません。フォルダに対して機能させる方法はありますか?
msdn はこの問題について非常に明確ですhttp://msdn.microsoft.com/en-us/library/aa365258(v=VS.85).aspx
「フォルダーの最初のクラスターの数を取得する方法はありません」のように聞こえます。一番絶望的だったのは、私の家庭教師が「これを取得するか、このコースに合格しないか」のようなことを言ったことです。彼がこれが可能であると確信している本当の理由は、10 年 (またはそれ以上) の間、フォルダーの最初のクラスター番号をフォルダーのアドレスの HASH として受け取っていたからです (そして、私はこれを彼に指摘するほど愚かでした。同じようにはできない)
PS: これは私が今まで経験した中で最もばかげた仕事です! この値は実際にはプログラムのどこにも使用されていません。意味のない整数にすぎません。
ram - FILE_ATTRIBUTE_TEMPORARY を指定して CreateFile を呼び出す | FILE_FLAG_DELETE_ON_CLOSE
私の問題を説明する前に、私が書いている C++ プログラムについて説明します。
- 私のプログラムの目的は、RAM メモリ上にファイルを作成することです。
ファイルの作成時に指定するFILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE
と、RAMメモリに直接ロードされることを読みました。
話題になっているブログの 1 つに、次のようなものがあります。
あくまで一時的なものです
ラリー・オスターマン、2004 年 4 月 19 日
「一時」ファイルを作成するには、 dwFlagsAndAttributes属性を指定
FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE
してCreateFile を呼び出します。このビットの組み合わせは、ファイル データをディスクにフラッシュしてはならないというファイル システムへのヒントとして機能します。つまり、このようなファイルは、システムがディスクに触れることなく、作成、書き込み、および読み取りを行うことができます。
ミニプログラムを作成しましたが、目標を達成できません。代わりに、ハードドライブの指定したディレクトリにファイルを作成します。
これが私のプログラムです:
CreateFile関数に問題があると思いますが、修正できません。私を助けてください。
c++ - CloseHandle で適切に閉じないと、シリアル ポートを再度開くことができません
仮想シリアル ポートとして認識される Windows で USB デバイスを使用しています。CreateFile および ReadFile 関数を使用してデバイスと通信できますが、アプリケーションが CloseHandle を呼び出さない場合があります (開発中のアプリケーションがクラッシュした場合)。その後、CreateFile へのすべての呼び出しが失敗し (ERROR_ACCESS_DENIED)、唯一の解決策はコンピューターに再度ログインすることです。プログラムで開いているハンドルを強制的に閉じる (または再度開く) 方法はありますか?
windows - Windows では、移植性はさておき、CreateFile または fopen を使用する必要がありますか?
違いは何ですか?また、どのような場合に、どちらか一方が何らかの点で優れていることが証明されますか?
file-io - 開発者がSQLスクリプトを追加できるように、指定されたディレクトリにTFS 2008でSQLスクリプトファイルを自動的に作成するにはどうすればよいですか?
質問を修正しました。実際、TFS2008ソース管理サーバーの指定されたディレクトリ/フォルダーに空のtxt/ .sqlファイルを作成し、開発者が開発の一部にSQLスクリプトを追加できるようにします。
ナイトリービルドスクリプトを実行するたびに、このファイルを自動的に作成する必要があります。以下に示すように、MakeDirタスクを使用してディレクトリまたはフォルダを作成しました。
TFSで空のファイルを作成するのに役立つタスクが利用できるかどうか疑問に思いました。EXECコマンドを使用するのではなく、標準のタスクを使用します。
この目的のためにMSBuildExtensionPackまたはSDCで利用可能なものがある場合は、共有してください。
よろしく
こんにちは、みんな、
スクリプトを実行して近くのビルドを作成するときに、指定されたパスのソース管理で毎晩テキストファイルを作成して計画したいと思います。TFSBuild.proj scrip / msbuildスクリプトを使用して、ソースコントロールの任意の場所に新しいプレーンテキストファイルを作成するにはどうすればよいですか。
ヘルプは大歓迎です。
皆さんありがとう。
編集:
実際、MSBuild / TeamBuildTasksを介した方法が必要でした。を使用して作成できるように、同様に、msbuildまたはチームビルドスクリプト(tfsbuild.pro)からいくつかの標準タスクを介して呼び出すことができるタスクを探しています。
objective-c - Cocoa Createfileapath
I am trying to create a file on mac os. the data from the file will be accessed by the app. but how to create a file having read permission on all accounts. Currently the app can read data in admin account only. I am using following syntax:
BOOL B = [fm createFileAtPath:p1 contents:data attributes:nil];
is it something to do with attributes so that it can be read by all the users but can be modified by admin only.
thank you.
Here is the output of the ls -dl
is it because I am creating file in system/library, if so which is the best place to create a file so that it will be readable by all users but can be modified by admin only.
thank you
php - PHPは指定されたサイズのファイルを作成します
PHPで特定のサイズのファイルを作成するにはどうすればよいですか(コンテンツに関係なく)?
1GB を超えるファイルを作成する必要があります。最大約4~10GB
c - ネイティブWin32を使用して「C」でテキストファイル(Unicode)を読み取る
CreateFile()とWriteFile()を使用して作成された行指向のテキストファイル(Unicode)があります。
ReadFile()を使用してそのファイルをバイナリストリームとして読み取るのは簡単ですが、ファイルを行に分割するには、余分な低レベルの処理が必要です。
これを行うWin32関数はありますか?
繰り返しになりますが、これは「C」(C ++ではない)であり、readline()などのPOSIX /ANSIC関数は使用したくないことに注意してください。
前述の質問に対する答えが否定的である場合、ネイティブのWin32 C関数のみを使用して、行指向のテキストファイルの読み取りを実行するための「最短コード」は何でしょうか。たとえば、ReadFile()、StrChr()などを使用します。
ありがとう。