IItem::OpenProperty
9/8/2008
The OpenProperty método abre uma propriedade transmitir para um gerenciador de informações pessoais item (por exemplo, uma imagem). O comprimento (tamanho) da transmitir é limitado apenas pela quantidade disponível de memória armazenamento.
Syntax
HRESULT OpenProperty(
CEPROPID propID,
DWORD dwMode,
IStream ** ppStream
)
Parameters
- propID
[no] O Object Identifier (OID) da propriedade transmitir exclusivo para aberto. For more information, see CeOpenStream (EDB). Para informações sobre CEPROPID, consulte CeOpenStream (EDB).
dwMode
[no] Máscara de bits de sinalizadores que indica o modo de acesso transmitir usado para aberto a transmitir. A seguinte tabela mostra os valores de parâmetro pode demorar.Opção Description GENERIC_READ
Leia acessar para a transmitir.
GENERIC_WRITE
Grave acessar a transmitir.
- ppStream
[out] Referência de propriedade IStream.
Return Value
This method returns the standard values HRESULT_FROM_WIN32(GetLastError()), E_INVALIDARG GPSGetPosition, e S_FAIL, as well as o seguinte.
- S_OK
The method completed successfully.
Remarks
Fluxos se comportar de maneira diferente, dependendo se o item foi salvo. Você deve chamar IStream::Commit(0) (detalhes de parâmetro de zero) na transmitir antes chamado IItem::Save sobre o item. Se você não fizer isso, em seguida, o item pode ser salvo não. Isso depende se você tiver anteriormente salva o item.
O seguinte IStream métodos retornam o valor de erro E_NOTIMPL: LockRegion, UnLockRegion, Reverter, Clone GPSGetPosition, e STAT.
IItem::OpenProperty Retorna E_ACCESSDENIED Se você tentar aberto um segundo transmitir sobre a mesma propriedade, ou se você tentar aberto um 0-fluxo de bytes com apenas a GENERIC_READ Definir sinalizador.
Exemplo de código
O seguinte exemplo de código demonstra como usar OpenProperty.
Observação
Para tornar o exemplo de código mais fácil para ler, verificação de segurança e manipulação de erro não estão incluídos.This code example should not be used in a release configuration unless it has been modified to include them.
HRESULT OpenPropertyExample(IItem *pItem, LPBYTE pbStore, ULONG cbStore)
{
HRESULT hr = E_FAIL;
IStream * pStream = NULL;
CEPROPID propid = PIMPR_BODY_BINARY;
ULONG cbWritten = 0;
// Write the byte data passed into the body property of the IItem.
hr = pItem->OpenProperty(propid, GENERIC_READ | GENERIC_WRITE, &pStream);
hr = pStream->Write(pbStore, cbStore, &cbWritten);
// Commit the stream.
hr = pStream->Commit(0);
// Save the stream to the underlying datastore.
hr = pItem->Save();
pStream->Release();
return hr;
}
Requirements
Header | pimstore.h |
Library | Pimstore.lib |
Windows Mobile | Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later |