Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze klasse vertegenwoordigt een geheugentoewijzingsbestand.
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class CAtlFileMappingBase
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CAtlFileMappingBase::CAtlFileMappingBase | De constructor. |
| CAtlFileMappingBase::~CAtlFileMappingBase | De destructor. |
Openbare methoden
| Naam | Description |
|---|---|
| CAtlFileMappingBase::CopyFrom | Roep deze methode aan om te kopiëren vanuit een object voor bestandstoewijzing. |
| CAtlFileMappingBase::GetData | Roep deze methode aan om de gegevens op te halen uit een object voor bestandstoewijzing. |
| CAtlFileMappingBase::GetHandle | Roep deze methode aan om de bestandsingang te retourneren. |
| CAtlFileMappingBase::GetMappingSize | Roep deze methode aan om de toewijzingsgrootte op te halen uit een bestandstoewijzingsobject. |
| CAtlFileMappingBase::MapFile | Roep deze methode aan om een object voor bestandstoewijzing te maken. |
| CAtlFileMappingBase::MapSharedMem | Roep deze methode aan om een object voor bestandstoewijzing te maken dat volledige toegang tot alle processen toestaat. |
| CAtlFileMappingBase::OpenMapping | Roep deze methode aan om een ingang te retourneren aan het object voor bestandstoewijzing. |
| CAtlFileMappingBase::Unmap | Roep deze methode aan om de toewijzing van een object voor bestandstoewijzing ongedaan te maken. |
Openbare operators
| Naam | Description |
|---|---|
| CAtlFileMappingBase::operator = | Hiermee stelt u het huidige object voor bestandstoewijzing in op een ander object voor bestandstoewijzing. |
Opmerkingen
Bestandstoewijzing is de koppeling van de inhoud van een bestand met een deel van de virtuele adresruimte van een proces. Deze klasse biedt methoden voor het maken van bestandstoewijzingsobjecten waarmee programma's eenvoudig gegevens kunnen openen en delen.
Zie Bestandstoewijzing in de Windows SDK voor meer informatie.
Requirements
Header: atlfile.h
CAtlFileMappingBase::CAtlFileMappingBase
De constructor.
CAtlFileMappingBase(CAtlFileMappingBase& orig);
CAtlFileMappingBase() throw();
Parameterwaarden
Orig
Het oorspronkelijke object voor bestandstoewijzing dat moet worden gekopieerd om het nieuwe object te maken.
Opmerkingen
Hiermee maakt u een nieuw object voor bestandstoewijzing, optioneel met behulp van een bestaand object. Het is nog steeds nodig om CAtlFileMappingBase::MapFile aan te roepen om het object voor bestandstoewijzing voor een bepaald bestand te openen of te maken.
Example
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
De destructor.
~CAtlFileMappingBase() throw();
Opmerkingen
Hiermee worden alle resources vrijgemaakt die door de klasse zijn toegewezen en worden de CAtlFileMappingBase::Unmap-methode aangeroepen.
CAtlFileMappingBase::CopyFrom
Roep deze methode aan om te kopiëren vanuit een object voor bestandstoewijzing.
HRESULT CopyFrom(CAtlFileMappingBase& orig) throw();
Parameterwaarden
Orig
Het oorspronkelijke object voor bestandstoewijzing waaruit moet worden gekopieerd.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
CAtlFileMappingBase::GetData
Roep deze methode aan om de gegevens op te halen uit een object voor bestandstoewijzing.
void* GetData() const throw();
Retourwaarde
Retourneert een aanwijzer naar de gegevens.
CAtlFileMappingBase::GetHandle
Roep deze methode aan om een ingang te retourneren aan het object voor bestandstoewijzing.
HANDLE GetHandle() throw ();
Retourwaarde
Retourneert een ingang naar het object voor bestandstoewijzing.
CAtlFileMappingBase::GetMappingSize
Roep deze methode aan om de toewijzingsgrootte op te halen uit een bestandstoewijzingsobject.
SIZE_T GetMappingSize() throw();
Retourwaarde
Retourneert de toewijzingsgrootte.
Example
Zie het voorbeeld voor CAtlFileMappingBase::CAtlFileMappingBase.
CAtlFileMappingBase::MapFile
Roep deze methode aan om een bestandtoewijzingsobject voor het opgegeven bestand te openen of te maken.
HRESULT MapFile(
HANDLE hFile,
SIZE_T nMappingSize = 0,
ULONGLONG nOffset = 0,
DWORD dwMappingProtection = PAGE_READONLY,
DWORD dwViewDesiredAccess = FILE_MAP_READ) throw();
Parameterwaarden
hFile
Greep naar het bestand van waaruit een toewijzingsobject moet worden gemaakt.
hFile moet geldig zijn en kan niet worden ingesteld op INVALID_HANDLE_VALUE.
nMappingSize
De toewijzingsgrootte. Als 0, is de maximale grootte van het object voor bestandstoewijzing gelijk aan de huidige grootte van het bestand dat is geïdentificeerd door hFile.
nOffset
De bestandsverschil waar de toewijzing moet beginnen. De offsetwaarde moet een veelvoud van de granulariteit van de geheugentoewijzing van het systeem zijn.
dwMappingProtection
De gewenste beveiliging voor de bestandsweergave wanneer het bestand is toegewezen. Zie flProtect in CreateFileMapping in de Windows SDK.
dwViewDesiredAccess
Hiermee geeft u het type toegang tot de bestandsweergave en daarom de beveiliging van de pagina's die door het bestand zijn toegewezen. Zie dwDesiredAccess in MapViewOfFileEx in de Windows SDK.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Nadat een bestandstoewijzingsobject is gemaakt, mag de grootte van het bestand niet groter zijn dan de grootte van het object voor bestandstoewijzing; Als dit het geval is, is niet alle inhoud van het bestand beschikbaar voor delen. Zie CreateFileMapping en MapViewOfFileEx in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CAtlFileMappingBase::CAtlFileMappingBase.
CAtlFileMappingBase::MapSharedMem
Roep deze methode aan om een object voor bestandstoewijzing te maken dat volledige toegang tot alle processen toestaat.
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();
Parameterwaarden
nMappingSize
De toewijzingsgrootte. Als 0, is de maximale grootte van het object voor bestandstoewijzing gelijk aan de huidige grootte van het object voor bestandstoewijzing dat wordt geïdentificeerd door szName.
szName
De naam van het toewijzingsobject.
pbAlreadyExisted
Verwijst naar een BOOL-waarde die is ingesteld op TRUE als het toewijzingsobject al bestaat.
lpsa
De aanwijzer naar een SECURITY_ATTRIBUTES structuur die bepaalt of de geretourneerde ingang kan worden overgenomen door onderliggende processen. Zie lpAttributes in CreateFileMapping in de Windows SDK.
dwMappingProtection
De gewenste beveiliging voor de bestandsweergave wanneer het bestand is toegewezen. Zie flProtect in CreateFileMapping de Windows SDK.
dwViewDesiredAccess
Hiermee geeft u het type toegang tot de bestandsweergave en daarom de beveiliging van de pagina's die door het bestand zijn toegewezen. Zie dwDesiredAccess in MapViewOfFileEx in de Windows SDK.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
MapShareMem hiermee kan een bestaand object voor bestandstoewijzing, gemaakt door CreateFileMapping, worden gedeeld tussen processen.
CAtlFileMappingBase::OpenMapping
Roep deze methode aan om een benoemd object voor bestandstoewijzing voor het opgegeven bestand te openen.
HRESULT OpenMapping(
LPCTSTR szName,
SIZE_T nMappingSize,
ULONGLONG nOffset = 0,
DWORD dwViewDesiredAccess = FILE_MAP_ALL_ACCESS) throw();
Parameterwaarden
szName
De naam van het toewijzingsobject. Als er een open ingang is voor een object voor bestandstoewijzing op deze naam en de beveiligingsdescriptor voor het toewijzingsobject niet conflicteert met de parameter dwViewDesiredAccess , slaagt de open bewerking.
nMappingSize
De toewijzingsgrootte. Als 0, is de maximale grootte van het object voor bestandstoewijzing gelijk aan de huidige grootte van het object voor bestandstoewijzing dat wordt geïdentificeerd door szName.
nOffset
De bestandsverschil waar de toewijzing moet beginnen. De offsetwaarde moet een veelvoud van de granulariteit van de geheugentoewijzing van het systeem zijn.
dwViewDesiredAccess
Hiermee geeft u het type toegang tot de bestandsweergave en daarom de beveiliging van de pagina's die door het bestand zijn toegewezen. Zie dwDesiredAccess in MapViewOfFileEx in de Windows SDK.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
In builds voor foutopsporing treedt er een assertiefout op als de invoerparameters ongeldig zijn.
CAtlFileMappingBase::operator =
Hiermee stelt u het huidige object voor bestandstoewijzing in op een ander object voor bestandstoewijzing.
CAtlFileMappingBase& operator=(CAtlFileMappingBase& orig);
Parameterwaarden
Orig
Het huidige object voor bestandstoewijzing.
Retourwaarde
Retourneert een verwijzing naar het huidige object.
CAtlFileMappingBase::Unmap
Roep deze methode aan om de toewijzing van een object voor bestandstoewijzing ongedaan te maken.
HRESULT Unmap() throw();
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Zie UnmapViewOfFile in de Windows SDK voor meer informatie.