Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menyediakan akses baca ke file Jurnal Windows, mengembalikan aliran yang berisi versi XML konten file.
Catatan
Komponen Pembaca Jurnal tidak dapat membaca file Windows Journal yang dibuat oleh komputer yang menjalankan Windows 7 atau yang lebih baru. Antarmuka IJournalReader harus dianggap tidak digunakan lagi atau usang dan tidak boleh digunakan.
Anggota
Antarmuka IJournalReader mewarisi dari antarmuka IUnknown . IJournalReader juga memiliki jenis anggota berikut:
Metode
Antarmuka IJournalReader memiliki metode ini.
| Metode | Deskripsi |
|---|---|
| ReadFromStream | Mengambil aliran ke file Catatan Jurnal dan mengembalikan aliran XML yang mewakili konten dokumen. |
Keterangan
Kelas JournalReader memungkinkan Anda memuat aliran dokumen Jurnal dan menerima aliran XML yang mewakili konten. Anda dapat menyusun ulang, menampilkan, dan memanipulasi tinta.
Contoh
Contoh handler berikut untuk peristiwa Klik tombol membuat instans kelas JournalReader dan menggunakannya untuk membaca file Jurnal yang ada.
Catatan
Metode DisplayXml yang dipanggil dari contoh ini tidak ditampilkan. Implementasi spesifik dari metode tersebut tergantung pada kebutuhan aplikasi Anda.
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;
}
}
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung |
Windows XP Tablet PC Edition [hanya aplikasi desktop] |
| Server minimum yang didukung |
Tidak ada yang didukung |
| Header |
|
| DLL |
|