Compartilhar via


Método IVsExternalFilesManager2.TransferDocument (String, String, IVsWindowFrame)

 

Transfere um documento para o projeto arquivos diversos.

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

Sintaxe

int TransferDocument(
    string pszMkDocumentOld,
    string pszMkDocumentNew,
    IVsWindowFrame punkWindowFrame
)
int TransferDocument(
    String^ pszMkDocumentOld,
    String^ pszMkDocumentNew,
    IVsWindowFrame^ punkWindowFrame
)
abstract TransferDocument : 
        pszMkDocumentOld:string *
        pszMkDocumentNew:string *
        punkWindowFrame:IVsWindowFrame -> int
Function TransferDocument (
    pszMkDocumentOld As String,
    pszMkDocumentNew As String,
    punkWindowFrame As IVsWindowFrame
) As Integer

Parâmetros

  • pszMkDocumentOld
    [in] Especifica o caminho original do arquivo a ser transferido.
  • pszMkDocumentNew
    [in] Especifica o novo caminho para o arquivo.
  • punkWindowFrame
    [in] Especifica o ponteiro para a janela aberta para o arquivo.

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.

Implementações

IVsExternalFilesManager.TransferDocument(String, String, IVsWindowFrame)

Comentários

COM assinatura

De vsshell.idl:

HRESULT IVsExternalFilesManager2::TransferDocument(
   [in] LPCOLESTR pszMkDocumentOld,
   [in] LPCOLESTR pszMkDocumentNew,
   [in] IVsWindowFrame *punkWindowFrame
);

Esta é a implementação da Abrir o arquivo externo comando no sistema de arquivo menu.Se nenhum projeto pode atender a esse arquivo e o projeto Miscellaneous Files (arquivos externos) já não está presente, o ambiente cria o projeto arquivos diversos e tenta novamente.

No ambiente, os projeto arquivos diversos é implementado usando o Gerenciador de arquivos externos (IVsExternalFilesManager).Essa interface permite que você manipule o projeto arquivos diversos.

Se você tiver um projeto do World Wide Web, a definição de seu sistema de projeto está estreitamente ligada ao fato de que suas páginas da Web residir em uma pasta específica, imitando a hierarquia do site da Web.Se o seu projeto, que tem um arquivo aberto a partir da Web e o usuário decide fazer uma Salvar como nesse arquivo para salvá-lo em um disquete, em seguida, esse arquivo pode não mais ser considerado um arquivo que pertença ao site da Web, porque ele não está localizado no diretório do site da Web.Modelo do ambiente de Salvar como é que o editor aberto rastreia o arquivo em seu novo local.Ou seja, o editor continua a editar o novo arquivo em seu novo local e o arquivo antigo permanece inalterado no local original e não está mais aberto.Como o novo arquivo não é um membro do projeto do site, o sistema do projeto entrega abrir o editor de projeto arquivos diversos.

Para concluir essa transferência, o proprietário de hierarquia/itemID do projeto (no exemplo, o projeto da Web) chamadas Query Service para SID_SVsExternalFilesManager receber um ponteiro para IVsExternalFilesManager.O projeto, em seguida, chama TransferDocument passando o identificador de origem do documento antigo (pszMkDocumentString) para o documento quando ele estava no projeto da Web.Este identificador de origem pode ser uma URL, http:// ou caminho UNC e é fundamental para o arquivo original da tabela do documento em execução (RDT).Ele também passa a nova pszMkDocumentString e a abrir o novo ponteiro do quadro de janela.Projeto arquivos diversos, em seguida, transfere o arquivo para seu projeto, aloca um novo ID de item para ele e, em seguida, atualiza o RDT chamando RenameDocument método.Quadros de janela e diferentes entidades que ouvir eventos RDT e sabem para atualizar suas referências ao documento.

Consulte também

Interface IVsExternalFilesManager2
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo