Шаг 59 - Корневое хранилище - создание

Корневое хранилище можно воспринимать как файл, в котором хранятся других хранилища. Корневое хранилище по английски Root Storage. Для его создания используется функция StgCreateDocfile().

WINOLEAPI StgCreateDocfile
(
	const OLECHAR FAR* pwcsName, 	// имя файла
	DWORD grfMode, 			// Константы доступа корневого хранилища
	DWORD reserved,			// зарезервированно
	IStorage FAR * FAR *ppstgOpen 	// указатель на получаемый интерфейс
);

Давайте создадим:

// TestDtg.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "ole2.h"
#include "iostream.h"

int main(int argc, char* argv[])
{
	LPSTORAGE temp=NULL;
	OLECHAR filename[20];
	wcscpy(filename,L"test.stg");
	HRESULT hr=StgCreateDocfile(filename, STGM_CREATE | STGM_WRITE |
		 STGM_SHARE_EXCLUSIVE,0,&temp);
	if (!FAILED(hr))
	{
		cout << "Ok create" << endl;
	}
	else cout << "Error create" << endl;
	return 0;
}

В результате у нас в рабочем каталоге будет файл. Давайте посмотрим на него в блокноте.

59_1.gif (2494 b)

Как видите в нем уже есть информация. Если сравните его с созданием текстового файла, то увидите, что в данном случае все сложнее. В файл уже записана информация для инициализации.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 1.03.2001