Aracılığıyla paylaş


CAtlFileMappingBase Sınıfı

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 .

Ayrıca bkz.

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