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.
Bu sınıf, belleğe eşlenmiş bir dosyayı temsil eder.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CAtlFileMappingBase
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlFileMappingBase::CAtlFileMappingBase | Oluşturucu. |
| CAtlFileMappingBase::~CAtlFileMappingBase | Yok edici. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlFileMappingBase::CopyFrom | Dosya eşleme nesnesinden kopyalamak için bu yöntemi çağır. |
| CAtlFileMappingBase::GetData | Bir dosya eşleme nesnesinden veri almak için bu yöntemi çağırın. |
| CAtlFileMappingBase::GetHandle | Dosya tanıtıcısını döndürmek için bu yöntemi çağırın. |
| CAtlFileMappingBase::GetMappingSize | Bir dosya eşleme nesnesinden eşleme boyutunu almak için bu yöntemi çağırın. |
| CAtlFileMappingBase::MapFile | Dosya eşleme nesnesi oluşturmak için bu yöntemi çağır. |
| CAtlFileMappingBase::MapSharedMem | Tüm işlemlere tam erişime izin veren bir dosya eşleme nesnesi oluşturmak için bu yöntemi çağır. |
| CAtlFileMappingBase::OpenMapping | Dosya eşleme nesnesine bir tanıtıcı döndürmek için bu yöntemi çağırın. |
| CAtlFileMappingBase::Unmap | Dosya eşleme nesnesinin eşlemesini silmek için bu yöntemi çağır. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlFileMappingBase::operator = | Geçerli dosya eşleme nesnesini başka bir dosya eşleme nesnesine ayarlar. |
Açıklamalar
Dosya eşleme, bir dosyanın içeriğinin işlemin sanal adres alanının bir bölümüyle ilişkisidir. Bu sınıf, programların verilere kolayca erişmesine ve verileri paylaşmasına izin veren dosya eşleme nesneleri oluşturmaya yönelik yöntemler sağlar.
Daha fazla bilgi için bkz . Windows SDK'sında Dosya Eşleme .
Gereksinimler
Üst bilgi: atlfile.h
CAtlFileMappingBase::CAtlFileMappingBase
Oluşturucu.
CAtlFileMappingBase(CAtlFileMappingBase& orig);
CAtlFileMappingBase() throw();
Parametreler
orig
Yeni nesneyi oluşturmak için kopyalanacak özgün dosya eşleme nesnesi.
Açıklamalar
İsteğe bağlı olarak mevcut bir nesneyi kullanarak yeni bir dosya eşleme nesnesi oluşturur. Belirli bir dosya için dosya eşleme nesnesini açmak veya oluşturmak için CAtlFileMappingBase::MapFile çağrısı yapmak yine de gereklidir.
Örnek
int OpenMyFileMap()
{
// Create the file-mapping object.
CAtlFileMappingBase myFileMap;
// Create a file.
CAtlFile myFile;
myFile.Create(_T("myMapTestFile"),
GENERIC_READ|GENERIC_WRITE|STANDARD_RIGHTS_ALL,
FILE_SHARE_READ|FILE_SHARE_WRITE,
OPEN_ALWAYS);
// The file handle.
HANDLE hFile = (HANDLE)myFile;
// Test the file has opened successfully.
ATLASSERT(hFile != INVALID_HANDLE_VALUE);
// Open the file for file-mapping.
// Must give a size as the file is zero by default.
if (myFileMap.MapFile(hFile,
1024,
0,
PAGE_READWRITE,
FILE_MAP_READ) != S_OK)
{
CloseHandle(hFile);
return 0;
}
// Confirm the size of the mapping file.
ATLASSERT(myFileMap.GetMappingSize() == 1024);
// Now the file-mapping object is open, a second
// process could access the filemap object to exchange
// data.
return 0;
}
CAtlFileMappingBase::~CAtlFileMappingBase
Yok edici.
~CAtlFileMappingBase() throw();
Açıklamalar
sınıfı tarafından ayrılan tüm kaynakları boşaltıp CAtlFileMappingBase::Unmap yöntemini çağırır.
CAtlFileMappingBase::CopyFrom
Dosya eşleme nesnesinden kopyalamak için bu yöntemi çağır.
HRESULT CopyFrom(CAtlFileMappingBase& orig) throw();
Parametreler
orig
Kopyalanacak özgün dosya eşleme nesnesi.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
CAtlFileMappingBase::GetData
Bir dosya eşleme nesnesinden veri almak için bu yöntemi çağırın.
void* GetData() const throw();
Dönüş Değeri
Verilere bir işaretçi döndürür.
CAtlFileMappingBase::GetHandle
Dosya eşleme nesnesine bir tanıtıcı döndürmek için bu yöntemi çağırın.
HANDLE GetHandle() throw ();
Dönüş Değeri
Dosya eşleme nesnesine bir tanıtıcı döndürür.
CAtlFileMappingBase::GetMappingSize
Bir dosya eşleme nesnesinden eşleme boyutunu almak için bu yöntemi çağırın.
SIZE_T GetMappingSize() throw();
Dönüş Değeri
Eşleme boyutunu döndürür.
Örnek
CAtlFileMappingBase::CAtlFileMappingBase örneğine bakın.
CAtlFileMappingBase::MapFile
Belirtilen dosya için bir dosya eşleme nesnesi açmak veya oluşturmak için bu yöntemi çağırın.
HRESULT MapFile(
HANDLE hFile,
SIZE_T nMappingSize = 0,
ULONGLONG nOffset = 0,
DWORD dwMappingProtection = PAGE_READONLY,
DWORD dwViewDesiredAccess = FILE_MAP_READ) throw();
Parametreler
hFile
Eşleme nesnesinin oluşturulacağı dosyaya ilişkin tanıtıcı. hFile geçerli olmalıdır ve INVALID_HANDLE_VALUE olarak ayarlanamaz.
nMappingSize
Eşleme boyutu. 0 ise, dosya eşleme nesnesinin en büyük boyutu, hFile tarafından tanımlanan dosyanın geçerli boyutuna eşittir.
nOffset
Eşlemenin başlayacağı dosya uzaklığı. Uzaklık değeri, sistemin bellek ayırma ayrıntı düzeyinin bir katı olmalıdır.
dwMappingProtection
Dosya eşlendiğinde dosya görünümü için istenen koruma. Bkz. Windows SDK'sında CreateFileMapping'de flProtect.
dwViewDesiredAccess
Dosya görünümüne erişimin türünü ve bu nedenle dosyayla eşlenen sayfaların korumasını belirtir. Bkz. Windows SDK'sında MapViewOfFileEx'te dwDesiredAccess.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosya eşleme nesnesi oluşturulduktan sonra, dosyanın boyutu dosya eşleme nesnesinin boyutunu aşmamalıdır; varsa, dosyanın içeriğinin tümü paylaşılamaz. Diğer ayrıntılar için bkz . Windows SDK'sında CreateFileMapping ve MapViewOfFileEx .
Örnek
CAtlFileMappingBase::CAtlFileMappingBase örneğine bakın.
CAtlFileMappingBase::MapSharedMem
Tüm işlemlere tam erişime izin veren bir dosya eşleme nesnesi oluşturmak için bu yöntemi çağır.
HRESULT MapSharedMem(
SIZE_T nMappingSize,
LPCTSTR szName,
BOOL* pbAlreadyExisted = NULL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
DWORD dwMappingProtection = PAGE_READWRITE,
DWORD dwViewDesiredAccess = FILE_MAP_ALL_ACCESS) throw();
Parametreler
nMappingSize
Eşleme boyutu. 0 ise, dosya eşleme nesnesinin en büyük boyutu, szName ile tanımlanan dosya eşleme nesnesinin geçerli boyutuna eşittir.
szName
Eşleme nesnesinin adı.
pbAlreadyExisted
Eşleme nesnesi zaten varsa TRUE olarak ayarlanmış bir BOOL değerini gösterir.
lpsa
Döndürülen tanıtıcının alt işlemler tarafından devralınıp devralınamayacağını belirleyen bir SECURITY_ATTRIBUTES yapı işaretçisi. Bkz. Windows SDK'sında CreateFileMapping içindeki lpAttributes.
dwMappingProtection
Dosya eşlendiğinde dosya görünümü için istenen koruma. Bkz. Windows SDK'sında CreateFileMapping flProtect.
dwViewDesiredAccess
Dosya görünümüne erişimin türünü ve bu nedenle dosyayla eşlenen sayfaların korumasını belirtir. Bkz. Windows SDK'sında MapViewOfFileEx'te dwDesiredAccess.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
MapShareMem, CreateFileMapping tarafından oluşturulan mevcut bir dosya eşleme nesnesinin işlemler arasında paylaşılmasına izin verir.
CAtlFileMappingBase::OpenMapping
Belirtilen dosya için adlandırılmış bir dosya eşleme nesnesi açmak için bu yöntemi çağırın.
HRESULT OpenMapping(
LPCTSTR szName,
SIZE_T nMappingSize,
ULONGLONG nOffset = 0,
DWORD dwViewDesiredAccess = FILE_MAP_ALL_ACCESS) throw();
Parametreler
szName
Eşleme nesnesinin adı. Dosya eşleme nesnesine bu ada göre açık bir tanıtıcı varsa ve eşleme nesnesinde güvenlik tanımlayıcısı dwViewDesiredAccess parametresiyle çakışmazsa, açma işlemi başarılı olur.
nMappingSize
Eşleme boyutu. 0 ise, dosya eşleme nesnesinin en büyük boyutu, szName ile tanımlanan dosya eşleme nesnesinin geçerli boyutuna eşittir.
nOffset
Eşlemenin başlayacağı dosya uzaklığı. Uzaklık değeri, sistemin bellek ayırma ayrıntı düzeyinin bir katı olmalıdır.
dwViewDesiredAccess
Dosya görünümüne erişimin türünü ve bu nedenle dosyayla eşlenen sayfaların korumasını belirtir. Bkz. Windows SDK'sında MapViewOfFileEx'te dwDesiredAccess.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Hata ayıklama derlemelerinde, giriş parametreleri geçersizse onay hatası oluşur.
CAtlFileMappingBase::operator =
Geçerli dosya eşleme nesnesini başka bir dosya eşleme nesnesine ayarlar.
CAtlFileMappingBase& operator=(CAtlFileMappingBase& orig);
Parametreler
orig
Geçerli dosya eşleme nesnesi.
Dönüş Değeri
Geçerli nesneye bir başvuru döndürür.
CAtlFileMappingBase::Unmap
Dosya eşleme nesnesinin eşlemesini silmek için bu yöntemi çağır.
HRESULT Unmap() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Diğer ayrıntılar için bkz . Windows SDK'sında UnmapViewOfFile .