StgCreateDocfile
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 |