Каждый элемент в хранилище можно переименовать с помощью функции:
HRESULT RenameElement ( const WCHAR *pwcsOldName, //указатель на переименовываемый элемент const WCHAR *pwcsNewName //указатель на новое имя );
Результатов может быть много неудачных. А удачный один - S_OK. Пример:
#include "stdafx.h" #include "windows.h" #include "ole2.h" #include "iostream.h" int main(int argc, char* argv[]) { OLECHAR filename[20]; wcscpy(filename,L"test.stg"); LPSTORAGE pIStorage=NULL; HRESULT rez; rez=StgOpenStorage(filename,NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE ,NULL,0,&pIStorage); if (!FAILED(rez)) { HRESULT hresult = pIStorage->RenameElement(L"MyFolder",L"NewFolder"); pIStorage->Release(); } else cout << "Error open" << endl; return 0; }
Смотрим в DocFile View: