the_king
مدیرکل انجمن
آها ممنون
پس فقط با توابع Marshal باید کار کنم . چون فکر کردم مثل مثالی که در دو صفحه ی قبل زدید ، اونجوری باید عمل کنم و پروتایپ اش هم لازمه .
یه سئوال اینکه در توابعی که در See Also در راهنمای استراکچر SECURITY_DESCRIPTOR اومد :
_SECURITY_DESCRIPTOR
(بعد از مقداردهی اولیه و استفاده از تابع InitializeSecurityDescriptor) ، برای مقداردهی فیلدهای استراکچر ، باید فقط از توابعی که با Set شروع میشن استفاده کنم دیگه؟ یعنی لازم نیست با توابعی که با Get شروع میشن کار کنم دیگه؟ چون خروجی توابع Get شون همه bool هستن .
بله دیگه، get ها مقدار برمیگردونن و set ها مقداردهی می کنند.
بله، هر کدوم که اشاره ای به متغیر بودن فرمت نکرده یا پر کردن دستی شون رو منع نکرده طبعا برایشان تعریف struct می کنید.بعد اگه پارامترهای این توابعی که با Set شروع میشن ، اشاره گر به یه استراکچر دیگه خواستن (مثل تابع SetSecurityDescriptorDacl که پارامترسومش اشاره گر به استراکچر ACL میخواد) ، اون استراکچر را هم توی See Also اش ببینم اگه توابعی داشت که این استراکچر را مقداردهی اولیه کنه و اطلاعات فیلدهاش را پر کنه (مثل متد InitializeAcl و متد SetAclInformation برای استراکچر ACL) ، از توابع Marshal استفاده کنم و با AllocHGlobal براش حافظه بگیرم و بقیه ی کارهایی که گفتین را انجام بدم وگرنه اگه این توابع نبود ، خودم مثل نمونه های قبلی (که در دو صفحه ی پیش یا در مثال اتوپلی که اون موقع گفته بودین) ، پروتوتایپ اش را تعریف کنم و مقداردهی اش کنم؟ درست میگم؟