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