子プロセスへの引数の受け渡し
呼び出し側が子プロセスに引数を渡す行為。Windowsでは配列ではなく1本のコマンドライン文字列として渡るため、受け取り側の分割規則で元どおりに割れる文字列を組み立てることと同義になる。
- 概念URI
https://comcomponent.com/knowledge/child-process-argument-passing/
- 別名・表記
- コマンドライン引数の受け渡し
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- ProcessStartInfo.ArgumentListは子プロセスへの引数の受け渡しに対する本記事の推奨です。.NET Core 2.1以降から子プロセスを起動するときは、1要素を1引数としてArgumentListに追加する方法を本記事は推奨している。公式ドキュメントも、引用符付けに自信がなければArgumentListを選ぶよう案内している。 / 確度: 条件付きの関係 / 確認日: 2026-09-02 出典
- 引数の引用符付け(組み立て関数)は子プロセスへの引数の受け渡しに対する本記事の推奨です。C++や.NET Frameworkのように組み立てを自分で行い、実行ファイルを直接起動して、受け取り側がCommandLineToArgvW・Cランタイム・.NETランタイムの分割規則で解釈する場合に、引用符を手で書かず、分割規則の逆写像となる1つの関数で全引数を組み立てることを本記事は推奨している。cmd.exeやバッチファイルを経由する場合は別のパーサが挟まるため、この関数だけでは足りない。 / 確度: 条件付きの関係 / 確認日: 2026-09-02 出典 出典
- 子プロセスへの引数の受け渡しは引数表示用の確認exeで確認できます。相手のexeの代わりに引数表示用のexeを起動すると、分割後の配列に何が届いたかを直接確認できる。ただし表示用exeは相手と同じランタイム(MSVCのC/C++か.NETか)で作らないと、囲みの中の引用符2連続のような端の形で解釈が食い違う。相手が自分たちのプログラムなら、相手自身の起動時にargvをログに残すほうが確実。 / 確度: 条件付きの関係 / 確認日: 2026-09-02 出典
- 子プロセスへの引数の受け渡しはProcess Explorerで確認できます。Process Explorerのプロセスのプロパティには子プロセスが保持しているコマンドライン文字列が表示されるため、相手側に届いた文字列を確認できる。ただし先頭の実行ファイル名はOSがフルパスを補っていることがあり、cmd.exeやバッチが挟まっていれば見えるのはその段が作り直した文字列で、呼び出し側のバッファと一致するとは限らない。分割後の配列は分からない。 / 確度: 確立した関係 / 確認日: 2026-09-02 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。