Tôi là lập trình viên .NET và mới là COM. Muốn biết một cách đơn giản chức năng của CoCreateInstance là gì?Chức năng chính xác của CoCreateInstance là gì?
Trả lời
Bạn có thể nghĩ về CoCreateInstance()
làm giao diện cho một lớp nhà máy ẩn danh.
Trong OOP thường hợp lý để sử dụng mẫu nhà máy để chỉ gọi phương thức tạo và nhận con trỏ/tham chiếu giao diện mà không cần phải biết chính xác lớp nào đằng sau giao diện đó. Nhưng bạn vẫn cần biết lớp nào để sử dụng làm nhà máy. Bạn có thể ẩn nó bằng cách có một số chức năng toàn cầu nhưng bạn vẫn cần phải biết tên của nó và các quy ước gọi.
CoCreateInstance tiến xa hơn - nó cũng ẩn lớp nhà máy và cung cấp chức năng toàn cầu trên toàn hệ thống. Tất cả bạn cung cấp nó là một id lớp - mà chỉ là một GUID - và một id giao diện - đó cũng là một GUID. Bạn không biết nơi thực hiện và ngôn ngữ của nó là gì - COM giao dịch với tất cả những gì cho rằng có một máy chủ COM trên hệ thống của bạn có chứa việc triển khai cho id lớp được chỉ định cho thấy một giao diện cho id giao diện được chỉ định.
Bạn gọi toàn cầu CoCreateInstance(), nó tìm thấy máy chủ COM (hoặc không thành công), khởi tạo nó, yêu cầu nó tạo đối tượng (có thể thất bại), truy xuất con trỏ giao diện đến đối tượng đó (có thể không thành công)) và trả về con trỏ giao diện này cho bạn.
Đặt một cách đơn giản, nó được sử dụng để tạo một thể hiện của một lớp, lớp được chỉ định bởi GUID.
HRESULT CoCreateInstance(
__in REFCLSID rclsid, // which class you want
__in LPUNKNOWN pUnkOuter, // used in aggregation
__in DWORD dwClsContext, // how/where you want the object created
__in REFIID riid, // which of the object's interfaces you want to use
__out LPVOID *ppv // where the pointer to the created object is placed
);
Để biết thêm thông tin, hãy đọc documentation.
- 1. Chức năng của session_module_name chính xác của php là gì?
- 2. Chính xác là gì?
- 3. Cách sử dụng chính xác chức năng attr CSS là gì?
- 4. Chức năng gc_enable của PHP có thể làm gì chính xác?
- 5. Chức năng __proto__ là gì?
- 6. Chức năng chặn là gì?
- 7. Chức năng "Trang" là gì?
- 8. chức năng 'hợp lệ' std :: là gì?
- 9. Sun.jnu.encoding chính xác là gì?
- 10. Mục đích của khối thử chức năng là gì?
- 11. Container.DataItem chính xác là gì?
- 12. Chính xác PLINQ là gì?
- 13. Heroku chính xác là gì?
- 14. OWASP chính xác là gì?
- 15. Nhân viên của appharbor là gì ... chính xác?
- 16. strptime() chức năng là không xác định
- 17. Độ chính xác nội bộ của numpy.float128 là gì?
- 18. chức năng chính Python
- 19. Chính xác Unicode Codepage 1200 là gì?
- 20. Các phần chức năng và không chức năng của ứng dụng là gì?
- 21. Loại kết quả của chức năng này là gì?
- 22. lợi thế của chức năng tĩnh là gì?
- 23. Chức năng hệ thống của C++ là gì?
- 24. Cách ưa thích của chuỗi chức năng Underscore.js là gì?
- 25. chức năng của toán tử "&:" trong ruby là gì?
- 26. Độ phức tạp của chức năng nhật ký là gì?
- 27. "setup.py clean" chính xác là gì?
- 28. cách chính xác để định dạng chức năng javascript
- 29. Chức năng băm tốt là gì?
- 30. Chức năng eval thay thế là gì?