NT4/private/ole32/stg/docfile/tests/open.cxx
2020-09-30 17:12:29 +02:00

83 lines
1.8 KiB
C++

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1993.
//
// File: open.cxx
//
// Contents: Basic StgOpenStorage scaffold
//
// History: 09-Sep-93 DrewB Created
//
//----------------------------------------------------------------------------
#include "pch.cxx"
#pragma hdrstop
#define NOPENS 1
#define BUFFER 1024
void _CRTAPI1 main(int argc, char *argv[])
{
IStorage *pstg[NOPENS];
HRESULT hr;
int i;
BOOL fName = FALSE;
TCHAR atcPath[_MAX_PATH];
IStream *pstm;
ULONG cbRead;
BYTE bytes[BUFFER];
LARGE_INTEGER li;
SetHandleCount(128);
StartTest("open");
CmdArgs(argc, argv);
for (i = 1; i < argc; i++)
if (*argv[i] != '-')
{
ATOT(argv[i], atcPath, _MAX_PATH);
fName = TRUE;
}
if (!fName)
Fail("No filename specified\n");
/*
hr = StgIsStorageFile(atcPath);
Result(hr, "StgIsStorageFile");
*/
hr = StgOpenStorage(atcPath, NULL, ROOTP(STGM_RW),
NULL, 0, &pstg[0]);
Result(hr, "Open storage");
pstg[0]->Release();
hr = StgOpenStorage(atcPath, NULL, ROOTP(STGM_RW),
NULL, 0, &pstg[0]);
Result(hr, "Open storage");
pstg[0]->Release();
EndTest(0);
hr = pstg[0]->OpenStream(TTEXT("WordDocument"), 0, STMP(STGM_RW), 0,
&pstm);
Result(hr, "Open stream");
li.HighPart = 0;
li.LowPart = 0;
pstm->Seek(li, STREAM_SEEK_SET, NULL);
for (;;)
{
hr = pstm->Read(bytes, BUFFER, &cbRead);
Result(hr, "Read");
if (cbRead == 0)
break;
}
pstm->Release();
for (i = 0; i < NOPENS; i++)
pstg[i]->Release();
EndTest(0);
}