Método ISelectionContainer.GetObjects (UInt32, UInt32, Object )
Publicado: abril de 2016
Retorna os objetos selecionados no momento ou os objetos que são selecionáveis.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int GetObjects(
uint dwFlags,
uint cObjects,
object[] apUnkObjects
)
int GetObjects(
unsigned int dwFlags,
unsigned int cObjects,
array<Object^>^ apUnkObjects
)
abstract GetObjects :
dwFlags:uint32 *
cObjects:uint32 *
apUnkObjects:Object[] -> int
Function GetObjects (
dwFlags As UInteger,
cObjects As UInteger,
apUnkObjects As Object()
) As Integer
Parâmetros
- dwFlags
[in] Sinalizador que especifica o tipo de objetos para retornar.Se definido como GETOBJS_ALL, ISelectionContainer::GetObjects retorna todos os objetos podem ser selecionados.Se definido como GETOBJS_SELECTED, somente os objetos selecionados no momento são retornados.
- cObjects
[in] Especifica o número solicitado de objetos a serem retornados.
- apUnkObjects
[in] Ponteiro para uma matriz de ponteiros para ser selecionado ou selecionável objetos com suporte a IDispatch interface.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De designer.idl:
HRESULT ISelectionContainer::GetObjects(
[in] DWORD dwFlags,
[in] ULONG cObjects,
[out, size_is(cObjects)] IUnknown ** apUnkObjects
);
Para usar GetObjects, o chamador precisa primeiro chamar CountObjects com o tipo apropriado (selecionado ou selecionável) para determinar o número de objetos, em seguida, alocar uma matriz com esse tamanho e passá-lo ao GetObjects na apUnkObjects parâmetro.
Porque GetObjects é usado para preencher a janela de propriedades, os objetos retornados deve fornecer o acesso às propriedades a serem exibidos.Em alguns casos, GetObjects retorna um ponteiro para um objeto estendido, em vez do próprio objeto.Um objeto estendido tem propriedades que não pertencem diretamente ao objeto selecionado, mas podem afetar sua aparência ou comportamento.Por exemplo, se o objeto selecionado é um botão em um formulário, o criador do formulário como a implementação do objeto VSPackage GetObjects pode incluir propriedades como, por exemplo, a posição x e y na janela Propriedades.Nesse caso, GetObjects retornaria um ponteiro para o formulário em vez do botão selecionado.
Como o suportam de objetos retornados do IDispatch interface, o ambiente pode obter informações diretamente a partir deles.Por exemplo, um identificador de despacho predefinidos (DISPID) pode ser passado para IDispatch::Invoke para obter o nome de um objeto.Os DISPIDs predeclared são negativos para garantir que eles não entrem em conflito com os identificadores definidos pelo usuário.
A tabela a seguir descreve algumas das informações e como e de onde ele é obtido.
Informações |
Obtido |
---|---|
Nome do objeto |
IDispatch::Invokeusando o identificador de despacho DISPID_NAME |
Índice do objeto |
IDispatch::Invokeusando o identificador de despacho DISPID_OBJECT |
Tipo de objeto |
IProvideClassInfo::QueryInterface |
Consulte também
Interface ISelectionContainer
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo