没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1 / 48
[MS-SHLLINK] — v20110504
Shell Link (.LNK) Binary File Format
Copyright © 2011 Microsoft Corporation.
Release: Wednesday, May 4, 2011
[MS-SHLLINK]:
Shell Link (.LNK) Binary File Format
Intellectual Property Rights Notice for Open Specifications Documentation
Technical Documentation. Microsoft publishes Open Specifications documentation for
protocols, file formats, languages, standards as well as overviews of the interaction among each
of these technologies.
Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other
terms that are contained in the terms of use for the Microsoft website that hosts this
documentation, you may make copies of it in order to develop implementations of the
technologies described in the Open Specifications and may distribute portions of it in your
implementations using these technologies or your documentation as necessary to properly
document the implementation. You may also distribute in your implementation, with or without
modification, any schema, IDL’s, or code samples that are included in the documentation. This
permission also applies to any documents that are referenced in the Open Specifications.
No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
Patents. Microsoft has patents that may cover your implementations of the technologies
described in the Open Specifications. Neither this notice nor Microsoft's delivery of the
documentation grants any licenses under those or any other Microsoft patents. However, a given
Open Specification may be covered by Microsoft's Open Specification Promise (available here:
http://www.microsoft.com/interop/osp) or the Community Promise (available here:
http://www.microsoft.com/interop/cp/default.mspx). If you would prefer a written license, or if
the technologies described in the Open Specifications are not covered by the Open Specifications
Promise or Community Promise, as applicable, patent licenses are available by contacting
iplg@microsoft.com.
Trademarks. The names of companies and products contained in this documentation may be
covered by trademarks or similar intellectual property rights. This notice does not grant any
licenses under those rights.
Fictitious Names. The example companies, organizations, products, domain names, e-mail
addresses, logos, people, places, and events depicted in this documentation are fictitious. No
association with any real company, organization, product, domain name, email address, logo,
person, place, or event is intended or should be inferred.
Reservation of Rights. All other rights are reserved, and this notice does not grant any rights
other than specifically described above, whether by implication, estoppel, or otherwise.
Tools. The Open Specifications do not require the use of Microsoft programming tools or
programming environments in order for you to develop an implementation. If you have access to
Microsoft programming tools and environments you are free to take advantage of them. Certain
Open Specifications are intended for use in conjunction with publicly available standard
specifications and network programming art, and assumes that the reader either is familiar with the
aforementioned material or has immediate access to it.
2 / 48
[MS-SHLLINK] — v20110504
Shell Link (.LNK) Binary File Format
Copyright © 2011 Microsoft Corporation.
Release: Wednesday, May 4, 2011
Revision Summary
Date
Revision
History
Revision
Class
Comments
07/16/2010
1.0
New
First Release.
08/27/2010
1.1
Minor
Clarified the meaning of the technical content.
10/08/2010
1.1
No change
No changes to the meaning, language, or formatting of
the technical content.
11/19/2010
1.1
No change
No changes to the meaning, language, or formatting of
the technical content.
01/07/2011
1.1
No change
No changes to the meaning, language, or formatting of
the technical content.
02/11/2011
1.1
No change
No changes to the meaning, language, or formatting of
the technical content.
03/25/2011
1.1
No change
No changes to the meaning, language, or formatting of
the technical content.
05/06/2011
1.1
No change
No changes to the meaning, language, or formatting of
the technical content.
3 / 48
[MS-SHLLINK] — v20110504
Shell Link (.LNK) Binary File Format
Copyright © 2011 Microsoft Corporation.
Release: Wednesday, May 4, 2011
Contents
1 Introduction ............................................................................................................. 4
1.1 Glossary ............................................................................................................... 4
1.2 References ............................................................................................................ 5
1.2.1 Normative References ....................................................................................... 5
1.2.2 Informative References ..................................................................................... 6
1.3 Overview .............................................................................................................. 6
1.4 Relationship to Protocols and Other Structures .......................................................... 6
1.5 Applicability Statement ........................................................................................... 7
1.6 Versioning and Localization ..................................................................................... 7
1.7 Vendor-Extensible Fields ......................................................................................... 7
2 Structures ................................................................................................................ 8
2.1 ShellLinkHeader..................................................................................................... 8
2.1.1 LinkFlags ....................................................................................................... 10
2.1.2 FileAttributesFlags .......................................................................................... 12
2.1.3 HotKeyFlags .................................................................................................. 13
2.2 LinkTargetIDList .................................................................................................. 16
2.2.1 IDList ........................................................................................................... 16
2.2.2 ItemID .......................................................................................................... 17
2.3 LinkInfo .............................................................................................................. 17
2.3.1 VolumeID ...................................................................................................... 20
2.3.2 CommonNetworkRelativeLink ........................................................................... 21
2.4 StringData .......................................................................................................... 25
2.5 ExtraData ........................................................................................................... 26
2.5.1 ConsoleDataBlock ........................................................................................... 27
2.5.2 ConsoleFEDataBlock ....................................................................................... 32
2.5.3 DarwinDataBlock ............................................................................................ 32
2.5.4 EnvironmentVariableDataBlock ........................................................................ 33
2.5.5 IconEnvironmentDataBlock .............................................................................. 35
2.5.6 KnownFolderDataBlock .................................................................................... 36
2.5.7 PropertyStoreDataBlock .................................................................................. 37
2.5.8 ShimDataBlock .............................................................................................. 37
2.5.9 SpecialFolderDataBlock ................................................................................... 38
2.5.10 TrackerDataBlock ......................................................................................... 38
2.5.11 VistaAndAboveIDListDataBlock ....................................................................... 40
3 Structure Examples ................................................................................................ 41
3.1 Shortcut to a File ................................................................................................. 41
4 Security .................................................................................................................. 45
5 Appendix A: Product Behavior ................................................................................ 46
6 Change Tracking..................................................................................................... 47
7 Index ..................................................................................................................... 48
4 / 48
[MS-SHLLINK] — v20110504
Shell Link (.LNK) Binary File Format
Copyright © 2011 Microsoft Corporation.
Release: Wednesday, May 4, 2011
1 Introduction
This is a specification of the Shell Link Binary File Format. In this format a structure is called a shell
link, or shortcut, and is a data object that contains information that can be used to access
another data object. The Shell Link Binary File Format is the format of Microsoft Windows® files with
the extension "LNK".
Shell links are commonly used to support application launching and linking scenarios, such as
Object Linking and Embedding (OLE), but they also can be used by applications that need the
ability to store a reference to a target file.
1.1 Glossary
The following terms are defined in [MS-GLOS]:
American National Standards Institute (ANSI) character set
Augmented Backus-Naur Form (ABNF)
class identifier (CLSID)
code page
Component Object Model (COM)
Coordinated Universal Time (UTC)
GUID
little-endian
NetBIOS name
object (3)
Unicode
Universal Naming Convention (UNC)
The following terms are specific to this document:
extra data section: A data structure appended to the basic Shell Link Binary File Format data
that contains additional information about the link target.
folder integer ID: An integer value that identifies a known folder.
folder GUID ID: A GUID value that identifies a known folder. Some folder GUID ID values
correspond to folder integer ID values.
item ID (ItemID): A structure that represents an item in the context of a shell data source.
item ID list (IDList): A data structure that refers to a location. An item ID list is a multi-
segment data structure where each segment's content is defined by a data source that is
responsible for the location in the namespace referred to by the preceding segments.
link: An object that refers to another item.
link target: The item that a link references. In the case of a shell link, the referenced item is
identified by its location in the link target namespace using an item ID list (IDList).
link target namespace: A hierarchical namespace. In Windows, the link target namespace is
the Windows Explorer namespace, as described in [C706].
namespace: An abstract container used to hold a set of unique identifiers.
5 / 48
[MS-SHLLINK] — v20110504
Shell Link (.LNK) Binary File Format
Copyright © 2011 Microsoft Corporation.
Release: Wednesday, May 4, 2011
Object Linking and Embedding (OLE): A technology for transferring and sharing information
between applications by inserting a file or part of a file into a compound document. The
inserted file can be either linked or embedded. An embedded item is stored as part of the
compound document that contains it; a linked item stores its data in a separate file.
relative path: A path that is implied by the current working directory or is calculated based on a
specified directory. When a user enters a command that refers to a file, and the full path is
not entered, the current working directory becomes the relative path of the referenced file.
resolving a link: The act of finding a specific link target, confirming that it exists, and finding
whether it has moved.
Red-Green-Blue (RGB): A mapping of color components in which red, green, and blue and an
intensity value are combined in various ways to reproduce a range of colors.
shell data source: An object that is responsible for a specific location in the namespace and
for enumerating and binding IDLists to handlers.
shell link: A structure in Shell Link Binary File Format.
shim: A mechanism used to provide custom behavior to applications that do not work on newer
versions of the operating system.
shortcut: A term that is used synonymously with shell link.
MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as
described in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or
SHOULD NOT.
1.2 References
1.2.1 Normative References
We conduct frequent surveys of the normative references to assure their continued availability. If
you have any issue with finding a normative reference, please contact dochelp@microsoft.com. We
will assist you in finding the relevant information. Please check the archive site,
http://msdn2.microsoft.com/en-us/library/E4BD6494-06AD-4aed-9823-445E921C9624, as an
additional source.
[MS-DFSNM] Microsoft Corporation, "Distributed File System (DFS): Namespace Management
Protocol Specification", July 2006.
[MS-DTYP] Microsoft Corporation, "Windows Data Types", January 2007.
[MS-LCID] Microsoft Corporation, "Windows Language Code Identifier (LCID) Reference", March
2007.
[MS-PROPSTORE] Microsoft Corporation, "Property Store Binary File Format", July 2010.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC
2119, March 1997, http://www.rfc-editor.org/rfc/rfc2119.txt
[RFC5234] Crocker, D., Ed., and Overell, P., "Augmented BNF for Syntax Specifications: ABNF", STD
68, RFC 5234, January 2008, http://www.rfc-editor.org/rfc/rfc5234.txt
剩余47页未读,继续阅读
资源评论
- 太医2015-04-17东西不错,学习了
- blackwhiteABC2018-03-15东西不错,很好的参考资料
GaA_Ra
- 粉丝: 160
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码
- C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码
- C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码
- 6693eeb8d683458a07938615fba9e68f.apk
- C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码
- C#,数值计算,用割线法(Secant Method)求方程根的算法与源代码
- C#,子集和问题(Subset Sum Problem)的算法与源代码
- mongodb 数据库基本操作
- Linux操作系统基础教程
- Linux操作系统相关习题集
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功