IJournalReader 인터페이스
파일 내용의 XML 버전이 포함된 스트림을 반환하는 Windows Journal 파일에 대한 읽기 권한을 제공합니다.
참고
저널 판독기 구성 요소는 Windows 7 이상을 실행하는 컴퓨터에서 만든 Windows 저널 파일을 읽을 수 없습니다. IJournalReader 인터페이스는 더 이상 사용되지 않거나 사용되지 않는 것으로 간주되어야 하며 사용하지 않아야 합니다.
멤버
IJournalReader 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IJournalReader 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IJournalReader 인터페이스에는 이러한 메서드가 있습니다.
메서드 | Description |
---|---|
ReadFromStream | 스트림을 Journal Note 파일로 가져와서 문서의 내용을 나타내는 XML 스트림을 반환합니다. |
설명
JournalReader 클래스를 사용하면 저널 문서 스트림을 로드하고 내용을 나타내는 XML 스트림을 받을 수 있습니다. 잉크를 재구성, 표시 및 조작할 수 있습니다.
예제
단추의 Click 이벤트에 대한 처리기의 다음 예제에서는 JournalReader 클래스의 instance 만들고 이를 사용하여 기존 저널 파일을 읽습니다.
참고
이 예제에서 호출된 DisplayXml 메서드는 표시되지 않습니다. 이러한 메서드의 특정 구현은 애플리케이션의 요구 사항에 따라 달라집니다.
void CJntlReaderMFCDlg::OnBnClickedButton1()
{
static TCHAR BASED_CODE szFilter[] =
_T("Journal files (*.jnt)|*.jnt|All files (*.*)|*.*");
CFileDialog* fileDialog = new CFileDialog(TRUE, _T("*.jnt"), NULL,
OFN_FILEMUSTEXIST, szFilter, this);
// Get the filename from the user via a File Open dialog
if (fileDialog != NULL &&
fileDialog->DoModal() == IDOK)
{
CString strFileName = fileDialog->GetPathName();
// Read a JNT file into a memory buffer
HANDLE hFile = CreateFile(strFileName,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
// Allocate memory to hold the file contents
DWORD dwFileSize = GetFileSize(hFile, NULL);
HGLOBAL hGlobal = GlobalAlloc(GHND, dwFileSize);
if (hGlobal != NULL)
{
LPBYTE pData = (LPBYTE)GlobalLock(hGlobal);
if (pData != NULL)
{
DWORD dwRead;
// Read the Journal file into the pData buffer
if (ReadFile(hFile, pData, dwFileSize, &dwRead, NULL) &&
(dwRead == dwFileSize))
{
HRESULT hr;
IStream* pJntStream;
// Create an IStream that points to the buffer
hr = CreateStreamOnHGlobal(hGlobal, FALSE, &pJntStream);
if (SUCCEEDED(hr))
{
IJournalReader* pJntReader;
// Create a JournalReader object
hr = CoCreateInstance(CLSID_JournalReader, NULL, CLSCTX_ALL,
IID_IJournalReader, (void**)&pJntReader);
if (SUCCEEDED(hr))
{
IStream* pXmlStream;
// Read in the JNT file via the JournalReader
hr = pJntReader->ReadFromStream(pJntStream, &pXmlStream);
if (SUCCEEDED(hr))
{
// Display results
DisplayXml(pXmlStream);
// Clean up
pXmlStream->Release();
}
pJntReader->Release();
}
pJntStream->Release();
}
}
GlobalUnlock(hGlobal);
}
GlobalFree(hGlobal);
}
CloseHandle(hFile);
}
delete fileDialog;
}
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당] |
지원되는 최소 서버 |
지원되는 버전 없음 |
헤더 |
|
DLL |
|