در يافت خطا 87 در هنگام استفاده از تابع SetEntriesInAcl
با سلام
فكر كنم سوال گويا باشد ولي بيشتر توضيح مي دم
من در هنگام استفاده از تابع SetEntriesInAcl كد خطا 87 رو مي گيرم
كد خود و ساير كد هاي مشابه رو بررسي كردم
لازم به ذكر است كه اگر كد هاي ذكر شده را در دلفي 2010 استفاده كنم خطا نمي دهد
ولي در دلفي 7 مي دهد
pDacl := nil;
pSD := nil;
pNewDacl := nil;
dwRes := GetSecurityInfo(hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, pDacl, nil, pSD);
if ERROR_SUCCESS <> dwRes then
begin
if Assigned(pSD) then
LocalFree(Hlocal(pSD^));
if Assigned(pNewDacl) then
LocalFree(HLocal(pNewDacl));
end;
User:='CURRENT_USER';
ZeroMemory(@ea, sizeof(EXPLICIT_ACCESS));
ea.grfAccessPermissions :=SECTION_MAP_WRITE;
ea.grfAccessMode := GRANT_ACCESS;
ea.grfInheritance := NO_INHERITANCE;
ea.Trustee.TrusteeForm := TRUSTEE_IS_NAME;
ea.Trustee.TrusteeType := TRUSTEE_IS_USER;
ea.Trustee.ptstrName := PAnsiChar(user[1]);
dwRes := SetEntriesInAcl(1, @ea, pDacl, pNewDacl);
if ERROR_SUCCESS <> dwRes then
begin
if Assigned(pSD) then
LocalFree(Hlocal(pSD^));
if Assigned(pNewDacl) then
LocalFree(HLocal(pNewDacl));
raise Exception.Create(Format('Error ? %u', [dwRes]))
end;
dwRes := SetSecurityInfo
(hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, pNewDacl, nil);
if ERROR_SUCCESS <> dwRes then
begin
if Assigned(pSD) then
LocalFree(Hlocal(pSD^));
if Assigned(pNewDacl) then
LocalFree(HLocal(pNewDacl));
end;
نقل قول: در يافت خطا 87 در هنگام استفاده از تابع SetEntriesInAcl
نقل قول:
من در هنگام استفاده از تابع SetEntriesInAcl كد خطا 87 رو مي گيرم
خطا داره بهتون میگه که یکی از پارامترهای ورودی تابع نامعتبر هست. من بررسی نکردم که کدوم پارامتر رو اشتباه استفاده کردید، ولی اون خطا بهتون کمک میکنه که متوجه بشید مشکل در یکی از پارامترهاتون هست، و بررسی خودتون رو محدود به اونها بکنید.
نقل قول: در يافت خطا 87 در هنگام استفاده از تابع SetEntriesInAcl
نقل قول:
نوشته شده توسط
علی کشاورز
خطا داره بهتون میگه که یکی از پارامترهای ورودی تابع نامعتبر هست.
با تشكر از شما من كليه پارامترها را چك كردم و به مورد خاصي نرسيدم.
در صورت امكان من را بيشتر راهنمايي كنيد.