Освобождение памяти

Функция FreeASPI32Buffer

Функция FreeASPI32Buffer предназначена для освобождения памяти, выделенной с помощью функции GetASPI32Buffer. Ее необходимо вызывать всегда после того, как будет завершено использование буфера данных. Только эта функция корректно освободит используемую программой память при работе с интерфейсом ASPI. Определена функция FreeASPI32Buffer так:

BOOL FreeASPI32Buffer(PASPI32BUFF pab);

Единственным аргументом является указатель на структуру ASPI32BUFFБ:

typedef struct

{

LPBYTE AB_BufPointer;

DWORD AB_BufLen;

DWORD AB_ZeroFill;

DWORD AB_Reserved;

} ASPI32BUFF, *PASPI32BUFF;

Приведем подробное описание полей:

  • AB_BufPointer

    Сюда необходимо поместить указатель на буфер, выделенный с помощью функции GetASPi32Buffer. Указываемый адрес этого буфера должен точно соответствовать адресу выделенного буфера.

  • AB_BufLen

    Это поле должно содержать точный размер буфера в байтах, выделенного функцией GetASPI32Buffer.

Остальные поля структуры не используются. После завершения выполнения функция FreeASPI32Buffer вернет TRUE в случае успешного освобождения памяти или значение FALSE в случае ошибки. Ошибка может произойти, если неправильно указан размер буфера или его адрес.

Простой пример демонстрирует освобождение буфера размером 256 Кбайт, ранее выделенного функцией GetASPi32Buffer.

Листинг 4.1. Пример использования функции FreeASPI32Buffer на Visual C++

На языке Visual Basic код этого примера можно записать так.

Листинг 4.2. Пример использования функции FreeASPI32Buffer на Visual Basic

Этим примером можно завершить описание функции FreeASPI32Buffer и перейти к последней поддерживаемой интерфейсом ASPI функции.

 

 

2021-04-01

Google сообщил о запуске проекта Dunant

Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...

подробнее
2020-04-06

Новшества в обновленной Windows 10

Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...

подробнее

 

Все новости...

 

Научно-Техническое Объединение

Тел.: +7(4752) 55-95-86

E-mail:e-mail