|
分類:[C#]
分類:[C#]
はじめまして。
今、C#で他のプロセスを動かすアプリを作っています。 CreateProcessでプロセスは問題なく起動するのですが、
パイプを作る時に失敗してしまいます。 こんな感じで書いたのですが、問題があるのでしょうか。
/////////////////////////////////////////////////////////////////
[StructLayout(LayoutKind.Sequential)] public class SECURITY_ATTRIBUTES { public int nLength; public string lpSecurityDescriptor; public bool bInheritHandle; }
[DllImport("kernel32.dll", SetLastError = true)] private static extern int CreatePipe(/*ref*/out int phReadPipe, /*ref*/out int phWritePipe, ref SECURITY_ATTRIBUTES lpPipeAttributes, int nSize);
SECURITY_ATTRIBUTES sa = new SECURITY_ATTRIBUTES(); sa.lpSecurityDescriptor = null; sa.nLength = Marshal.SizeOf(sa); sa.bInheritHandle = true; int hRead, hWrite;
CreatePipe(out hRead, out hWrite, ref sa, 0);
/////////////////////////////////////////////////////////////////
無理ならC++で書けば済む話なのですが、出来ればすべてC#で 書いてしまいたいという気持ちもありまして。。。
よろしくお願いいたします。
- Ozy
|