Compartilhar via


Método IVsCommandWindow.PrepareCommand (String, Guid, UInt32, IntPtr, PREPARECOMMANDRESULT )

 

Executa todas as etapas para se preparar para executar um comando de linha de comando.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

int PrepareCommand(
    string szCommand,
    out Guid pguidCmdGroup,
    out uint pdwCmdID,
    out IntPtr ppvaCmdArg,
    PREPARECOMMANDRESULT[] pResult
)
int PrepareCommand(
    String^ szCommand,
    [OutAttribute] Guid% pguidCmdGroup,
    [OutAttribute] unsigned int% pdwCmdID,
    [OutAttribute] IntPtr% ppvaCmdArg,
    array<PREPARECOMMANDRESULT>^ pResult
)
abstract PrepareCommand : 
        szCommand:string *
        pguidCmdGroup:Guid byref *
        pdwCmdID:uint32 byref *
        ppvaCmdArg:nativeint byref *
        pResult:PREPARECOMMANDRESULT[] -> int
Function PrepareCommand (
    szCommand As String,
    <OutAttribute> ByRef pguidCmdGroup As Guid,
    <OutAttribute> ByRef pdwCmdID As UInteger,
    <OutAttribute> ByRef ppvaCmdArg As IntPtr,
    pResult As PREPARECOMMANDRESULT()
) As Integer

Parâmetros

  • szCommand
    [in] A seqüência de caracteres que contém o comando.
  • pguidCmdGroup
    [out] Ponteiro para o GUID do grupo do comando.
  • pdwCmdID
    [out] Ponteiro para o identificador do comando.
  • ppvaCmdArg
    [out] Um ponteiro para uma VARIANTE de matriz que contém os argumentos de comando.
  • pResult
    [out] Um ponteiro para uma PREPARECOMMANDRESULT estrutura contendo informações de erro adicionais.

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

O método executa as seguintes etapas:

  1. Analisa a seqüência de comandos.

  2. Pesquise o comando.

  3. Verifica que o comando é habilitado.

  4. Determina se ele aceita parâmetros.

  5. Prepara uma VARIANTE que contém os parâmetros e uma estrutura para receber os resultados do comando.

Após retornar, o chamador tem toda a informação necessária para chamar o Exec método da IOleCommandTarget interface.

COM assinatura

De vsshell.idl:

HRESULT IVsCommandWindow::PrepareCommand(
   [in, ref] LPCOLESTR szCommand, 
   [out] GUID* pguidCmdGroup, 
   [out] DWORD* pdwCmdId, 
   [out] VARIANT** ppvaCmdArg, 
   [out, retval] PREPARECOMMANDRESULT* pResult
);

Observações para Implementadores

Em caso de falha, PrepareCommand retorna E_FAIL e define pResult para um valor do tipo PREPARECOMMANDRESULT indicar a natureza da falha.Isso permite que o chamador personalizar a emissão de relatórios de vários erros.Também em caso de falha, as informações de erro de segmento são definidas com uma seqüência de caracteres significativa.

O chamador é responsável pelo argumento VARIANT ppvaCmdArg.Para liberá-la, o chamador precisa primeiro chamar VariantClear para limpar o conteúdo e, em seguida, chame CoTaskMemFree para liberar a VARIANTE propriamente dito.

Consulte também

Interface IVsCommandWindow
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo