CreateFileForMapping
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