หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Supports the WRL infrastructure and is not intended to be used directly from your code.
Syntax
template <typename T>
class ComPtrRef : public ComPtrRefBase<T>;
Parameters
T
A ComPtr<T> type or a type derived from it, not merely the interface represented by the ComPtr.
Remarks
Represents a reference to an object of type ComPtr<T>.
Members
Public Constructors
| Name | Description |
|---|---|
| ComPtrRef::ComPtrRef | Initializes a new instance of the ComPtrRef class from the specified pointer to another ComPtrRef object. |
Public Methods
| Name | Description |
|---|---|
| ComPtrRef::GetAddressOf | Retrieves the address of a pointer to the interface represented by the current ComPtrRef object. |
| ComPtrRef::ReleaseAndGetAddressOf | Deletes the current ComPtrRef object and returns a pointer-to-a-pointer to the interface that was represented by the ComPtrRef object. |
Public Operators
| Name | Description |
|---|---|
| ComPtrRef::operator InterfaceType** | Deletes the current ComPtrRef object and returns a pointer-to-a-pointer to the interface that was represented by the ComPtrRef object. |
| ComPtrRef::operator T* | Returns the value of the ptr_ data member of the current ComPtrRef object. |
| ComPtrRef::operator void** | Deletes the current ComPtrRef object, casts the pointer to the interface that was represented by the ComPtrRef object as a pointer-to-pointer-to void, and then returns the cast pointer. |
| ComPtrRef::operator* | Retrieves the pointer to the interface represented by the current ComPtrRef object. |
| ComPtrRef::operator== | Indicates whether two ComPtrRef objects are equal. |
| ComPtrRef::operator!= | Indicates whether two ComPtrRef objects are not equal. |
Inheritance Hierarchy
ComPtrRefBase
ComPtrRef
Requirements
Header: client.h
Namespace: Microsoft::WRL::Details
ComPtrRef::ComPtrRef
Supports the WRL infrastructure and is not intended to be used directly from your code.
ComPtrRef(
_In_opt_ T* ptr
);
Parameters
ptr
The underlying value of another ComPtrRef object.
Remarks
Initializes a new instance of the ComPtrRef class from the specified pointer to another ComPtrRef object.
ComPtrRef::GetAddressOf
Supports the WRL infrastructure and is not intended to be used directly from your code.
InterfaceType* const * GetAddressOf() const;
Return Value
Address of a pointer to the interface represented by the current ComPtrRef object.
Remarks
Retrieves the address of a pointer to the interface represented by the current ComPtrRef object.
ComPtrRef::operator==
Supports the WRL infrastructure and is not intended to be used directly from your code.
bool operator==(
const Details::ComPtrRef<ComPtr<T>>& a,
const Details::ComPtrRef<ComPtr<U>>& b
);
bool operator==(
const Details::ComPtrRef<ComPtr<T>>& a,
decltype(__nullptr)
);
bool operator==(
decltype(__nullptr),
const Details::ComPtrRef<ComPtr<T>>& a
);
bool operator==(
const Details::ComPtrRef<ComPtr<T>>& a,
void* b
);
bool operator==(
void* b,
const Details::ComPtrRef<ComPtr<T>>& a
);
Parameters
a
A reference to a ComPtrRef object.
b
A reference to another ComPtrRef object, or a pointer to an anonymous type (void*).
Return Value
The first operator yields true if object a is equal to object b; otherwise, false.
The second and third operators yield true if object a is equal to nullptr; otherwise, false.
The fourth and fifth operators yield true if object a is equal to object b; otherwise, false.
Remarks
Indicates whether two ComPtrRef objects are equal.
ComPtrRef::operator!=
Supports the WRL infrastructure and is not intended to be used directly from your code.
bool operator!=(
const Details::ComPtrRef<ComPtr<T>>& a,
const Details::ComPtrRef<ComPtr<U>>& b
);
bool operator!=(
const Details::ComPtrRef<ComPtr<T>>& a,
decltype(__nullptr)
);
bool operator!=(
decltype(__nullptr),
const Details::ComPtrRef<ComPtr<T>>& a
);
bool operator!=(
const Details::ComPtrRef<ComPtr<T>>& a,
void* b
);
bool operator!=(
void* b,
const Details::ComPtrRef<ComPtr<T>>& a
);
Parameters
a
A reference to a ComPtrRef object.
b
A reference to another ComPtrRef object, or a pointer to an anonymous object (void*).
Return Value
The first operator yields true if object a is not equal to object b; otherwise, false.
The second and third operators yield true if object a is not equal to nullptr; otherwise, false.
The fourth and fifth operators yield true if object a is not equal to object b; otherwise, false.
Remarks
Indicates whether two ComPtrRef objects are not equal.
ComPtrRef::operator InterfaceType**
Supports the WRL infrastructure and is not intended to be used directly from your code.
operator InterfaceType**();
Remarks
Deletes the current ComPtrRef object and returns a pointer-to-a-pointer to the interface that was represented by the ComPtrRef object.
ComPtrRef::operator*
Supports the WRL infrastructure and is not intended to be used directly from your code.
InterfaceType* operator *();
Return Value
Pointer to the interface represented by the current ComPtrRef object.
Remarks
Retrieves the pointer to the interface represented by the current ComPtrRef object.
ComPtrRef::operator T*
Supports the WRL infrastructure and is not intended to be used directly from your code.
operator T*();
Remarks
Returns the value of the ptr_ data member of the current ComPtrRef object.
ComPtrRef::operator void**
Supports the WRL infrastructure and is not intended to be used directly from your code.
operator void**() const;
Remarks
Deletes the current ComPtrRef object, casts the pointer to the interface that was represented by the ComPtrRef object as a pointer-to-pointer-to void, and then returns the cast pointer.
ComPtrRef::ReleaseAndGetAddressOf
Supports the WRL infrastructure and is not intended to be used directly from your code.
InterfaceType** ReleaseAndGetAddressOf();
Return Value
Pointer to the interface that was represented by the deleted ComPtrRef object.
Remarks
Deletes the current ComPtrRef object and returns a pointer-to-a-pointer to the interface that was represented by the ComPtrRef object.