StgOpenStorageOnILockBytes
9/8/2008
Essa função abre um objeto armazenamento existente que não residir em um arquivo em disco, mas em vez disso, possui um subjacente matriz de bytes fornecido pelo chamador.
Syntax
WINOLEAPI StgOpenStorageOnILockBytes(
ILockBytes* plkbyt,
IStorage* pStgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage** ppstgOpen
);
Parameters
- plkbyt
[no] ILockBytes ponteiro para o subjacente objeto matriz byte que contém o objeto armazenamento a ser aberto.
pStgPriority
[no] Com mais freqüência NULL. Se não for NULL, este parâmetro é usado em vez das plkbyt parâmetro para especificar o objeto armazenamento para aberto. Neste maiúsculas e minúsculas, ela aponta para o IStorage interface em um objeto armazenamento raiz anteriormente abertos, geralmente um que foi aberto no modo prioridade.Após a StgOpenStorageOnILockBytes função retorna, o objeto armazenamento especificado na pStgPriority parâmetro na função entrada é inválido e pode não ser usado; Use o especificado na ppStgOpen parâmetro em vez disso.
- grfMode
[no] Especifica o modo de acesso usar para o objeto armazenamento aberto.
- snbExclude
[no] Pode ser NULL. Se não for NULL, este parâmetro aponta para um bloco de elementos nesse armazenamento que devem ser excluídos como o objeto armazenamento é aberto. Essa exclusão ocorre independentemente se copiar um instantâneo acontece no aberto.
- Reservado
[no] Reservado para uso futuro; definido como zero.
- ppstgOpen
[out] Ponteiro para a localidade de um IStorage ponteiro para o armazenamento aberto em bem-sucedido retornar.
Return Value
Um dos valores descritos a seguinte tabela é retornada.
Valor | Descrição |
---|---|
S_OK |
Indica que o objeto armazenamento foi aberto com êxito. |
STG_E_FILENOTFOUND |
Indica que a matriz byte especificado não existe. |
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_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_FILEALREADYEXISTS |
Indica que a matriz byte existe mas não é um objeto armazenamento. |
STG_E_TOOMANYOPENFILES |
Indica que o objeto armazenamento não foi aberto porque há muitos aberto arquivos. |
STG_E_INSUFFICIENTMEMORY |
Indica que o objeto armazenamento não foi aberto devido a uma falta de memória. |
STG_E_INVALIDNAME |
Indica que seja pwcsName Ou snbExclude Contém um inválido Nome. |
STG_E_INVALIDPOINTER |
Indica que snbExclude, pwcsName, pstgPriority, ou ppStgOpen Contém um inválido ponteiro. |
STG_E_INVALIDFLAG |
Indica que o grfMode parâmetro contém um incorreto combinação sinalizador. |
STG_E_INVALIDFUNCTION |
Indica que a modo de acesso STGM_DELETEONRELEASE foi especificado na grfMode parâmetro. |
STG_E_OLDDLL |
Indica que o DLL que está sendo usado para este objeto armazenamento é uma versão prior to aquele usado para criá-lo aberto. |
STG_E_OLDFORMAT |
Indica que o objeto armazenamento sendo aberto foi criado pelo provedor de armazenamento Beta 1. Esse formato é Não com suporte mais. |
Essa função também pode retornar qualquer erros sistema de arquivos ou Win32 erros ajustada em um HRESULT, ou ILockBytes valores de retorno de erro interface.
Remarks
O StgCreateDocfileOnILockBytes e StgOpenStorageOnILockBytes funções não estiverem disponível para o non-Desktop compatível implementação by means of CESYSGEN.
StgOpenStorageOnILockBytes Abre o objeto armazenamento raiz especificada. O objeto armazenamento é aberto de acordo com o modo de acesso in a grfMode parâmetro. Um ponteiro para o IStorage interface no objeto de armazenamento aberto é fornecido através de ppstgOpen parâmetro.
O objeto armazenamento deve ter sido criado por anteriormente o StgCreateDocfileOnILockBytes função.
Exceto para especificar um objeto matriz programador - fornecido byte -, StgOpenStorageOnILockBytes é semelhante de StgOpenStorage função. Para obter mais informações, consulte StgOpenStorage.
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
ILockBytes
IStorage
StgCreateDocfileOnILockBytes
StgOpenStorage