Função EngMapFile (winddi.h)

A função EngMapFile cria ou abre um arquivo e o mapeia para o espaço do sistema.

Sintaxe

ENGAPI PVOID EngMapFile(
  [in]  LPWSTR    pwsz,
  [in]  ULONG     cjSize,
  [out] ULONG_PTR *piFile
);

Parâmetros

[in] pwsz

Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome totalmente qualificado do arquivo a ser mapeado. Um exemplo de uma cadeia de caracteres de nome de arquivo totalmente qualificado é L"\?? \c:\test.dat".

[in] cjSize

Especifica o número de bytes do arquivo a ser mapeado.

[out] piFile

Ponteiro para um local de memória que recebe um identificador para o arquivo mapeado, desde que o mapeamento tenha sido bem-sucedido. Se o mapeamento não tiver sido bem-sucedido, o local da memória receberá o valor zero. Quando o arquivo mapeado precisar ser liberado, esse valor deverá ser passado para EngUnmapFile.

Retornar valor

EngMapFile retorna um ponteiro para a exibição mapeada do arquivo se ele for bem-sucedido. Caso contrário, retornará NULL.

Comentários

Se o arquivo já existir, EngMapFile será aberto e o mapeará para leitura/gravação. Se o arquivo não existir, EngMapFile o criará e o mapeará para leitura/gravação.

O valor de cjSize afeta o mapeamento do arquivo da seguinte maneira:

  • Quando cjSize é zero, a GDI mapeia o arquivo em sua totalidade.
  • Quando cjSize é maior que o tamanho do arquivo, o GDI expande o arquivo para cjSize bytes em tamanho antes de mapeá-lo na memória do sistema. Nenhuma suposição deve ser feita sobre o conteúdo da memória que se estende além do tamanho original do arquivo.
  • Quando cjSize é menor que o tamanho do arquivo, a GDI trunca o arquivo para cjSize bytes em tamanho antes de mapeá-lo para a memória do sistema.
Um driver pode ler e gravar no arquivo por meio do ponteiro retornado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho winddi.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys

Confira também

EngDeleteFile

EngUnmapFile