কম্পিউটার টিউটোরিয়াল

Windows অ্যানোনিমাস পাইপ: পেরেন্ট-চাইল্ড প্রসেস কমিউনিকেশন

সংক্ষিপ্ত বিবরণ

Windows-এ অ্যানোনিমাস পাইপ হল অনির্দেশী (unidirectional) কমিউনিকেশন চ্যানেল যা পেরেন্ট-চাইল্ড প্রসেসের মধ্যে ডেটা বিনিময়ে। Unix পাইপের মতোই কিন্তু উইন্ডোজ API ভিন্ন।

মূল ফাংশন ও স্ট্রাকচার

  • CreatePipe() — পাইপ তৈরি (রিড/রাইট হ্যান্ডেল, সিকিউরিটি অ্যাট্রিবিউট, সাইজ)
  • ReadFile() / WriteFile() — পাইপ পড়া/লেখা
  • STARTUPINFO — চাইল্ড প্রসেসের স্ট্যান্ডার্ড হ্যান্ডেল রিডাইরেক্ট করার জন্য
  • SetHandleInformation() — হ্যান্ডেল ইনহেরিট্যান্স নিয়ন্ত্রণ

পেরেন্ট প্রসেস কোড

HANDLE ReadHandle, WriteHandle;
SECURITY_ATTRIBUTES sa = {sizeof(sa), NULL, TRUE}; // ইনহেরিটেবল
CreatePipe(&ReadHandle, &WriteHandle, &sa, 0);

STARTUPINFO si; GetStartupInfo(&si);
si.hStdInput = ReadHandle;           // চাইল্ড পাইপ থেকে পড়বে
si.dwFlags = STARTF_USESTDHANDLES;
SetHandleInformation(WriteHandle, HANDLE_FLAG_INHERIT, 0); // রাইট এন্ড ব্লক

CreateProcess(NULL, "child.exe", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
CloseHandle(ReadHandle);
WriteFile(WriteHandle, message, len, &written, NULL);
CloseHandle(WriteHandle);
WaitForSingleObject(pi.hProcess, INFINITE);

চাইল্ড প্রসেস কোড

HANDLE h = GetStdHandle(STD_INPUT_HANDLE);
ReadFile(h, buffer, size, &read, NULL);
printf("Child read: %s", buffer);

নোট

  • উইন্ডোজে হ্যান্ডেল ইনহেরিট্যান্স এক্সপ্লিসিট 해야 합니다
  • পাইপ হাফ-ডুপ্লেক্স (একদিকনির্দেশী)
  1. উইন্ডোজ ১১-এ পেরেন্টাল কন্ট্রোল সেট আপ ও ব্যবহার করার পদ্ধতি

  2. Windows cannot find C:\Windows\regedit.exe ত্রুটি সমাধান

  3. Windows 11 SE খুঁজে বের করুন: Microsoft-এর ক্লাসরুম-রেডি OS

  4. আপনার শিশুর উইন্ডোজ ১০ একাউন্ট পরিচালনা করুন: পেরেন্টাল কন্ট্রোল ও সেটিংস