Compartilhar via


CeCreateFile (RAPI)

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria, abre ou Trunca um arquivo, pipe, recurso de comunicação, dispositivo disco ou console em um remoto dispositivo baseado em Windows Embedded CE. Ele retorna um identificador que pode ser usado para acessar o objeto.

Observação

CeCreateFile Pode também aberto e retornar um identificador para um Diretório em dispositivos móveis execução versões do Windows Embedded CE Windows CE 5.0 anteriores.

Syntax

HANDLE CeCreateFile (
  LPCWSTR lpFileName, 
  DWORD dwDesiredAccess, 
  DWORD dwShareMode, 
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, 
  DWORD dwCreationDisposition, 
  DWORD dwFlagsAndAttributes, 
  HANDLE hTemplateFile 
);

Parameters

  • lpFileName
    [no] Ponteiro longo para um seqüência de caracteres NULL-Terminated que especifica o nome do objeto (arquivo, pipe, processador, recurso de comunicação, dispositivo disco, console ou Diretório) para criar ou aberto.

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

  • dwDesiredAccess
    [no] Especifica o tipo de acessar para o objeto. Um aplicativo pode obter ler acessar, acesso de gravação, ler-acesso de gravação, ou acessar consulta dispositivo. Este parâmetro pode ser qualquer combinação dos seguinte valores.

    Valor Descrição

    0

    Especifica acessar consulta dispositivo para o objeto. Um aplicativo pode atributos dispositivo consulta sem acessar o dispositivo.

    GENERIC_READ

    Especifica ler acessar para o objeto. Dados possível ler o arquivo e o arquivo ponteiro pode ser movido. Combine com GENERIC_WRITE de 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] Especifica como o objeto pode ser compartilhado. Se dwShareMode é 0, o objeto não pode ser compartilhado. Aberto subseqüente operações sobre o objeto irão falhar, até que o identificador é fechado.

    Para compartilhar o objeto, use uma combinação de um ou mais dos valores especificados na seguinte tabela.

    Valor Descrição

    FILE_SHARE_READ

    Aberto subseqüente operações no objeto funcionará somente se ler acessar é solicitada.

    FILE_SHARE_WRITE

    Aberto subseqüente operações no objeto funcionará somente se acesso de gravação é solicitada.

  • lpSecurityAttributes
    Ignorada; Definir como NULL.
  • dwCreationDisposition
    [no] Especifica qual ação para usar em arquivos que existem e qual ação a ser tomada quando os arquivos não existirem. Para obter mais informações sobre esse parâmetro, consulte a seção " Comentários ". Este parâmetro deve ser um dos seguinte valores.

    Valor Descrição

    CREATE_NEW

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

    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. Consulte a seção " Comentários " para uma discussão de por que você deve usar o sinalizador OPEN_EXISTING se você estiver usando o CeCreateFile função para dispositivos, incluindo o console.

    OPEN_ALWAYS

    Abre o arquivo, se ele existir. Se o arquivo não existir, a função criará o arquivo como se dwCreationDisposition Foram CREATE_NEW.

    TRUNCATE_EXISTING

    Abre o arquivo. Depois que ela for aberta, 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
    Especifica o arquivo atributos e sinalizadores para o arquivo.

    Qualquer combinação do seguinte atributos é aceitável para o dwFlagsAndAttributes parâmetro, exceto todos os outro arquivo atributos substituir FILE_ATTRIBUTE_NORMAL.

    Valor Descrição

    FILE_ATTRIBUTE_ARCHIVE

    O arquivo deve ser arquivado. Os aplicativos usam esse atributo para arquivos marca para de backup ou remoção.

    FILE_ATTRIBUTE_HIDDEN

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

    FILE_ATTRIBUTE_NORMAL

    O arquivo não tem nenhum outros um conjunto de atributos. Esse atributo é válido somente se usado sozinho.

    FILE_ATTRIBUTE_READONLY

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

    FILE_ATTRIBUTE_SYSTEM

    O arquivo é parte ou é usado exclusivamente pela sistema operacional.

    FILE_ATTRIBUTE_TEMPORARY

    Este sinalizador atributo não é com suporte; No entanto, se você tiver um sistema de arquivos instalada que ofereça suporte a FILE_ATTRIBUTE_TEMPORARY, você pode definir ou receber esse sinalizador. De exemplo, o redirecionador rede mostra esse sinalizador se você estiver falando com um computador execução Windows NT. Além disso, se você tiver um memória flash cartão inserido, os atributos de \StorageCard incluem o bit temporário.

    Qualquer combinação do seguinte sinalizadores é aceitáveis para o dwFlagsAndAttributes parâmetro.

    Valor Descrição

    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.

    FILE_FLAG_OVERLAPPED

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

    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_SEQUENTIAL_SCAN

    Indica que o arquivo é seja acessado em seqüência do início ao fim. O sistema pode usar isso como uma dica para otimizar arquivo cache. Se um aplicativo move o ponteiro arquivo para aleatório acessar, otimizada cache pode não ocorrer; No entanto, operação correta ainda é garantida. 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.

  • hTemplateFile
    [no] Ignorada; Como resultado, CeCreateFile Nã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 é CREATE_ALWAYS ou OPEN_ALWAYS, um chamar para CeGetLastErrorRetorna ERROR_ALREADY_EXISTS, mesmo que a função foi bem-sucedida. Se o arquivo não existir antes de chamar, CeGetLastError Retorna zero. INVALID_HANDLE_VALUE indica falha. Para informações de erro estendidas get, chamar CeGetLastError e CeRapiGetError.

