Udostępnij za pośrednictwem


ComWrappers.TryGetComInstance(Object, IntPtr) Metoda

Definicja

Określa, czy określony obiekt zarządzany jest utworzonym otoką ComWrapperszarządzaną, a jeśli tak, zwraca opakowany wskaźnik niezarządzany.

public:
 static bool TryGetComInstance(System::Object ^ obj, [Runtime::InteropServices::Out] IntPtr % unknown);
public static bool TryGetComInstance (object obj, out IntPtr unknown);
static member TryGetComInstance : obj * nativeint -> bool
Public Shared Function TryGetComInstance (obj As Object, ByRef unknown As IntPtr) As Boolean

Parametry

obj
Object

Zarządzana otoka.

unknown
IntPtr

nativeint

Niezarządzany obiekt COM.

Zwraca

true jeśli otoka została rozpoznana jako zewnętrzny obiekt COM, w przeciwnym razie false.

Uwagi

Jeśli obiekt COM zostanie zwrócony, obiekt wywołujący ma wywołać metodę Release() w obiekcie. Można to zrobić za pomocą interfejsu API, takiego jak Release(IntPtr). Ponieważ ten interfejs API jest wymagany do bezpośredniej interakcji z zewnętrznym obiektem COM, QueryInterface(), ważne jest, aby obiekt COM zrozumiał koligację mieszkania. W związku z tym jeśli bieżący wątek nie znajduje się w prawidłowym mieszkaniu lub obiekt COM nie jest serwerem proxy, to wywołanie może zakończyć się niepowodzeniem.

Dotyczy