Compartilhar via


IItem::OpenProperty

Windows Mobile SupportedWindows Embedded CE Not Supported

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

See Also

Reference

IItem
IMAPIProp::OpenProperty

Other Resources

IStream