FileTags Library - a library written in assembler (for x86 and x64) which consists of functions that wrap the COM implementation of the IPropertyStore object, for for accessing the PKEY_Keywords property metadata of a file.
The IPropertyStore object and PKEY_Keywords property is used for the 'Tags' feature in Windows Explorer, when viewing the properties of a file, or when the Details Pane of Windows Explorer is open and a file is selected.
Thus the FileTags Library functions hide the complexities of interacting with the IPropertyStore COM object, allowing the user to read, write and clear the keywords / tags for a file.
- Read file tags: FileTagsReadA&FileTagsReadW
- Write file tags: FileTagsWriteA&FileTagsWriteW
- Clear file tags: FileTagsClearA&FileTagsClearW
- 
Download the latest release for whichever assembler and architecture you require: 
- 
Copy FileTags.incto yourmasm32\includefolder for FileTags Library x86, oruasm\includefor FileTags Library x64 (or wherever your include files are located)
- 
Copy FileTags.libto yourmasm32\libfolder for FileTags Library x86, oruasm\lib\x64for FileTags Library x64 (or wherever your libraries are located)
- 
Add the following to your project: include FileTags.inc includelib FileTags.lib 
Documentation on the functions in the FileTags libraries are located on readthedocs here
For more details on file tagging or the file property metadata:
- https://karl-voit.at/2019/11/26/Tagging-Files-With-Windows-10/
- https://github.com/Dijji/FileMeta/wiki/XP,-Vista-and-File-Metadata
Included with the releases are additional RadASM autocomplete / intellisense type files. Each *.api.txt file contains instructions as to where to paste their contents.
Other resources may be required to build the libraries:
