2009-05-16 14 views

Trả lời

11

Mẫu MSDN sai. Người gọi giải phóng ra và vào/ra bstrs. Nếu nó vào/ra bạn phải vượt qua trong null hoặc một bstr hợp lệ. Nếu nó chỉ ra, nó không phải được khởi tạo.

Nó không phải siêu rõ ràng từ số com allocation rules của msdn, nhưng sơ đồ khách hàng phân bổ bộ nhớ trên các giá trị ra sao cho từ quan điểm của người gọi mà máy chủ đã làm. Ai khác có thể giải phóng nó nhưng người gọi?

+1

Tôi luôn thấy thuận tiện khi sử dụng '_bstr_t' thay vì giao dịch trực tiếp với' BSTR'. – wilx

+0

vâng, nhưng không phải ai cũng sẵn sàng bị mắc kẹt với Visual Studio. –

9

Tony đúng nhưng tôi muốn mở rộng câu trả lời của anh ấy. Tình hình không chỉ giới hạn ở một BSTR. Người gọi có trách nhiệm giải phóng bất kỳ bộ nhớ nào được trả về thông qua các tham số ra hoặc vào/ra.