Udostępnij za pośrednictwem


Interfejs IVsCoTaskMemFreeMyStrings

 

Używane w powiązaniu z niektórych inne interfejsy, aby wskazać, że zwracane z tych interfejsów ciągi powinny zwolniona przez obiekt wywołujący.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop.8.0 (w Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Składnia

[InterfaceTypeAttribute(1)]
[GuidAttribute("47811DA4-330F-4EB5-9D14-BBC82773DA66")]
public interface IVsCoTaskMemFreeMyStrings
[InterfaceTypeAttribute(1)]
[GuidAttribute("47811DA4-330F-4EB5-9D14-BBC82773DA66")]
public interface class IVsCoTaskMemFreeMyStrings
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("47811DA4-330F-4EB5-9D14-BBC82773DA66")>]
type IVsCoTaskMemFreeMyStrings = interface end
<InterfaceTypeAttribute(1)>
<GuidAttribute("47811DA4-330F-4EB5-9D14-BBC82773DA66")>
Public Interface IVsCoTaskMemFreeMyStrings

Uwagi

COM normalne zasady wymagają dowolny ciąg przekazywana z powrotem do rozmówcy powinny kopię ciąg, który ostatecznie zbywa wywołującego.Innymi słowy obiekt wywołujący jest podana własności ciąg i można zbywać ciągu, gdy obiekt wywołujący, poda.

Niektóre interfejsy w Visual Studio miejsca rozszerzalności nie przestrzegają tę regułę z przekazaniem prawa własności do rozmówcy, ze względu na wydajność.Wywoływania tych specjalnych interfejsów zrozumieć tę zmianę w regule i nie należy próbować zbywać ciąg.Jednak w kodzie zarządzanym deklaracji parametru zwracane ciągi w tych specjalnych interfejsów implikują zawsze własności przekazywanie ciągu do obiektu wywołującego.

Kod zarządzany należy implementować IVsCoTaskMemFreeMyStrings interfejsu na tych określonych interfejsach, aby wskazać, że ciąg naprawdę powinny zostać uwolnione przez obiekt wywołujący; w przeciwnym wypadku obiekt wywołujący nie zwolni ciąg.

Uwagi dotyczące implementacji:

Implementuje ten interfejs na tym samym interfejsy, które zawierają następujące metody.Wykonania tego interfejsu wskazuje, że ciąg zwracany z następujących metod jest usuwana przez obiekt wywołujący; w przeciwnym razie ciąg nie jest zbywany.

Uwagi dotyczące wywoływania:

Niezarządzane calling kod do kodu zarządzanego do jednej metody na liście wykazane w informacji dodatkowej do implementacji sekcji wywołania QueryInterface metody na interfejsie, który zawiera metody uzyskiwania IVsCoTaskMemFreeMyStrings interfejsu.Jeśli IVsCoTaskMemFreeMyStrings interfejsu można uzyskać, jest odpowiedzialny za zwalniania ciąg, wywołując FreeCoTaskMem funkcji (nie SysFreeString funkcji).Jeśli nie można uzyskać IVsCoTaskMemFreeMyStrings interfejsu, nie należy próbować wolne zwrócony ciąg.

Zobacz też

Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku