Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Вниз

Помогите please с курсовым...   Найти похожие ветки 

 
Kerk   (2003-12-18 11:14) [0]

Может кто-нибудь сказать, что здесь не так?


...
const
DeviceName: PWideChar = "\Device\PhysicalMemory";
...
var
PhysMem: THandle;
...
var
PhysMemString: TUnicodeString;
attributes: TObjectAttributes;
OldAcl,NewAcl: PACL;
SD: PSECURITY_DESCRIPTOR;
Access: EXPLICIT_ACCESS;
begin
RtlInitUnicodeString(@PhysMemString,DeviceName);
with attributes do
begin
Length := SizeOf(TObjectAttributes);
RootDirectory := 0;
Attributes := OBJ_CASE_INSENSITIVE or OBJ_KERNEL_HANDLE;
ObjectName := @PhysMemString;
SecurityDescriptor := nil;
SecurityQualityOfService := nil;;
end;
Result := NtOpenSection(@PhysMem,READ_CONTROL or WRITE_DAC or SECTION_MAP_READ,
@attributes) <> INVALID_HANDLE_VALUE;
if not Result then Exit;

__DeviceFlags := PD_DEVICEFLAG_READONLY;
if GetSecurityInfo(PhysMem,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,
nil,nil,@OldAcl,nil,SD) = ERROR_SUCCESS then
begin
Access.grfAccessPermissions := SECTION_MAP_WRITE;
Access.grfAccessMode := GRANT_ACCESS;
Access.grfInheritance := NO_INHERITANCE;
Access.Trustee.pMultipleTrustee := nil;
Access.Trustee.MultipleTrusteeOperation := NO_MULTIPLE_TRUSTEE;
Access.Trustee.TrusteeForm := TRUSTEE_IS_NAME;
Access.Trustee.TrusteeType := TRUSTEE_IS_USER;
Access.Trustee.ptstrName := "CURRENT_USER";
if SetEntriesInAcl(1,@Access,OldAcl,NewAcl) = ERROR_SUCCESS then
begin
if SetSecurityInfo(PhysMem,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,
nil,nil,@NewAcl,nil) = ERROR_SUCCESS then // вот здесь возвращаемое значение ERROR_INVALID_PARAMETER :(
begin
CloseHandle(PhysMem);
Result := NtOpenSection(@PhysMem,SECTION_MAP_WRITE,@attributes) <> INVALID_HANDLE_VALUE;
__DeviceFlags := 0;
end;
LocalFree(DWORD(NewAcl));
end;
LocalFree(DWORD(SD));
end;
if not Result then Exit;
...


На всякий случай:
Код выполняется в DLL с правами админа. Windows XP Pro SP1


 
McSimm   (2003-12-18 11:29) [1]


> Может кто-нибудь сказать, что здесь не так?


По коду не скажу - не знаю. Но вопрос надо задавать иначе.
Не понятно ни в чем проблема ни о чем речь.

Тема сообщения обязательна должна отражать суть вопроса. Иначе модераторы будут удалять ветки.


 
Kerk   (2003-12-18 11:33) [2]

McSimm © (18.12.03 11:29) [1]

> По коду не скажу - не знаю. Но вопрос надо задавать иначе.
> Не понятно ни в чем проблема ни о чем речь.

> Тема сообщения обязательна должна отражать суть вопроса. Иначе > модераторы будут удалять ветки.

Прошу меня извинить...

Уточню:
функция отмеченная комментарием возвращает ERROR_INVALID_PARAMETER, хотя должна возвращать ERROR_SUCCESS

Вопрос непосредственно касается WinAPI:
какой параметр неверен?


 
MBo   (2003-12-18 11:54) [3]

SetSecurityInfo(... @NewAcl,nil)
надо ли?


 
Kerk   (2003-12-18 12:04) [4]

MBo © (18.12.03 11:54) [3]
Благодарю!



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.013 c
3-25231
ToleaN
2003-12-11 10:51
2004.01.09
как вызвать диалог выбора DSN


3-25248
alienka
2003-12-10 09:24
2004.01.09
сумма в dbgrideh.footers


1-25438
Stas
2003-12-23 15:06
2004.01.09
Градиентаня заливка


1-25345
Ил_204
2003-12-22 10:21
2004.01.09
Проблема с остановкой потока


4-25671
Dido
2003-11-06 22:32
2004.01.09
Как создать обработчик события OnMouseClick у компонента Animate?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский