Compartilhar via


CreateFileForMapping

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria ou abre um arquivo que pode ser usado para mapeamento memória. Essa função é obsoleto. Use a função CreateFile.

Observação

Essa função é obsoleto as of Windows Embedded CE 6.0.

Syntax

HANDLE CreateFileForMapping( 
  LPCTSTR lpFileName,
  DWORD dwDesiredAccess,
  DWORD dwShareMode,
  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  DWORD dwCreationDisposition,
  DWORD dwFlagsAndAttributes,
  HANDLE hTemplateFile
);

Parameters

  • lpFileName
    [no] Ponteiro para uma seqüência de caracteres NULL-Terminated que especifica o nome do arquivo a ser criado e usado como um arquivo-objeto mapeamento. O comprimento máximo é caracteres MAX_PATH. Cada tipo objeto, such as memória mapas, semáforos, eventos, mensagem filas, exclusões mútuas e timers de monitoração, tem sua própria separar espaço para nome. Seqüências de caracteres vazia (" ") são tratados como nomeado objetos. Em plataformas com base em Área de trabalho Windows, sincronização objetos todos compartilhar o mesmo namespace.
  • dwDesiredAccess
    [no] Especifica o tipo de acessar. Um aplicativo pode obter acessar READ-ONLY para Arquivos ou Atributos dispositivo consulta. A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    GENERIC_READ

    Especifica ler acessar para o arquivo. Dados podem ser ler a partir de arquivo, e o ponteiro arquivo pode ser movido.

    GENERIC_WRITE

    Especifica acesso de gravação para arquivos Windows CE 2.10 e posterior.

    Zero

    Permite que um aplicativo para dispositivo consulta atributos sem acessar o dispositivo.

    O modo compartilhar para um arquivo é determinado por esse parâmetro. Se este parâmetro for definido como GENERIC_READ, o modo compartilhar FILE_SHARE_READ é usado. Isso permite que outros aberto operações para ser executada no arquivo para ler acessar. Caso contrário, o modo compartilhar é definido como zero e compartilhamento de arquivo não está habilitado.

  • dwShareMode
    [no] Ignorado.
  • lpSecurityAttributes
    [no] Não usado. Definir como NULL.
  • dwCreationDisposition
    [no] A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    CREATE_ALWAYS

    Cria um novo arquivo. A função substitui o arquivo se ele já existir.

    CREATE_NEW

    Cria um novo arquivo. A função falhará se o arquivo especificado já existe.

    OPEN_ALWAYS

    Abre o arquivo se ele existir. Se o arquivo não existir, a função criará o arquivo como se este parâmetro foi definido como CREATE_NEW.

    OPEN_EXISTING

    Abre o arquivo. A função falhará se o arquivo não existe.

    TRUNCATE_EXISTING

    Abre o arquivo. Depois que aberto, o arquivo será truncado para que seu tamanho seja zero bytes. O processo de chamada deve aberto o arquivo no mínimo acessar GENERIC_WRITE. A função falhará se o arquivo não existe.

  • dwFlagsAndAttributes
    [no] Especifica atributos e sinalizadores para o arquivo.

    Qualquer combinação de válido atributos é aceitável. No entanto, todos os outros arquivo atributos substituir FILE_ATTRIBUTE_NORMAL. A seguinte tabela mostra os valores possíveis atributo.

    Valor Descrição

    FILE_ATTRIBUTE_ARCHIVE

    Indica que o arquivo é um arquivo. Os aplicativos usam esse atributo para arquivos marca para de backup ou remoção.

    FILE_ATTRIBUTE_COMPRESSED

    Indica que o arquivo ou Diretório é compactado. Para um arquivo, isso significa que todos os dados no arquivo é compactado. Para um Diretório, isso significa que compactação é o usar como padrão para arquivos recém-criados e subpastas.

    FILE_ATTRIBUTE_HIDDEN

    Indica que o arquivo está oculto. Ele não está incluído em um listagem de diretórios comum.

    FILE_ATTRIBUTE_NORMAL

    Indica que o arquivo tem há outros atributos definidos. Esse atributo é válido somente se usado sozinho.

    FILE_ATTRIBUTE_READONLY

    Indica que o arquivo é somente leitura. Os aplicativos podem ler o arquivo, mas não é possível gravar nele ou excluí-la.

    FILE_ATTRIBUTE_SYSTEM

    Indica que o arquivo é parte ou será usado exclusivamente pelo OS.

    Qualquer combinação do seguinte sinalizadores é aceitáveis. A seguinte tabela mostra os valores possíveis sinalizador*.*

    Valor Descrição

    FILE_FLAG_RANDOM_ACCESS

    Indica que o arquivo será acessado aleatoriamente. O OS usa esse sinalizador para otimizar arquivo cache. Especificar esse sinalizador pode aumentar desempenho para aplicativos que ler arquivos grandes usando serial acessar. Ganhos de desempenho podem ser ainda mais perceptível para aplicativos que ler grande arquivos principalmente em seqüência, mas ocasionalmente ignorar sobre pequenos intervalos de bytes.

    FILE_FLAG_WRITE_THROUGH

    Instrui o OS para gravação por qualquer cache intermediário e vá diretamente para o arquivo. O OS pode ainda armazenar em cache as operações de gravação, mas não lazily liberado-los.

  • hTemplateFile
    Não usado. Ignorado.

Return Value

Um aberto identificador para o arquivo especificado-objeto mapeamento indica sucesso. Se o objeto especificado existe antes de chamar função e dwCreationDistribution é definido como CREATE_ALWAYS ou OPEN_ALWAYS, um chamar para retorna GetLastError ERROR_ALREADY_EXISTS, mesmo que a função foi bem-sucedida. Se o arquivo-objeto mapeamento não existe antes de chamar, GetLastError Retorna zero. INVALID_HANDLE_VALUE indica falha. Para informações de erro estendidas get, chamar GetLastError.

Remarks

For All Platforms:

Essa função é uma versão especial do CreateFile que é criada para arquivo-mapeamento objetos. Ele executa uma callback em espaço de endereço de kernel para que o arquivo especificado é criado, o kernel. Isso garante que o arquivo seja disponível para processos Other Than o processo criando. Você pode usar esta função para aberto qualquer arquivo, inclusive arquivos que são criados por CreateFile, para mapeamento memória. Como CreateFile, você também pode criar um arquivo com essa função.

A semântica alça-fechamento desta função é diferentes do CreateFile. A seguinte é informações importantes sobre alças recebidas desta função

  • O kernel automaticamente fecha o identificador que você recebe desta função.
    Se o processo é encerrado sem chamado essa função, Assim como CloseHandle, o identificador retornado por essa função é automaticamente fechadas.
    Essa função abre um arquivo e retorna um identificador de arquivo que é passado para a função CreateFileMapping. CreateFileMapping Em seguida, retorna um identificador para o mapeamento de arquivo. Para Windows Embedded CE, só é necessário fechar o identificador mapeamento porque o identificador de arquivo é automaticamente fechada quando você fechar o identificador mapeamento.

  • Um arquivo Memory-mapped não deve ser acessado usando o ReadFile ou as funções WriteFile. Isso pode resultar em inconsistências entre o arquivo e o arquivo Memory-mapped.

  • Duas alças graváveis para o mesmo arquivo não podem ser aberto no mesmo tempo para evitar inconsistências entre o arquivo e a exibição mapeada dele. Para os dois processos para compartilhar os dados em um arquivo Memory-mapped, eles devem dois memória-mapa (n.); mapear (v.) o arquivo. O sinalizador FILE_SHARE_WRITE será ignorado e não deve ser usado.

  • O identificador retornado desta função é usada como o hFile parâmetro em uma chamar subseqüente para CreateFileMapping, conforme o seguinte exemplo:

    // Shows call sequence, use of the handle.
    HANDLE hFile;
    hFile = CreateFileForMapping(...);
    CreateFileMapping(hFile, ...);
    

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
MapViewOfFile
UnmapViewOfFile

Other Resources

Modified Kernel APIs