Compartilhar via


StgCreateDocfile

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria um novo objeto armazenamento arquivo composto usando a implementação OLE-provided arquivo composto para o IStorage interface.

Syntax

WINOLEAPI StgCreateDocfile(
  const WCHAR* pwcsName,
  DWORD grfMode,
  DWORD reserved,
  IStorage** ppstgOpen 
);

Parameters

  • pwcsName
    [no] Ponteiro para o caminho do arquivo composto para criar. Ele é passado não interpretada para o sistema de arquivos. Isso pode ser um relativo Nome ou NULL. Se NULL, um arquivo composto temporário é alocado com um nome exclusivo.
  • grfMode
    [no] Especifica o modo de acesso para usar ao abrir o novo objeto armazenamento. Para obter mais informações, consulte o STGM enumeração. Se o chamador Especifica modo transacionado together with STGM_CREATE ou STGM_CONVERT, a substituição ou conversão leva local no tempo o objeto armazenamento é aberto e, portanto, não é reversível.
  • Reservado
    [no] Reservado para uso futuro. Definido como zero.
  • ppstgOpen
    [out] Ponteiro para a localidade das IStorage ponteiro para o novo objeto armazenamento.

Return Value

Um dos valores descritos a seguinte tabela é retornada.

Valor Descrição

S_OK

Indica que o arquivo composto foi criado com êxito.

STG_E_ACCESSDENIED

Indica que acessar foi negado porque o chamador tem permissão insuficiente, ou outro chamador tem o arquivo aberto e bloqueado.

STG_E_FILEALREADYEXISTS

Indica que o arquivo composto já existe e grfMode é definido como STGM_FAILIFTHERE.

STG_E_INSUFFICIENTMEMORY

Indica que o arquivo composto não foi criado devido a uma falta de memória.

STG_E_INVALIDFLAG

Indica um incorreto combinação sinalizador in a grfMode ponteiro.

STG_E_INVALIDNAME

Indica um incorreto nome in a pwcsName parâmetro.

STG_E_INVALIDPOINTER

Indica um incorreto ponteiro in a pwcsName parâmetro ou o ppStgOpen parâmetro.

STG_E_LOCKVIOLATION

Indica que acessar foi negado porque outro chamador tem o arquivo aberto e bloqueado.

STG_E_SHAREVIOLATION

Indica que acessar foi negado porque outro chamador tem o arquivo aberto e bloqueado.

STG_E_TOOMANYOPENFILES

Indica que o arquivo composto foi criado não manipula uma falta de arquivo devido a.

STG_S_CONVERTED

Indica que o arquivo especificado foi convertido para formato de armazenamento com êxito.

Essa função também pode retornar qualquer erros sistema de arquivos Microsoft Win32 ou ajustada em um HRESULT.

Remarks

O StgCreateDocfile função cria um novo objeto armazenamento usando a implementação COM - fornecido, compostos - arquivo para o IStorage interface. O nome do aberto arquivo composto pode ser recuperado por chamado de IStorage::STAT método.

StgCreateDocfile Cria o arquivo se ele não existe. Se ele existir, o uso do STGM_CREATE, STGM_CONVERT e STGM_FAILIFTHERE sinalizadores in a grfMode parâmetro indicam como proceder. Para obter mais informações sobre esses valores, consulte o STGM enumeração.

Se o arquivo composto é aberto no modo transacionado (o grfMode parâmetro especifica STGM_TRANSACTED) e um arquivo com este nome já existe, o arquivo existente não é alterada até pendente todas as alterações são confirmadas. Se o processo de chamada falta acesso de gravação para o arquivo existente, because of controle de acesso in a sistema de arquivos, o grfMode parâmetro podem apenas especificar STGM_READ e Não STGM_WRITE ou STGM_READWRITE. O resultante aberto novo arquivo composto ainda pode ser gravado em, mas uma operação subseqüente confirmação falhará. No modo de transação, permissões de gravação serão aplicados no tempo confirmação.

Especificar STGM_SIMPLE fornece uma implementação muito mais rápida de um objeto arquivo composto em um limitado, mas freqüentes –Used, maiúsculas e minúsculas. Isso pode ser usado por aplicativos que exigem uma implementação arquivo compostos com múltiplo fluxos e há armazenamentos. O modo Simples não suporte todos os métodos no IStorage. Para obter mais informações, consulte o STGM enumeração.

Se a pasta grfMode parâmetro especifica STGM_TRANSACTED e nenhum arquivo ainda existe com o nome especificado pela pwcsName parâmetro, o arquivo é criado imediatamente. Em um sistema de arquivos Access-controlled, o chamador deve ter permissões de gravação no Diretório de sistema de arquivos no qual o arquivo composto é criado. Se não for especificado STGM_TRANSACTED e STGM_CREATE for especificada, um arquivo existente com o mesmo nome será destruído antes de criar o novo arquivo.

StgCreateDocfile Pode ser usado para criar um arquivo composto temporário passando um NULL valor para o pwcsName parâmetro. No entanto, esses arquivos são temporários somente no sentido que tenham um nome exclusivo System-provided – uma probabilidade que está sem sentido para o usuário. O chamador é responsável por excluir a arquivo temporário quando ele for concluído com ele, a menos que STGM_DELETEONRELEASE foi especificado para o grfMode parâmetro.

Passando para esta função qualquer inválido e, em algumas circunstâncias, NULL ponteiros resulta em terminação inesperada do aplicativo.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IStorage
IStorage::Stat
STGM