RealProxy.GetCOMIUnknown(Boolean) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 프록시 인스턴스가 표시하는 개체에 대해 관리되지 않는 참조를 요청합니다.
public:
virtual IntPtr GetCOMIUnknown(bool fIsMarshalled);
public virtual IntPtr GetCOMIUnknown (bool fIsMarshalled);
[System.Security.SecurityCritical]
public virtual IntPtr GetCOMIUnknown (bool fIsMarshalled);
abstract member GetCOMIUnknown : bool -> nativeint
override this.GetCOMIUnknown : bool -> nativeint
[<System.Security.SecurityCritical>]
abstract member GetCOMIUnknown : bool -> nativeint
override this.GetCOMIUnknown : bool -> nativeint
Public Overridable Function GetCOMIUnknown (fIsMarshalled As Boolean) As IntPtr
매개 변수
- fIsMarshalled
- Boolean
원격 위치로의 마샬링을 위해 개체 참조가 요청되면 true
이고, COM을 통한 현재 프로세스에서 관리되지 않는 개체와의 통신을 위해 개체 참조가 요청되면 false
입니다.
반환
nativeint
COM을 통한 현재 프로세스에서 관리되지 않는 개체와의 통신을 위해 개체 참조가 요청되면 COM Callable Wrapper에 대한 포인터이고, 원격 위치로의 마샬링을 위해 개체 참조가 요청되면 캐시되었거나 새로 생성된 IUnknown
COM 인터페이스에 대한 포인터입니다.
- 특성
예제
[SecurityPermission(SecurityAction::LinkDemand, Flags = SecurityPermissionFlag::Infrastructure)]
IntPtr SupportsInterface( Guid * /*myGuid*/ )
{
Console::WriteLine( "SupportsInterface method called" );
// Object reference is requested for communication with unmanaged objects
// in the current process through COM.
IntPtr myIntPtr = this->GetCOMIUnknown( false );
// Stores an unmanaged proxy of the object.
this->SetCOMIUnknown( myIntPtr );
// return COM Runtime Wrapper pointer.
return myIntPtr;
}
public override IntPtr SupportsInterface(ref Guid myGuid)
{
Console.WriteLine("SupportsInterface method called");
// Object reference is requested for communication with unmanaged objects
// in the current process through COM.
IntPtr myIntPtr = this.GetCOMIUnknown(false);
// Stores an unmanaged proxy of the object.
this.SetCOMIUnknown(myIntPtr);
// return COM Runtime Wrapper pointer.
return myIntPtr;
}
<SecurityPermission(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.Infrastructure)> _
Public Overrides Function SupportsInterface(ByRef myGuid As Guid) As IntPtr
Console.WriteLine("SupportsInterface method called")
' Object reference is requested for communication with unmanaged objects
' in the current process through COM.
Dim myIntPtr As IntPtr = Me.GetCOMIUnknown(False)
' Stores an unmanaged proxy of the object.
Me.SetCOMIUnknown(myIntPtr)
' return COM Runtime Wrapper pointer.
Return myIntPtr
End Function 'SupportsInterface
설명
마샬링 프록시 요청 되 면 IUnknown
인터페이스 현재 프록시 인스턴스가 나타내는 개체가 반환 됩니다. 경우는 IUnknown
하 여 이전에 캐시 된는 SetCOMIUnknown 메서드를 다음 해당 인스턴스가 반환 됩니다. 그렇지 않으면 새 인스턴스는 반환 합니다.
마샬링이 아니라 현재 프로세스에서 관리 되지 않는 개체와의 통신에 프록시 요청 되는 COM Callable Wrapper (CCW) 반환 되는 COM 통한 통신에 대 한 현재 프로세스에 사용할 수 있습니다.
적용 대상
.NET