Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Bu sınıf, geçici bir dosyanın oluşturulması ve kullanılması için yöntemler sağlar.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CAtlTemporaryFile
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlTemporaryFile::CAtlTemporaryFile | Oluşturucu. |
| CAtlTemporaryFile::~CAtlTemporaryFile | Yok edici. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlTemporaryFile::Close | Geçici bir dosyayı kapatmak ve içeriğini silmek veya belirtilen dosya adı altında depolamak için bu yöntemi çağırın. |
| CAtlTemporaryFile::Create | Geçici bir dosya oluşturmak için bu yöntemi çağır. |
| CAtlTemporaryFile::Flush | Dosya arabelleğinde kalan tüm verilerin geçici dosyaya yazılması için zorlamak için bu yöntemi çağırın. |
| CAtlTemporaryFile::GetPosition | Geçerli dosya işaretçisi konumunu almak için bu yöntemi çağırın. |
| CAtlTemporaryFile::GetSize | Geçici dosyanın bayt cinsinden boyutunu almak için bu yöntemi çağırın. |
| CAtlTemporaryFile::HandsOff | Dosyanın nesnesiyle ilişkilendirmesini kaldırmak için bu yöntemi çağırın CAtlTemporaryFile . |
| CAtlTemporaryFile::HandsOn | Var olan bir geçici dosyayı açmak ve işaretçiyi dosyanın sonuna konumlandırmak için bu yöntemi çağırın. |
| CAtlTemporaryFile::LockRange | Diğer işlemlerin dosyaya erişmesini önlemek için dosyadaki bir bölgeyi kilitlemek için bu yöntemi çağırın. |
| CAtlTemporaryFile::Read | Geçici dosyadan dosya işaretçisi tarafından belirtilen konumdan başlayarak verileri okumak için bu yöntemi çağırın. |
| CAtlTemporaryFile::Seek | Geçici dosyanın dosya işaretçisini taşımak için bu yöntemi çağırın. |
| CAtlTemporaryFile::SetSize | Geçici dosyanın boyutunu ayarlamak için bu yöntemi çağırın. |
| CAtlTemporaryFile::TempFileName | Geçici dosyanın adını döndürmek için bu yöntemi çağırın. |
| CAtlTemporaryFile::UnlockRange | Geçici dosyanın bir bölgesinin kilidini açmak için bu yöntemi çağırın. |
| CAtlTemporaryFile::Write | Geçici dosyaya dosya işaretçisi tarafından belirtilen konumdan başlayarak veri yazmak için bu yöntemi çağırın. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlTemporaryFile::operator HANDLE | Geçici dosyaya bir tanıtıcı döndürür. |
Açıklamalar
CAtlTemporaryFile geçici bir dosya oluşturmayı ve kullanmayı kolaylaştırır. Dosya otomatik olarak adlandırılır, açılır, kapatılır ve silinir. Dosya kapatıldıktan sonra dosya içeriği gerekliyse, belirtilen ada sahip yeni bir dosyaya kaydedilebilir.
Gereksinimler
Üst bilgi: atlfile.h
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.
CAtlTemporaryFile::CAtlTemporaryFile
Oluşturucu.
CAtlTemporaryFile() throw();
Açıklamalar
CAtlTemporaryFile::Create çağrısı yapılana kadar dosya aslında açılmaz.
Örnek
// Declare the temporary file object
CAtlTemporaryFile myTempFile;
// Create the temporary file, without caring where it
// will be created, but with both read and write access.
ATLVERIFY (myTempFile.Create(NULL, GENERIC_READ|GENERIC_WRITE) == S_OK);
// Create some data to write to the file
int nBuffer[100];
DWORD bytes_written = 0, bytes_read = 0;
int i;
for (i = 0; i < 100; i++)
nBuffer[i] = i;
// Write some data to the file
myTempFile.Write(&nBuffer, sizeof(nBuffer), &bytes_written);
// Confirm it was written ok
ATLASSERT(bytes_written == sizeof(nBuffer));
// Flush the data to disk
ATLVERIFY(myTempFile.Flush() == S_OK);
// Reset the file pointer to the beginning of the file
ATLVERIFY(myTempFile.Seek(0, FILE_BEGIN) == S_OK);
// Read in the data
myTempFile.Read(&nBuffer, sizeof(nBuffer), bytes_read);
// Confirm it was read ok
ATLASSERT(bytes_read == sizeof(nBuffer));
// Close the file, making a copy of it at another location
ATLVERIFY(myTempFile.Close(_T("c:\\temp\\mydata.tmp")) == S_OK);
CAtlTemporaryFile::~CAtlTemporaryFile
Yok edici.
~CAtlTemporaryFile() throw();
Açıklamalar
Yıkıcı CAtlTemporaryFile::Close öğesini çağırır.
CAtlTemporaryFile::Close
Geçici bir dosyayı kapatmak ve içeriğini silmek veya belirtilen dosya adı altında depolamak için bu yöntemi çağırın.
HRESULT Close(LPCTSTR szNewName = NULL) throw();
Parametreler
szNewName
Geçici dosyanın içeriğini depolamak için yeni dosyanın adı. Bu bağımsız değişken NULL ise, geçici dosyanın içeriği silinir.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.
CAtlTemporaryFile::Create
Geçici bir dosya oluşturmak için bu yöntemi çağır.
HRESULT Create(LPCTSTR pszDir = NULL, DWORD dwDesiredAccess = GENERIC_WRITE) throw();
Parametreler
pszDir
Geçici dosyanın yolu. Bu NULL ise, yol atamak için GetTempPath çağrılır.
dwDesiredAccess
İstenen erişim. Bkz. Windows SDK'sında CreateFile'da dwDesiredAccess.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.
CAtlTemporaryFile::Flush
Dosya arabelleğinde kalan tüm verilerin geçici dosyaya yazılması için zorlamak için bu yöntemi çağırın.
HRESULT Flush() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlTemporaryFile::HandsOff'a benzer, ancak dosya kapatılmaz.
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.
CAtlTemporaryFile::GetPosition
Geçerli dosya işaretçisi konumunu almak için bu yöntemi çağırın.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Parametreler
nPos
Bayt cinsinden konum.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosya işaretçisinin konumunu değiştirmek için CAtlTemporaryFile::Seek kullanın.
CAtlTemporaryFile::GetSize
Geçici dosyanın bayt cinsinden boyutunu almak için bu yöntemi çağırın.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Parametreler
nLen
Dosyadaki bayt sayısı.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
CAtlTemporaryFile::HandsOff
Dosyanın nesnesiyle ilişkilendirmesini kaldırmak için bu yöntemi çağırın CAtlTemporaryFile .
HRESULT HandsOff() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
HandsOff ve CAtlTemporaryFile::HandsOn , dosyanın nesneyle ilişkilendirmesini kaldırmak ve gerekirse yeniden eklemek için kullanılır.
HandsOff , dosya arabelleğinde kalan tüm verileri geçici dosyaya yazılması için zorlar ve ardından dosyayı kapatır. Dosyayı kalıcı olarak kapatmak ve silmek veya belirli bir adla dosyanın içeriğini kapatıp korumak istiyorsanız, CAtlTemporaryFile::Close kullanın.
CAtlTemporaryFile::HandsOn
Var olan bir geçici dosyayı açmak ve işaretçiyi dosyanın sonuna konumlandırmak için bu yöntemi çağırın.
HRESULT HandsOn() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlTemporaryFile::HandsOff ve HandsOn dosyanın nesneyle ilişkilendirmesini kaldırmak ve gerekirse yeniden eklemek için kullanılır.
CAtlTemporaryFile::LockRange
Diğer işlemlerin erişmesini önlemek için geçici dosyadaki bir bölgeyi kilitlemek için bu yöntemi çağırın.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parametreler
nPos
Dosyada kilidin başlaması gereken konum.
nCount
Kilitlenecek bayt aralığının uzunluğu.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Bir dosyadaki baytların kilitlenmesi, diğer işlemler tarafından bu baytlara erişimi engeller. Dosyanın birden fazla bölgesini kilitleyebilirsiniz, ancak çakışan bölgelere izin verilmez. Bir bölgenin kilidini başarıyla açmak için CAtlTemporaryFile::UnlockRange kullanın; bayt aralığının daha önce kilitlenmiş olan bölgeye tam olarak karşılık geldiğini doğrulayın.
LockRange bitişik bölgeleri birleştirmez; iki kilitli bölge bitişikse, her birinin kilidini ayrı ayrı açmanız gerekir.
CAtlTemporaryFile::operator HANDLE
Geçici dosyaya bir tanıtıcı döndürür.
operator HANDLE() throw();
CAtlTemporaryFile::Read
Geçici dosyadan dosya işaretçisi tarafından belirtilen konumdan başlayarak verileri okumak için bu yöntemi çağırın.
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
DWORD& nBytesRead) throw();
Parametreler
pBuffer
Dosyadan okunan verileri alacak arabelleğe işaretçi.
nBufSize
Bayt cinsinden arabellek boyutu.
nBytesRead
Okunan bayt sayısı.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlFile::Read'i çağırır. Dosya işaretçisinin konumunu değiştirmek için CAtlTemporaryFile::Seek'ı çağırın.
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.
CAtlTemporaryFile::Seek
Geçici dosyanın dosya işaretçisini taşımak için bu yöntemi çağırın.
HRESULT Seek(LONGLONG nOffset, DWORD dwFrom = FILE_CURRENT) throw();
Parametreler
nOffset
dwFrom tarafından verilen başlangıç noktasından bayt cinsinden uzaklık.
dwFrom
Başlangıç noktası (FILE_BEGIN, FILE_CURRENT veya FILE_END).
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlFile::Seek'i çağırır. Geçerli dosya işaretçisi konumunu almak için CAtlTemporaryFile::GetPosition öğesini çağırın.
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.
CAtlTemporaryFile::SetSize
Geçici dosyanın boyutunu ayarlamak için bu yöntemi çağırın.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Parametreler
nYeniLen
Dosyanın bayt cinsinden yeni uzunluğu.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlFile::SetSize'i çağırır. Sonuç olarak, dosya işaretçisi dosyanın sonuna konumlandırılır.
CAtlTemporaryFile::TempFileName
Geçici dosyanın adını döndürmek için bu yöntemi çağırın.
LPCTSTR TempFileName() throw();
Dönüş Değeri
Dosya adına işaret eden LPCTSTR döndürür.
Açıklamalar
Dosya adı CAtlTemporaryFile::CAtlTemporaryFile içinde GetTempFile Windows SDK işlevine bir çağrıyla oluşturulur. Dosya uzantısı, geçici dosya için her zaman "TFR" olur.
CAtlTemporaryFile::UnlockRange
Geçici dosyanın bir bölgesinin kilidini açmak için bu yöntemi çağırın.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parametreler
nPos
Dosyada kilit açma işleminin başlaması gereken konum.
nCount
Kilidi açılacak bayt aralığının uzunluğu.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlFile::UnlockRange'i çağırır.
CAtlTemporaryFile::Write
Geçici dosyaya dosya işaretçisi tarafından belirtilen konumdan başlayarak veri yazmak için bu yöntemi çağırın.
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
DWORD* pnBytesWritten = NULL) throw();
Parametreler
pBuffer
Dosyaya yazılacak verileri içeren arabellek.
nBufSize
Arabellekten aktarılacak bayt sayısı.
pnBytesWritten
Yazılan bayt sayısı.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
CAtlFile::Write'i çağırır.
Örnek
CAtlTemporaryFile::CAtlTemporaryFile örneğine bakın.