Função CreateItemMoniker (objbase.h)

Cria um moniker de item que identifica um objeto dentro de um objeto que contém (normalmente um documento composto).

Sintaxe

HRESULT CreateItemMoniker(
  [in]  LPCOLESTR lpszDelim,
  [in]  LPCOLESTR lpszItem,
  [out] LPMONIKER *ppmk
);

Parâmetros

[in] lpszDelim

Um ponteiro para uma cadeia de caracteres largos (dois bytes por caractere) cadeia de caracteres terminada em zero que contém o delimitador (normalmente "!") usado para separar o nome de exibição deste item do nome de exibição do objeto que o contém.

[in] lpszItem

Um ponteiro para uma cadeia de caracteres terminada em zero que indica o nome do objeto que contém para o objeto que está sendo identificado. Posteriormente, esse nome pode ser usado para recuperar um ponteiro para o objeto em uma chamada para IOleItemContainer::GetObject.

[out] ppmk

O endereço de uma variável de ponteiro IMoniker* que recebe o ponteiro de interface para o moniker de item. Quando bem-sucedida, a função chamou AddRef no moniker de item e o chamador é responsável por chamar Release. Se ocorrer um erro, o ponteiro de interface fornecido terá um valor NULL .

Retornar valor

Essa função pode retornar os valores retornados padrão E_OUTOFMEMORY e S_OK.

Comentários

Um provedor de moniker, que distribui monikers para identificar seus objetos para que eles sejam acessíveis a outras partes, chamaria CreateItemMoniker para identificar seus objetos com monikers de item. Os monikers de item são baseados em uma cadeia de caracteres e identificam objetos contidos em outro objeto e podem ser identificados individualmente usando uma cadeia de caracteres. O objeto que contém também deve implementar a interface IOleContainer .

A maioria dos provedores de moniker são aplicativos OLE que dão suporte à vinculação. Aplicativos que dão suporte à vinculação a objetos menores que documentos baseados em arquivo, como um aplicativo de servidor que permite vincular a uma seleção dentro de um documento, devem usar monikers de item para identificar os objetos. Aplicativos de contêiner que permitem a vinculação a objetos inseridos usam monikers de item para identificar os objetos inseridos.

O parâmetro lpszItem é o nome usado pelo documento para identificar exclusivamente o objeto. Por exemplo, se o objeto que está sendo identificado for um intervalo de células em uma planilha, um nome apropriado poderá ser algo como "A1:E7". Um nome apropriado quando o objeto que está sendo identificado é um objeto inserido pode ser algo como "embedobj1". O objeto que contém deve fornecer uma implementação da interface IOleItemContainer que possa interpretar esse nome e localizar o objeto correspondente. Isso permite que o moniker de item seja associado ao objeto que ele identifica.

Os monikers de item não são usados isoladamente. Eles devem ser compostos com um moniker que identifique o objeto que o contém também. Por exemplo, se o objeto que está sendo identificado for um intervalo de células contido em um documento baseado em arquivo, o moniker de item que identifica esse objeto deverá ser composto com o moniker de arquivo que identifica esse documento, resultando em um moniker composto equivalente a "C:\work\sales.xls! A1:E7."

Contêineres aninhados também são permitidos, como no caso em que um objeto está contido em um objeto inserido dentro de outro documento. O moniker completo de tal objeto seria o equivalente a "C:\work\report.doc!embedobj1! A1:E7." Nesse caso, cada objeto que contém deve chamar CreateItemMoniker e fornecer sua própria implementação da interface IOleItemContainer .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho objbase.h
Biblioteca Ole32.lib
DLL Ole32.dll
Conjunto de APIs ext-ms-win-com-ole32-l1-1-0 (introduzido no Windows 8)

Confira também

Imoniker

IMoniker::ComposeWith

Iolecontainer

Ioleitemcontainer