Compartilhar via


MapViewOfFile

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função mapeia uma exibição de um arquivo para o espaço de endereço da processo de chamada.

Syntax

LPVOID MapViewOfFile(
  HANDLE hFileMappingObject,
  DWORD dwDesiredAccess,
  DWORD dwFileOffsetHigh,
  DWORD dwFileOffsetLow,
  DWORD dwNumberOfBytesToMap
);

Parameters

  • hFileMappingObject
    [no] Identificador para um aberto identificador de um arquivo-objeto mapeamento retornado pela função a CreateFileMapping.
  • dwDesiredAccess
    [no] Tipo de acessar a exibição arquivo e, portanto, a proteção das páginas mapeadas pelo arquivo.

    A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    FILE_MAP_ALL_ACCESS

    Especifica ler-acesso de gravação. O hFileMappingObject parâmetro deve ter sido criado com a proteção PAGE_READWRITE. Uma exibição Read-Write do arquivo é mapeada.

    FILE_MAP_READ

    Especifica acessar READ-ONLY. O hFileMappingObject parâmetro deve ter sido criado com a proteção PAGE_READWRITE ou PAGE_READONLY. Uma exibição Read-only do arquivo é mapeada.

    FILE_MAP_WRITE

    Especifica ler-acesso de gravação. O hFileMappingObject parâmetro deve ter sido criado com a proteção PAGE_READWRITE. Uma exibição Read-Write do arquivo é mapeada.

    For Windows Embedded CE:

    Para informações sobre o comportamento desses valores quando a função CreateFileMapping é usada com essa função, consulte Modified Kernel APIs.

  • dwFileOffsetHigh
    [no] Especifica o alto-ordem 32 bits de deslocamento de arquivo em que o mapeamento deve começar.
  • dwFileOffsetLow
    [no] Especifica o baixo-ordem 32 bits de deslocamento de arquivo em que o mapeamento deve começar. A combinação da alta e baixa desloca deve especificar um deslocamento dentro de arquivo que corresponde a granularidade alocação memória do sistema, ou a função falhará. Ou seja, o deslocamento deve ser um múltiplo de granularidade de alocação. Use a função GetSystemInfo , que preenche os membros de uma estrutura SYSTEM_INFO, para obter granularidade do sistema alocação memória.
  • dwNumberOfBytesToMap
    [no] Especifica o número de bytes do arquivo para mapa (n.); mapear (v.). Se este parâmetro for definido para zero, o arquivo inteiro é mapeado.

Return Value

O endereço inicial da exibição mapeada indica sucesso. NULL Indica falha. Para informações de erro estendidas get, chamar GetLastError.

Remarks

A função CreateFileMapping pode arquivos mapa (n.); mapear (v.) de um total 64-bit tamanho. Esta função pode criar modos de exibição como longo como o atual processo tem suficiente virtual espaço de endereço contê-los. Preven as restrições de recursos direcionar-ROM e mapfiles não-paginável que são maior do que 4 GB.

Se você pretende aumentar o arquivo, especificar o tamanho máximo de arquivo para que o kernel pode reserva a quantidade de memória correto.

A 64-alinhamento KB não é exigido para dwFileOffsetLow.

Mapear um arquivo torna a parte especificada do arquivo visível na espaço de endereço da processo de chamada.

Vários modos de exibição de um arquivo, ou um arquivo-objeto mapeamento e seu arquivo mapeado, são considerado coerente se eles contiverem dados idênticos em um tempo especificado. Isso ocorre se os modos de exibição arquivo são derivado do mesmo arquivo-objeto mapeamento. Para criar outra exibição de um arquivo-objeto mapeamento para um processo diferente, use o CreateFileMapping função.

Uma exibição mapeada de um arquivo não é garantida ser coerente se um arquivo é acessado com o ReadFile ou a função WriteFile.

Para se proteger contra um violação de acesso, use manipulação estruturada de exceções para proteger qualquer codificar que grava ou lê de uma exibição Memory-mapped.

As páginas os modos de exibição mapeadas podem se tornar leitura/gravação se eles são gravados para. Todas as páginas que não sobreposição permanecem somente leitura. Todas as páginas que sobreposto, mas não são gravadas, permanecem somente leitura. Se Todos Leitura/Gravação modos de exibição são desmapeado, unwritten páginas permanecerão somente leitura.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 1.01 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

File Mapping Functions
CreateFileMapping
UnmapViewOfFile

Other Resources

Modified Kernel APIs
GetSystemInfo
SYSTEM_INFO