CLSID là một từ viết tắt được sử dụng để mô tả ID lớp hoặc “mã định danh lớp” của ứng dụng phần mềm. Nói cách khác, CLSID là một số nhận dạng duy nhất được cấp cho các ứng dụng phần mềm hoặc các thành phần phần mềm để hoạt động như một loại ‘số an sinh xã hội' cho bất kỳ phần mềm cụ thể nào.
CLSID tạo thành một danh mục con ‘Số nhận dạng duy nhất trên toàn cầu' hoặc GUID, thường được sử dụng trong COM và như vậy, CLSID được sử dụng để xác định cụ thể các đối tượng COM. COM, hoặc “Mô hình đối tượng thành phần”, là một mô hình kiến trúc của Microsoft được áp dụng cho các ứng dụng phần mềm thành phần và xác định cấu hình để xây dựng các quy trình chương trình (tức là các đối tượng COM) có thể được thực thi và khởi chạy trong môi trường Windows. Các đối tượng COM là các thành phần phần mềm bên trong COM có thể được gọi lên bất cứ khi nào các dịch vụ của nó là cần thiết. Đây là lúc CLSIDs phát huy tác dụng.
Giá trị CLSID được ghi vào sổ đăng ký máy tính của bạn, tại HKEY_CLASSES_ROOTS\CLSID, để các thành phần COM riêng lẻ có thể được các chương trình khác tự động tải lên. Mục đích của việc áp dụng khóa đăng ký CLSID cho một ứng dụng phần mềm là cho phép Microsoft Windows sử dụng số CLSID để xác định và / hoặc gọi các đối tượng COM khác nhau mà không cần biết thêm tên của chúng. CLSID cũng được các chương trình phần mềm sử dụng để xác định máy tính, tệp, v.v.
CLSID được tạo ra như thế nào?
Một chương trình tiện ích do Microsoft cung cấp, có tên là GUIDGEN.EXE tạo số nhận dạng CLSID. Vì vậy, hai số sẽ không bao giờ giống nhau, chương trình này sử dụng địa chỉ bộ điều hợp mạng của bạn, thời gian hiện tại, cũng như các mục khác được lưu trữ trong máy tính của bạn để tạo một số CLSID hoàn toàn duy nhất mỗi lần. Về mặt thống kê, có rất ít khả năng CLSID bị trùng lặp và điều này rất quan trọng vì những số nhận dạng này được sử dụng trên một loạt các máy tính và mạng khác nhau. Về hình thức, CLSID được lưu trữ dưới dạng số lớn, 128 bit, dài 32 ký tự và thường được hiển thị như sau:
{AE7AB96B-FF5E-4dce-801E-14DF2C4CD681}
Thông thường, số nhận dạng này được thể hiện dưới dạng một trong các mã sau:
a) một nhóm số nguyên 16 byte
b) một chuỗi các số thập lục phân được thiết kế riêng, trong đó các chữ cái từ a đến f – hoặc A đến F – đại diện cho các số 10-15
Do đó, mỗi đối tượng COM được cung cấp một thẻ CLSID duy nhất cho mục đích nhận dạng và sau đó được lưu trữ trong sổ đăng ký máy tính của bạn. Sổ đăng ký máy tính của bạn là nơi lưu bản ghi của tất cả những gì xảy ra trên máy tính của bạn. Từ các chương trình và tệp được lưu trên ổ cứng của máy tính đến chi tiết phần cứng của PC, sổ đăng ký máy tính của bạn sẽ lưu trữ tất cả. Vấn đề duy nhất là, mặc dù sổ đăng ký trên PC của bạn chắc chắn rất tiện dụng, nhưng nó không có cách nào để tự động loại bỏ hệ thống của bạn về thông tin và CLSID đã lỗi thời. Điều này có nghĩa là thông tin và CLSID đã lỗi thời và không được sử dụng theo thời gian tích tụ bên trong sổ đăng ký PC của bạn và khiến hệ thống máy tính của bạn hoạt động ngày càng chậm hơn. CLSID được lưu trữ trong khóa đăng ký sau HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{CLSID} và bảng bên dưới hiển thị các giá trị được đặt tên cho khóa CLSID.
Registry key | Description |
---|---|
\AppID = {CLSID} | Affiliates an AppID with a CLSID. |
\AutoConvertTo = {CLSID} | Designates the automatic conversion of a given class of objects to a new class of objects. |
\AutoTreatAs = {CLSID} | Immediately sets the CLSID for the TreatAs key to the specified value. |
\AuxUserType | Designates a program's short display name and program names. |
\Control | Recognizes an object as an ActiveX Control. |
\Conversion | Used by the Convert dialog box to determine the formats a program can read and write. |
\DataFormats | Designates the default and main data formats supported by a program. |
\DefaultIcon = {full path to exe, resource id} | Provides default icon information for iconic presentations of objects. |
\InprocHandler32 = {handler.dll} | Designates whether a program uses a custom handler. |
\InprocHandler32 | Designates whether a program uses a custom handler. |
\InprocServer | Designates the path to the in-process server DLL. |
\InprocServer32 = {path to 32-bit inproc server} | Registers a 32-bit in-process server and designates the threading model of the apartment the server can run in. |
\Insertable | Indicates that objects of this class should appear in the Insert Object dialog box list box when used by COM container programs. |
\Interface \{IID} = {name of interface1} \{IID} = {name of interface2} \… |
An alternative entry that designates all interface IDs (IIDs) supported by the associated class. |
\LocalServer | Designates the full path to a 16-bit local server program. |
\LocalServer32 = {full path} | Designates the full path to a 32-bit local server program. |
\MiscStatus | Designates how to make and display an object. |
\ProgID = {programmatic identifier} | Affiliates a ProgID with a CLSID. |
\ToolBoxBitmap32 | Recognizes the module name and resource ID for a 16 x 16 bitmap to use for the face of a toolbar or toolbox button. |
\TreatAs = {CLSID} | Designates the CLSID of a class that can emulate the current class. |
\Verb \1 = {verb1} \2 = {verb2} \3 = |
Designates the verbs to be registered for a program. |
\Version = {VersionNumber} | Designates the version number of the control. |
\VersionIndependentProgID | Affiliates a ProgID with a CLSID. This value is used to decide the latest version of an object program. |
Làm thế nào để bạn gỡ bỏ sổ đăng ký lộn xộn trên PC của bạn? Một trình dọn dẹp registry tốt sẽ thực hiện thủ thuật này. Mục đích của công cụ dọn dẹp sổ đăng ký là hỗ trợ bạn loại bỏ những thứ lộn xộn cũ và không cần thiết khỏi sổ đăng ký máy tính của bạn, do đó cho phép PC của bạn trở lại ‘những ngày tốt lành' hoạt động nhanh hơn và mượt mà hơn.