Difference between revisions of "MemoryRecord.Allocate"
m (1 revision imported) |
|
(No difference)
| |
Latest revision as of 07:51, 7 February 2021
| Allocate (Работа с записями) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Функция отвязывает запись от ее текущей привязки, создает новый буфер с размером, совпадающим с размером записи и привязывает запись к новому буферу. Созданный буфер будет заполнен нулевыми байтами.
Синтаксис
MemoryRecord.Allocate():<Новый буфер записи (BUFFER)>
Возвращаемое значение
Возвращается новый объект буфера, созданного и привязанного к текущей записи
Примеры
//Системные записи, связанные с разрешениями
SE_PRIVILEGE_ENABLED:=2;
rLUID_AND_ATTRIBUTES:=MemoryRecord.Create("Luid:I64,Attributes:UI32");
rTOKEN_PRIVILEGES1:=MemoryRecord.Create("PrivilegeCount:UI32,Privileges:A1:@rLUID_AND_ATTRIBUTES");
rTOKEN_PRIVILEGES1.Allocate();
rTOKEN_PRIVILEGES1.PrivilegeCount:=1;
rTOKEN_PRIVILEGES1.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
rTOKEN_PRIVILEGES1.Privileges[0].Luid:=Luid;