Compartilhar via


CeMountDBVolEx (EDB)

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função monta um volume.

Essa função não trabalho com bancos de dados CEDB. Para obter mais informações sobre CEDB, consulte CEDB Reference.

Syntax

BOOL CeMountDBVolEx(
PCEGUID pGuid,
LPWSTR lpwszDBVol,
CEVOLUMEOPTIONS* pOptions,
DWORD dwFlags
);

Parameters

  • pGuid
    [out] Ponteiro para uma reserva que é preenchida com a CEGUID do banco de dados montado.
  • lpwszDBVol
    [no] Ponteiro para o seqüência de caracteres NULL-Terminated que contém o nome arquivo e caminho do volume de banco de dados a ser montada. O caminho é limitado a caracteres MAX_PATH e inclui o NULL caractere. A função pode aceitar qualquer caminho incluindo Uniform Naming Convention (UNC) nomes para arquivos em um local rede área (LAN).
  • pOptions
    [no] Ponteiro para uma estrutura CEVOLUMEOPTIONS (EDB) que contém configurações para o comportamento e desempenho de um volume recém-montado. Se o volume já estiver montado, essas opções são ignoradas. Se NULL for passado, o sistema padrões são usados. Para obter mais informações, consulte Configurable EDB Volume Options.
  • dwFlags
    [no] Sinalizador que determina como o volume banco de dados é aberto. A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    CREATE_ALWAYS

    Cria um novo volume banco de dados. Essa função substitui o volume banco de dados se ele existir.

    CREATE_NEW

    Cria um novo volume banco de dados. Essa função falhará se o volume banco de dados especificado já existe.

    OPEN_ALWAYS

    Abre o volume banco de dados se ela existir. Se o volume banco de dados não existir, essa função criará o volume banco de dados como se CREATE_NEW foram especificados.

    OPEN_EXISTING

    Abre o volume banco de dados. Essa função falhará se o volume banco de dados não existe.

    TRUNCATE_EXISTING

    Abre o volume banco de dados. Depois que aberto, o volume banco de dados será truncado para 20 KB. A função falhará se o volume banco de dados não existe.

Return Value

TRUE indica sucesso. FALSE indica falha. Para informações de erro estendidas get, chamar GetLastError. A seguinte tabela mostra os valores possíveis.

Return valor Descrição

ERROR_ALREADY_EXISTS

Essa função foi bem-sucedida e OPEN_ALWAYS ou CREATE_ALWAYS foi especificado. O banco de dados existiam antes de chamar para essa função.

ERROR_ACCESS_DENIED

Indica um do seguinte:

  • TRUNCATE_EXISTING for especificada e o volume já está montado ou o arquivo não pode estar truncado.
  • O volume é somente leitura.

ERROR_BAD_FORMAT

O volume especificado é de uma versão diferente de edb.

ERROR_FILE_NOT encontrado

TRUNCATE_EXISTING for especificada, e o volume não existe.

ERROR_INVALID_PARAMETER

Indica um do seguinte:

  • O pGuid parâmetro for definido como NULL.
  • O lpwszDBVol parâmetro for definido como NULL.
  • O wVersion membro retornado não é igual a CEVOLUMEOPTIONS_VERSION.
  • O dwFlags membro de CEVOLUMEOPTIONS é usado, e um conjunto de valores não é válido.
  • O dwFlags parâmetro contém um inválido combinação sinalizador.

ERROR_WRONG_PASSWORD

A senha pwszPassword membro de CEVOLUMEOPTIONS está incorreta.

Remarks

Em Edb, montar um volume consiste abrindo o arquivo de banco de dados Edb. Depois que um volume está montado, ele é atribuído um exclusivo GUID e o volume permanecerá montada até que fique totalmente desmontada usando a função CeUnmountDBVol (EDB). O volume GUID permanece o mesmo enquanto o volume está montado. O mesmo volume tem o mesmo GUID entre todos os processos no sistema.

Cada tempo que o mesmo volume está montado, um contagem de referência é incrementado. Quando um volume for desmontado, o contagem de referência é diminuída. Quando o contagem de referência atingir zero, o volume é fechado e desmontado. Portanto, um volume pode ser montado no mesmo tempo em processos diferentes e pode ser montado múltiplo tempo no mesmo processo.

Todos os dados gravados em um volume montado banco de dados é armazenado em cache até que ocorra um do seguinte:

  • É explicitamente liberado. Para obter mais informações, consulte CeFlushDBVol (EDB).
  • Ele é liberado por um segmento edb segundo plano.
  • Ele é desmontado.

Depois que um banco de dados está montado, CeFlushDBVol Pode ser usado para confirmação pendente alterações. No entanto, chamado CeFlushDBVol não é exigido porque edb automaticamente flushes volumes em um segmento de segundo plano a cada 10 segundos se alterações tiverem sido feitas para esse volume. O pOptions parâmetro pode ser usado para configurar o liberado intervalo, as well.

Depois que um volume está montado as opções volume definidas em pOptions do servidor vinculado existente não podem ser alterados. Portanto, as opções volume são respeitadas somente quando um volume está montado para o primeiro tempo. Montagens subseqüentes do volume tiver êxito, mas se incompatível opções forem especificadas, um chamar para GetLastError Retorna ERROR_INVALID_PARAMETER.

As diferenças entre essa função e o equivalente CEDB é a seguinte função:

  • EDB permite opções específicas com base em volume seja definido com o CEVOLUMEOPTIONS estrutura. Isso não é disponível em CEDB.
  • Se você especificar CREATE_ALWAYS ou OPEN_ALWAYS e o arquivo já existe, a função tiver êxito, mas GetLastError Retorna ERROR_ALREADY_EXISTS. CEDB não faz isso. Ele falha e retorna ERROR_ACCESS_DENIED.
  • Em Edb, um volume permanece aberto, desde que ele está montado. Desde que os recursos são consumidos enquanto um volume está montado, reduza o tempo que um volume está montado para melhorar desempenho. Também é dispendioso montar um volume, portanto, reduzir o número de vezes que você montar um volume as much as possível.
  • O sinalizador TRUNCATE_EXISTING Trunca um volume existente somente se nenhum outro segmento tiver aberto o volume. Se o volume está aberto, essa função falha e GetLastError Retorna ERROR_ACCESS_DENIED. Essa função falhará se o sinalizador TRUNCATE_EXISTING é usado e o volume ainda não existe.
  • For Windows Embedded CE:

Para obter mais informações, consulte Configurable EDB Volume Options.

Requirements

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

See Also

Reference

EDB Functions
CeFlushDBVol (EDB)
CeUnmountDBVol (EDB)

Concepts

Configurable EDB Volume Options