Функция CoTaskMemFree

Declare Sub CoTaskMemFree Lib "ole32" (ByVal pv As Long)

CoTaskMemFree освобождает определенные типы задействованной памяти. Процедура может освобождать ресурсы памяти, связанной с указателем на структуру ITEMIDLIST (PIDL)

Возвращаемое значение

Процедура CoTaskMemFree не возвращает значений

Параметры

pv
Указатель на блок памяти

Пример

' Откроем диалоговое окно
' Обзор папок и покажем имя выбранной папки
Dim iNull As Integer
Dim lpIDList As Long, lResult As Long
Dim sPath As String, udtBI As BrowseInfo

  With udtBI
 ' Окно владельца
   .hWndOwner = Me.hWnd
 ' lstrcat связывает две строки
   ' и возвращает адрес в памяти
   .lpszTitle = lstrcat("C:\", "")
   .ulFlags = BIF_RETURNONLYFSDIRS
  End With
' Показываем диалоговое окно
lpIDList = SHBrowseForFolder(udtBI)
 If lpIDList Then
  sPath = String$(MAX_PATH, 0)
' Получаем путь из IDList
  SHGetPathFromIDList lpIDList, sPath
' Освобождаем память
  CoTaskMemFree lpIDList
  iNull = InStr(sPath, vbNullChar)
    If iNull Then
      sPath = Left$(sPath, iNull - 1)
    End If
 End If
MsgBox sPath

Категория

OLE