Remarks

Use o CeCloseHandle função para fechar um manipulador de objeto retornado por CeCreateFile.

Especificar zero para dwDesiredAccess Permite que um aplicativo para dispositivo consulta atributos sem realmente acessando o dispositivo. Esse tipo de consulta é útil, de exemplo, se um aplicativo deseja determinar o tamanho de unidade uma disco e os formatos suporta sem um disco na unidade a.

O seguinte mostra informações como CeCreateFile funciona em arquivos, os recursos de comunicação, dispositivos, serviços, consoles e diretórios:

Arquivos

Ao criar um novo arquivo ou truncar um arquivo existente, o CeCreateFile função executa a seguinte ações:

  • Combina o arquivo atributos e sinalizadores especificados por dwFlagsAndAttributes Com FILE_ATTRIBUTE_ARCHIVE.
  • Define o comprimento arquivo para zero.

CeCreateFile 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 CeCreateFile São aqueles na seção de arquivos.

Ao abrir um arquivo existente, CeCreateFile ignora os atributos arquivo especificados por dwFlagsAndAttributes e define o comprimento arquivo de acordo com o valor de dwCreationDisposition.

Para armazenar o número máximo de arquivos no armazenamento cartão PC dispositivos, nomes arquivo limite para maiúscula oito caracteres e extensões arquivo para maiúscula três caracteres. Além disso, não permitir caracteres não-OEM em nomes arquivo. Nomes de arquivo que não estão em conformidade com esses limites exigem físico more than uma entrada Diretório em um PC Card.

Usando o FILE_FLAG_RANDOM_ACCESS será sinalizador no sistema de arquivos memória RAM, que coloca os arquivos em armazenar o objeto, evitar um arquivo de que está sendo compactado. Se desempenho for um emitir, isso pode ser a solução correta. Ler e gravar operações para um arquivo compactado são mais lenta do que ler e gravar operações em um arquivo descompactado.

O OS não suporte a concepção de um atual Diretório. Se um caminho para um arquivo não for fornecido juntamente com nome de arquivo, o OS será aspecto para o arquivo na diretório do Windows as well as in a raiz da sistema de arquivos. Para acessar um arquivo em qualquer outro caminho, o aplicativo deve fornecer o caminho absoluto para o arquivo. Em alguns casos, o GetModuleFileName função pode fornecer o diretório de trabalho do atualmente execução arquivo executável.

Portas COM

O CeCreateFile função pode criar um identificador para um porta COM. Pela configuração de dwCreationDisposition parâmetro para OPEN_EXISTING, Read-only, Write-only, ou ler/acesso de gravação pode ser especificado.

Dispositivos

Alças de volume podem ser abertas como noncached a vontade do sistema de arquivos, mesmo quando a opção noncached não é especificada com CeCreateFile. Você deve presumir que todos os Microsoft arquivo sistemas aberto volume trata como noncached. As restrições no E/S noncached para arquivos também aplicar aos volumes.

Um sistema de arquivos pode ou não podem exigir reserva alinhamento mesmo se a dados for noncached. No entanto, se a opção noncached for especificada quando abrir um volume, alinhamento reserva é imposto regardless of o sistema de arquivos no volume. Microsoft recomenda que todos os arquivo sistemas aberto volume trata como noncached e siga as restrições E/S noncached.

Você pode usar o CeCreateFile função para aberto unidade uma disco ou uma partição na unidade disco. A função retorna um identificador para o dispositivo disco. Esse identificador pode ser usado com o DeviceIoControl função. A seguinte lista mostra os requisitos que devem ser atendidos para tal um chamar seja bem-sucedida:

  • O chamador deve ter privilégios administrativo para a operação seja bem-sucedida em uma unidade disco rígido.
  • O lpFileName seqüência de caracteres devem ter a forma DSKx: Para aberto DE disco rígido x. Iniciar números em um disco rígido. De exemplo, DSK2: Obtém um identificador para o segundo físico unidade no computador do usuário a.
  • O dwCreationDisposition parâmetro deve ter o valor OPEN_EXISTING.
  • Ao abrir um disco ou uma partição em um disco rígido, você deve definir o sinalizador FILE_SHARE_WRITE in a dwShareMode parâmetro.

Serviços

Para informações sobre o uso CeCreateFile Com os serviços, consulte O Services.exe.

Consoles

Se estiver presente na imagem de OS Console.dll, um aplicativo poderá usar a direcionar console Nome, CONn:, para aberto o console com CeCreateFile, se ele tiver sido registrado anteriormente. No nome do console, n especifica um número entre 0 e 9.

Diretórios

Um aplicativo não é possível criar um Diretório com CeCreateFile. Ele deve chamar CeCreateDirectory.

Requirements

Header rapi.h
Library rapi.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2000 and later, Smartphone 2002 and later

See Also

Reference

RAPI Functions