Compartilhar via


CreateFile

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria, abre ou Trunca um arquivo, porta COM, dispositivo, serviço ou console. Ele retorna um identificador para acessar o objeto.

Uma versão RAPI dessa função existe chamado CeCreateFile (RAPI).

Syntax

HANDLE CreateFile(
  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 objeto, such as arquivo, porta COM, dispositivo disco ou console, para criar ou aberto.

    Se *lpFileName é um caminho, o tamanho limite seqüência de caracteres usar como padrão é caracteres MAX_PATH. Esse limite é relacionado ao como Esta função analisa os caminhos.

    Quando lpFileName aponta para um porta COM para aberto, incluem um dois-pontos após o nome. Ao usar IrCOMM, especificar COM3:.

  • dwDesiredAccess
    [no] Tipo de acessar para o objeto. Um aplicativo pode obter acessar apenas ler - apenas acessar, Gravação -, ler/acesso de gravação, ou dispositivo-acessar consulta. A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    GENERIC_EXECUTE

    Especifica apenas acessar executar.

    GENERIC_READ

    Especifica ler acessar para o objeto. Dados podem ser ler a partir de arquivo, e o ponteiro arquivo pode ser movido. Combine com GENERIC_WRITE para ler/acesso de gravação.

    GENERIC_WRITE

    Especifica acesso de gravação para o objeto. Os dados possam ser gravados para o arquivo, e o ponteiro arquivo pode ser movido. Combine com GENERIC_READ para ler/acesso de gravação.

  • dwShareMode
    [no] Compartilhar modo para o objeto. Se este parâmetro for definido para zero, o objeto não pode ser compartilhado. Aberto subseqüente operações sobre o objeto falhar até que o identificador é fechado.

    Este parâmetro pode ser definido para um ou mais valores. A seguinte tabela mostra os valores possíveis*.*

    Valor Descrição

    FILE_SHARE_READ

    Indica que aberto subseqüente operações no objeto êxito somente se ler acessar é solicitada.

    FILE_SHARE_WRITE

    Indica que aberto subseqüente operações no objeto êxito somente se acesso de gravação é solicitada.

  • lpSecurityAttributes
    [no] Não usado.
  • dwCreationDisposition
    [no] Ação a ser executada em arquivos existentes, e qual ação a ser tomada quando os arquivos não existirem. A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    CREATE_ALWAYS

    Cria um novo arquivo. Se o arquivo existir, a função sobrescreve o arquivo e limpa os atributos existentes.

    OPEN_EXISTING

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

    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.

    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] Atributos de arquivo e os sinalizadores para o arquivo.

    Qualquer combinação de atributos permitidos é aceitável para este parâmetro. Substituir todos os outros atributos arquivo de valor FILE_ATTRIBUTE_NORMAL. A seguinte tabela mostra os valores possíveis atributo.

    Valor Descrição

    FILE_ATTRIBUTE_ARCHIVE

    Indica que o arquivo é arquivado. 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 é ser 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.

    FILE_ATTRIBUTE_ROMMODULE

    Indica que o arquivo é um módulo DLL que tem uma referência implícita de at least um outro arquivo que está na seção de módulos da imagem. Um arquivo com esse conjunto atributo não pode substituir a funcionalidade do DLL com um copiar memória RAM de DLL o mesmo.

    FILE_ATTRIBUTE_SYSTEM

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

    FILE_ATTRIBUTE_TEMPORARY

    Não suportado.

    A seguinte tabela mostra os valores possíveis sinalizador.

    Valor Descrição

    FILE_FLAG_NO_BUFFERING

    Indica que o arquivo é aberto com nenhum cache sistema. Isso não afeta cache disco.

    FILE_FLAG_OVERLAPPED

    Este sinalizador não é com suporte. No entanto, múltiplo operações de leitura/gravação pendente em um dispositivo em um tempo é com suporte.

    FILE_FLAG_RANDOM_ACCESS

    Indica que o arquivo será acessado aleatoriamente. O sistema pode usar isso como uma dica para otimizar arquivo cache.

    FILE_FLAG_WRITE_THROUGH

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

  • hTemplateFile
    [no] Ignorada; Como resultado, essa função não copiar o estendido atributos para o novo arquivo.

Return Value

Um aberto identificador para o arquivo especificado indica sucesso. Se o arquivo especificado existe antes de chamar função e dwCreationDisposition é 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 não existir antes de chamar, GetLastError Retorna zero. INVALID_HANDLE_VALUE indica falha. Para informações de erro estendidas get, chamar GetLastError.

For Windows Embedded CE:

Para Windows CE 2.0 1 e anterior, um aplicativo não pode usar GetLastError Para determinar se um arquivo existente antes de chamar para essa função.

Remarks

For Windows Embedded CE:

Use a função CloseHandle para fechar um manipulador de objeto retornado por essa função.

Essa função não pode ser usado para acessar arquivos na seção Modules do ROM. Módulos são armazenados em um formato diferente que aplicativos não podem acessar. O ROM apenas arquivos que podem ser acessados usando essa função são aqueles na seção de arquivos.

Se o sinalizador FILE_FLAG_NO_BUFFERING for definido, o sistema abrirá um arquivo com nenhum cache sistema. Este sinalizador não afeta cache disco rígido. Quando combinado com FILE_FLAG_OVERLAPPED, o sinalizador oferece assíncrono máximo desempenho porque a E/S não depende de síncrono operações de Gerenciador de memória. No entanto, algumas operações E/S levar mais tempo porque dados não está sendo mantidos na armazenar em cache. Além disso, os metadados arquivo podem ainda ser armazenada em cache. Para liberado de metadados para disco, use a função FlushFileBuffers.

Um aplicativo deve atender a certos requisitos quando estiver trabalhando com arquivos que são abertos com FILE_FLAG_NO_BUFFERING:

Acessar arquivo deve começar no deslocamento byte em um arquivo que é inteiro múltiplos do volume setor tamanho.

Acessar arquivo deve ser para números de bytes que estão inteiro múltiplos do volume setor tamanho. De exemplo, se o tamanho de setor é 512 bytes, um aplicativo poderá solicitação lê e grava de 512, 1024, 1536 ou 2048 bytes, mas não de 335, 981 ou 7171 bytes.

Buffer endereços para ler e gravar operações talvez precise ser alinhado setor, que significa alinhada em endereços na memória que são inteiro múltiplos do volume setor tamanho. Depending on o disco, este requisito não pode ser aplicado.

Uma maneira para alinhar buffers em inteiro múltiplos de tamanho de setor de volume é usar a função VirtualAlloc para alocar buffers. O VirtualAlloc Aloca memória que é alinhada em endereços que são inteiro múltiplos de tamanho página memória OS. Como tanto página memória e tamanhos de setor volume são potências de 2, essa memória também é alinhada em endereços que são inteiro múltiplos de um volume setor tamanho. Páginas de memória estão 4 to 8 KB em tamanho. Setores são 512 bytes (discos rígidos) ou 2048 bytes (CD). Portanto, setores volume nunca podem ser maior do que páginas memória.

Um aplicativo pode verificar o tamanho de setor volume por chamado a função GetDiskFreeSpaceEx.

For Windows Embedded CE:

Para obter mais informações, consulte CreateFile Overview.**

Requirements

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

See Also

Reference

File I/O Functions
CloseHandle
CreateDirectory
ReadFile

Other Resources

Services.exe