You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/assembler/arm/arm-assembler-directives.md
+77-53Lines changed: 77 additions & 53 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,89 +16,113 @@ For the most part, the Microsoft ARM assembler uses the ARM assembly language, w
16
16
17
17
## Microsoft Implementations of ARM Assembly Directives
18
18
19
-
`AREA`<br/>
20
-
The Microsoft ARM assembler supports these `AREA` attributes: `ALIGN`, `CODE`, `CODEALIGN`, `DATA`, `NOINIT`, `READONLY`, `READWRITE`, `THUMB`, `ARM`.
19
+
- AREA
21
20
22
-
All except `THUMB` and `ARM` work as documented in the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html).
21
+
The Microsoft ARM assembler supports these `AREA` attributes: `ALIGN`, `CODE`, `CODEALIGN`, `DATA`, `NOINIT`, `READONLY`, `READWRITE`, `THUMB`, `ARM`.
23
22
24
-
In the Microsoft ARM assembler,`THUMB`indicates that a `CODE` section contains Thumb code, and is the default for `CODE` sections. `ARM` indicates that the section contains ARM code.
23
+
All except`THUMB`and `ARM` work as documented in the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html).
25
24
26
-
`ATTR`<br/>
27
-
Not supported.
25
+
In the Microsoft ARM assembler, `THUMB` indicates that a `CODE` section contains Thumb code, and is the default for `CODE` sections. `ARM` indicates that the section contains ARM code.
28
26
29
-
`CODE16`<br/>
30
-
Not supported because it implies pre-UAL Thumb syntax, which the Microsoft ARM assembler does not allow. Use the `THUMB` directive instead, along with UAL syntax.
27
+
- ATTR
31
28
32
-
`COMMON`<br/>
33
-
Specification of an alignment for the common region is not supported.
29
+
Not supported.
34
30
35
-
`DCDO`<br/>
36
-
Not supported.
31
+
- CODE16
37
32
38
-
`DN`, `QN`, `SN`<br/>
39
-
Specification of a type or a lane on the register alias is not supported.
33
+
Not supported because it implies pre-UAL Thumb syntax, which the Microsoft ARM assembler does not allow. Use the `THUMB` directive instead, along with UAL syntax.
40
34
41
-
`ENTRY`<br/>
42
-
Not supported.
35
+
- COMMON
43
36
44
-
`EQU`<br/>
45
-
Specification of a type for the defined symbol is not supported.
37
+
Specification of an alignment for the common region is not supported.
*sym* is the symbol to be exported. [*type*], if specified, can be either `[DATA]` to indicate that the symbol points to data or `[FUNC]` to indicate that the symbol points to code.
43
+
-`DN`, `QN`, `SN`
52
44
53
-
`GLOBAL` is a synonym for `EXPORT`.
45
+
Specification of a type or a lane on the register alias is not supported.
54
46
55
-
`EXPORTAS`<br/>
56
-
Not supported.
47
+
- ENTRY
57
48
58
-
`FRAME`<br/>
59
-
Not supported.
49
+
Not supported.
60
50
61
-
`FUNCTION` and `PROC`<br/>
62
-
Although the assembly syntax supports the specification of a custom calling convention on procedures by listing the registers that are caller-save and those that are callee-save, the Microsoft ARM assembler accepts the syntax but ignores the register lists. The debug information that is produced by the assembler supports only the default calling convention.
51
+
- EQU
63
52
64
-
`IMPORT` and `EXTERN`
53
+
Specification of a type for the defined symbol is not supported.
If `WEAK`*alias* is specified, it indicates that *sym* is a weak external. If no definition for it is found at link time, then all references to it bind instead to *alias*.
If `TYPE`*t* is specified, then *t* indicates how the linker should attempt to resolve *sym*. These values for *t* are possible:<br/>
73
-
1—Do not perform a library search for *sym*<br/>
74
-
2—Perform a library search for *sym*<br/>
75
-
3—*sym* is an alias for *alias* (default)
61
+
*sym* is the symbol to be exported. [*type*], if specified, can be either `[DATA]` to indicate that the symbol points to data or `[FUNC]` to indicate that the symbol points to code. `GLOBAL` is a synonym for `EXPORT`.
76
62
77
-
`EXTERN` is a synonym for `IMPORT`, except that *sym* is imported only if there are references to it in the current assembly.
63
+
- EXPORTAS
78
64
79
-
`MACRO`<br/>
80
-
The use of a variable to hold the condition code of a macro is not supported. Default values for macro parameters are not supported.
65
+
Not supported.
81
66
82
-
`NOFP`<br/>
83
-
Not supported.
67
+
- FRAME
84
68
85
-
`OPT`, `TTL`, `SUBT`<br/>
86
-
Not supported because the Microsoft ARM assembler does not produce listings.
69
+
Not supported.
87
70
88
-
`PRESERVE8`<br/>
89
-
Not supported.
71
+
-`FUNCTION` and `PROC`
90
72
91
-
`RELOC`<br/>
92
-
`RELOC n` can only follow an instruction or a data definition directive. There is no "anonymous symbol" that can be relocated.
73
+
Although the assembly syntax supports the specification of a custom calling convention on procedures by listing the registers that are caller-save and those that are callee-save, the Microsoft ARM assembler accepts the syntax but ignores the register lists. The debug information that is produced by the assembler supports only the default calling convention.
93
74
94
-
`REQUIRE`<br/>
95
-
Not supported.
75
+
-`IMPORT` and `EXTERN`
96
76
97
-
`REQUIRE8`<br/>
98
-
Not supported.
77
+
Specifies imports using this syntax:
99
78
100
-
`THUMBX`<br/>
101
-
Not supported because the Microsoft ARM assembler does not support the Thumb-2EE instruction set.
If `WEAK`*alias* is specified, it indicates that *sym* is a weak external. If no definition for it is found at link time, then all references to it bind instead to *alias*.
84
+
85
+
If `TYPE`*t* is specified, then *t* indicates how the linker should attempt to resolve *sym*. These values for *t* are possible:
86
+
87
+
|Value|Description|
88
+
|-|-|
89
+
|1|Do not perform a library search for *sym*|
90
+
|2|Perform a library search for *sym*|
91
+
|3|*sym* is an alias for *alias* (default)|
92
+
93
+
`EXTERN` is a synonym for `IMPORT`, except that *sym* is imported only if there are references to it in the current assembly.
94
+
95
+
- MACRO
96
+
97
+
The use of a variable to hold the condition code of a macro is not supported. Default values for macro parameters are not supported.
98
+
99
+
- NOFP
100
+
101
+
Not supported.
102
+
103
+
-`OPT`, `TTL`, `SUBT`
104
+
105
+
Not supported because the Microsoft ARM assembler does not produce listings.
106
+
107
+
- PRESERVE8
108
+
109
+
Not supported.
110
+
111
+
- RELOC
112
+
113
+
`RELOC n` can only follow an instruction or a data definition directive. There is no "anonymous symbol" that can be relocated.
114
+
115
+
- REQUIRE
116
+
117
+
Not supported.
118
+
119
+
- REQUIRE8
120
+
121
+
Not supported.
122
+
123
+
- THUMBX
124
+
125
+
Not supported because the Microsoft ARM assembler does not support the Thumb-2EE instruction set.
Copy file name to clipboardExpand all lines: docs/atl/reference/application-settings-atl-project-wizard.md
+23-15Lines changed: 23 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,32 +20,40 @@ Use the **Application Settings** page of the ATL Project Wizard to design and ad
20
20
21
21
Choose from one of three server types:
22
22
23
-
**Dynamic-link library (DLL)**
24
-
Select to create an in-process server.
23
+
-**Dynamic-link library (DLL)**
25
24
26
-
**Executable (EXE)**
27
-
Select to create a local out-of-process server. This option does not allow support for MFC or COM+ 1.0. It does not allow for the merging of proxy/stub code.
25
+
Select to create an in-process server.
28
26
29
-
**Service (EXE)**
30
-
Select to create a Windows application that runs in the background when Windows starts. This option does not allow support for MFC or COM+ 1.0 or does not allow for the merging of proxy/stub code.
27
+
-**Executable (EXE)**
28
+
29
+
Select to create a local out-of-process server. This option does not allow support for MFC or COM+ 1.0. It does not allow for the merging of proxy/stub code.
30
+
31
+
-**Service (EXE)**
32
+
33
+
Select to create a Windows application that runs in the background when Windows starts. This option does not allow support for MFC or COM+ 1.0 or does not allow for the merging of proxy/stub code.
31
34
32
35
## Additional options
33
36
34
37
> [!NOTE]
35
-
> All additional options are available for DLL projects only.
38
+
> All additional options are available for DLL projects only.
39
+
40
+
-**Allow merging of proxy/stub code**
41
+
42
+
Select the **Allow merging of proxy/stub code** check box as a convenience when marshaling interfaces is required. This option puts the MIDL-generated proxy and stub code in the same executable as the server.
43
+
44
+
-**Support MFC**
45
+
46
+
Select to specify that your object includes MFC support. This option links your project to the MFC libraries so that you can access any of the classes and functions they contain.
36
47
37
-
**Allow merging of proxy/stub code**
38
-
Select the **Allow merging of proxy/stub code** check box as a convenience when marshaling interfaces is required. This option puts the MIDL-generated proxy and stub code in the same executable as the server.
48
+
-**Support COM+ 1.0**
39
49
40
-
**Support MFC**
41
-
Select to specify that your object includes MFC support. This option links your project to the MFC libraries so that you can access any of the classes and functions they contain.
50
+
Select to modify the project build settings to support COM+ 1.0 components. In addition to the standard list of libraries, the wizard adds the COM+ 1.0 component-specific library comsvcs.lib
42
51
43
-
**Support COM+ 1.0**
44
-
Select to modify the project build settings to support COM+ 1.0 components. In addition to the standard list of libraries, the wizard adds the COM+ 1.0 component-specific library comsvcs.lib
52
+
In addition, the mtxex.dll is delay loaded on the host system when your application is launched.
45
53
46
-
In addition, the mtxex.dll is delay loaded on the host system when your application is launched.
54
+
-**Support component registrar**
47
55
48
-
-**Support component registrar** If your ATL project contains support for COM+ 1.0 components, you can set this option. The component registrar allows your COM+ 1.0 object to obtain a list of components, register components, or unregister components (individually or all at once).
56
+
If your ATL project contains support for COM+ 1.0 components, you can set this option. The component registrar allows your COM+ 1.0 object to obtain a list of components, register components, or unregister components (individually or all at once).
Copy file name to clipboardExpand all lines: docs/atl/reference/asp-atl-active-server-page-component-wizard.md
+9-5Lines changed: 9 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,13 +16,17 @@ ms.workload: ["cplusplus"]
16
16
17
17
Use this page of the ATL Active Server Page Component Wizard to specify optional settings for handling information and state related to your ASP component.
18
18
19
-
**Optional methods**
20
-
Adds the optional ASP methods, **OnStartPage** and **OnEndPage**, to your object. This option must be selected to set any Active Server Pages intrinsic objects. By default, it is selected.
19
+
-**Optional methods**
21
20
22
-
-**OnStartPage/OnEndPage**[OnStartPage](https://msdn.microsoft.com/library/ms691624.aspx) is called the first time the script tries to access the object. **OnEndPage** is called when the object is finished processing the script.
21
+
Adds the optional ASP methods, **OnStartPage**and **OnEndPage**, to your object. This option must be selected to set any Active Server Pages intrinsic objects. By default, it is selected.
23
22
24
-
**Intrinsic object**
25
-
You must select the **OnStartPage/OnEndPage** option to set any ASP intrinsic objects.
23
+
-**OnStartPage/OnEndPage**
24
+
25
+
[OnStartPage](https://msdn.microsoft.com/library/ms691624.aspx) is called the first time the script tries to access the object. **OnEndPage** is called when the object is finished processing the script.
26
+
27
+
-**Intrinsic object**
28
+
29
+
You must select the **OnStartPage/OnEndPage** option to set any ASP intrinsic objects.
Copy file name to clipboardExpand all lines: docs/atl/reference/atl-active-server-page-component-wizard.md
+32-24Lines changed: 32 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,48 +32,56 @@ If you change the **Coclass** name in the COM section, the change is reflected i
32
32
33
33
Provides information for the C++ class created for the object.
34
34
35
-
**Short name**
36
-
Sets the root name for the object. The name that you provide determines the `Class` and **Coclass** names, the **.cpp file** and **.h file** names, the **Interface** name, the **Type** names, and the **ProgID**, unless you change those fields individually.
35
+
-**Short name**
37
36
38
-
**.h file**
39
-
Sets the name of the header file for the new object's class. By default, this name is based on the name that you provide in **Short name**. Click the ellipsis button to save the file name to the location of your choice, or to append the class declaration to an existing file. If you select an existing file, the wizard will not save it to the selected location until you click **Finish** in the wizard.
37
+
Sets the root name for the object. The name that you provide determines the `Class` and **Coclass** names, the **.cpp file** and **.h file** names, the **Interface** name, the **Type** names, and the **ProgID**, unless you change those fields individually.
40
38
41
-
The wizard does not overwrite a file. If you select the name of an existing file, when you click **Finish**, the wizard prompts you to indicate whether the class declaration should be appended to the contents of the file. Click **Yes** to append the file; click **No** to return to the wizard and specify another file name.
39
+
-**.h file**
42
40
43
-
**Class**
44
-
Sets the name of the class to be created. This name is based on the name that you provide in **Short name**, preceded by 'C', the typical prefix for a class name.
41
+
Sets the name of the header file for the new object's class. By default, this name is based on the name that you provide in **Short name**. Click the ellipsis button to save the file name to the location of your choice, or to append the class declaration to an existing file. If you select an existing file, the wizard will not save it to the selected location until you click **Finish** in the wizard.
45
42
46
-
**.cpp file**
47
-
Sets the name of the implementation file for the new object's class. By default, this name is based on the name that you provide in **Short name**. Click the ellipsis button to save the file name to the location of your choice. The file is not saved to the selected location until you click **Finish** in the wizard.
43
+
The wizard does not overwrite a file. If you select the name of an existing file, when you click **Finish**, the wizard prompts you to indicate whether the class declaration should be appended to the contents of the file. Click **Yes** to append the file; click **No** to return to the wizard and specify another file name.
48
44
49
-
The wizard does not overwrite a file. If you select the name of an existing file, when you click **Finish**, the wizard prompts you to indicate whether the class implementation should be appended to the contents of the file. Click **Yes** to append the file; click **No** to return to the wizard and specify another file name.
45
+
-**Class**
50
46
51
-
**Attributed**
52
-
Indicates whether the object uses attributes. If you are adding an object to an attributed ATL project, this option is selected and not available to change. That is, you can add only attributed objects to a project created with attribute support.
47
+
Sets the name of the class to be created. This name is based on the name that you provide in **Short name**, preceded by 'C', the typical prefix for a class name.
53
48
54
-
If you select this option for an ATL project that does not have attribute support, the wizard prompts you to specify whether you want to add attribute support to the project.
49
+
-**.cpp file**
55
50
56
-
By default for nonattributed projects, any objects you add after you set this option are designated as attributed (the check box is selected). You can clear this box to add an object that does not use attributes.
51
+
Sets the name of the implementation file for the new object's class. By default, this name is based on the name that you provide in **Short name**. Click the ellipsis button to save the file name to the location of your choice. The file is not saved to the selected location until you click **Finish** in the wizard.
57
52
58
-
See [Application Settings, ATL Project Wizard](../../atl/reference/application-settings-atl-project-wizard.md) and [Basic Mechanics of Attributes](../../windows/basic-mechanics-of-attributes.md) for more information.
53
+
The wizard does not overwrite a file. If you select the name of an existing file, when you click **Finish**, the wizard prompts you to indicate whether the class implementation should be appended to the contents of the file. Click **Yes** to append the file; click **No** to return to the wizard and specify another file name.
54
+
55
+
-**Attributed**
56
+
57
+
Indicates whether the object uses attributes. If you are adding an object to an attributed ATL project, this option is selected and not available to change. That is, you can add only attributed objects to a project created with attribute support.
58
+
59
+
If you select this option for an ATL project that does not have attribute support, the wizard prompts you to specify whether you want to add attribute support to the project.
60
+
61
+
By default for nonattributed projects, any objects you add after you set this option are designated as attributed (the check box is selected). You can clear this box to add an object that does not use attributes.
62
+
63
+
See [Application Settings, ATL Project Wizard](../../atl/reference/application-settings-atl-project-wizard.md) and [Basic Mechanics of Attributes](../../windows/basic-mechanics-of-attributes.md) for more information.
59
64
60
65
### COM
61
66
62
67
Provides information about the COM functionality for the object.
63
68
64
-
**Coclass**
65
-
Sets the name of the component class that contains a list of interfaces supported by the object. If your project or this object uses attributes, you cannot change this option because ATL does not include the **coclass** attribute.
69
+
-**Coclass**
66
70
67
-
**Type**
68
-
Sets the object description that will appear in the registry for the coclass.
71
+
Sets the name of the component class that contains a list of interfaces supported by the object. If your project or this object uses attributes, you cannot change this option because ATL does not include the **coclass** attribute.
69
72
70
-
**Interface**
71
-
Sets the interface you create for your object. This interface contains your custom methods.
73
+
-**Type**
72
74
73
-
**ProgID**
74
-
Sets the name that containers can use instead of the CLSID of the object.
75
+
Sets the object description that will appear in the registry for the coclass.
76
+
77
+
-**Interface**
78
+
79
+
Sets the interface you create for your object. This interface contains your custom methods.
80
+
81
+
-**ProgID**
82
+
83
+
Sets the name that containers can use instead of the CLSID of the object.
75
84
76
85
## See Also
77
86
78
87
[ATL Active Server Page Component](../../atl/reference/adding-an-atl-active-server-page-component.md)
0 commit comments