Aracılığıyla paylaş


CAtlTemporaryFile Sınıfı

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.

Ayrıca bkz.

Sınıfa Genel Bakış
CAtlFile Sınıfı