Skip to content

Commit cefac8f

Browse files
committed
Fixed a bunch of links and migrated some more projects
1 parent 6ed9b65 commit cefac8f

File tree

4,292 files changed

+164562
-19451
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,292 files changed

+164562
-19451
lines changed

desktop-src/AD/active-directory-users-and-computers-property-sheets.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -106,19 +106,19 @@ This documentation assumes that the reader is familiar with COM operation and co
106106

107107
</dd> </dl>
108108

109-
3. Create an instance of the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object and obtain the [**IShellExtInit**](https://www.bing.com/search?q=**IShellExtInit**) interface for the object. It is also possible to duplicate the behavior of the **CLSID\_DsPropertyPages** object. For more information, see Duplicating the Behavior of the CLSID\_DsPropertyPages Object.
110-
4. Initialize the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object by calling the [**IShellExtInit::Initialize**](https://www.bing.com/search?q=**IShellExtInit::Initialize**) method. The *pidlFolder* and *hkeyProgID* parameters are not used in this method. The *pdtobj* parameter is the pointer to the data object created in Step 2. When the **IShellExtInit::Initialize** method is called, the **CLSID\_DsPropertyPages** object will save a reference to the data object.
111-
5. Obtain the [**IShellPropSheetExt**](https://www.bing.com/search?q=**IShellPropSheetExt**) interface for the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object and call the [**IShellPropSheetExt::AddPages**](https://www.bing.com/search?q=**IShellPropSheetExt::AddPages**) method. The *lpfnAddPage* parameter is the address of a callback function that you must implement. The format of this function is shown below. If the callback function is declared as a member of a C++ class, the callback function must be declared as **static**. The *lParam* parameter is an application-defined value that can be used to identify the object that implements the callback function. When the **IShellPropSheetExt::AddPages** method is called, the **CLSID\_DsPropertyPages** object will obtain the data from the data object and enumerate the property pages registered for the object display specifiers. The **CLSID\_DsPropertyPages** object will then enumerate the property page objects, calling each object's **IShellPropSheetExt::AddPages** method.
109+
3. Create an instance of the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object and obtain the [**IShellExtInit**](https://msdn.microsoft.com/library/Bb775096(v=VS.85).aspx) interface for the object. It is also possible to duplicate the behavior of the **CLSID\_DsPropertyPages** object. For more information, see Duplicating the Behavior of the CLSID\_DsPropertyPages Object.
110+
4. Initialize the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object by calling the [**IShellExtInit::Initialize**](https://msdn.microsoft.com/library/Bb775094(v=VS.85).aspx) method. The *pidlFolder* and *hkeyProgID* parameters are not used in this method. The *pdtobj* parameter is the pointer to the data object created in Step 2. When the **IShellExtInit::Initialize** method is called, the **CLSID\_DsPropertyPages** object will save a reference to the data object.
111+
5. Obtain the [**IShellPropSheetExt**](https://msdn.microsoft.com/library/Bb774880(v=VS.85).aspx) interface for the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object and call the [**IShellPropSheetExt::AddPages**](https://msdn.microsoft.com/library/Bb774878(v=VS.85).aspx) method. The *lpfnAddPage* parameter is the address of a callback function that you must implement. The format of this function is shown below. If the callback function is declared as a member of a C++ class, the callback function must be declared as **static**. The *lParam* parameter is an application-defined value that can be used to identify the object that implements the callback function. When the **IShellPropSheetExt::AddPages** method is called, the **CLSID\_DsPropertyPages** object will obtain the data from the data object and enumerate the property pages registered for the object display specifiers. The **CLSID\_DsPropertyPages** object will then enumerate the property page objects, calling each object's **IShellPropSheetExt::AddPages** method.
112112

113113
```C++
114114
BOOL CALLBACK AddPagesCallback(HPROPSHEETPAGE, LPARAM)
115115
```
116116

117117

118118

119-
6. Each page added by the property page objects will result in your callback function being called with the handle to the property page and the application-defined value. Your callback function must store each property page handle that is passed. When the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object's [**IShellPropSheetExt::AddPages**](https://www.bing.com/search?q=**IShellPropSheetExt::AddPages**) method returns, all pages will have been added via your callback function.
120-
7. Fill in a [**PROPSHEETHEADER**](https://www.bing.com/search?q=**PROPSHEETHEADER**) structure to display the property sheet. The **phpage** member receives a pointer to an array of page handles that were collected by your callback function. The **nPages** member receives the number of pages in the page handle array.
121-
8. Display the property sheet by calling the [**PropertySheet**](https://www.bing.com/search?q=**PropertySheet**) function.
119+
6. Each page added by the property page objects will result in your callback function being called with the handle to the property page and the application-defined value. Your callback function must store each property page handle that is passed. When the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object's [**IShellPropSheetExt::AddPages**](https://msdn.microsoft.com/library/Bb774878(v=VS.85).aspx) method returns, all pages will have been added via your callback function.
120+
7. Fill in a [**PROPSHEETHEADER**](https://msdn.microsoft.com/library/Bb774546(v=VS.85).aspx) structure to display the property sheet. The **phpage** member receives a pointer to an array of page handles that were collected by your callback function. The **nPages** member receives the number of pages in the page handle array.
121+
8. Display the property sheet by calling the [**PropertySheet**](https://msdn.microsoft.com/library/Bb760811(v=VS.85).aspx) function.
122122

123123
If the data in any page is changed and the **OK** or **Apply** buttons are clicked, the window identified by the **hwndParentSheet** member of the [**PROPSHEETCFG**](propsheetcfg.md) structure will receive a [**WM\_ADSPROP\_NOTIFY\_CHANGE**](wm-adsprop-notify-change.md) message. This message is strictly a notification and requires no specific action.
124124

@@ -134,8 +134,8 @@ In some cases, the existing property sheets will need to display a secondary pro
134134
2. Convert each class identifier string into a **CLSID** using the [**CLSIDFromString**](https://msdn.microsoft.com/en-us/library/ms683917(v=VS.85).aspx) function.
135135
3. Sort the extension class identifiers by the number that precedes each class identifier string in the attribute value. If two numbers are identical, sort the class identifiers in the order that the attribute values are obtained from the Active Directory server.
136136
4. Enumerate the extension class identifiers, creating an instance of each extension.
137-
5. For each extension, in the order sorted above, call the extension's [**IShellExtInit::Initialize**](https://www.bing.com/search?q=**IShellExtInit::Initialize**) with the same information described in Step 4 of the Hosting an Active Directory Users and Computers Property Sheet procedure.
138-
6. For each extension, in the order sorted above, call the extension's [**IShellPropSheetExt::AddPages**](https://www.bing.com/search?q=**IShellPropSheetExt::AddPages**) with the same information described in Step 5 of the Hosting an Active Directory Users and Computers Property Sheet procedure.
137+
5. For each extension, in the order sorted above, call the extension's [**IShellExtInit::Initialize**](https://msdn.microsoft.com/library/Bb775094(v=VS.85).aspx) with the same information described in Step 4 of the Hosting an Active Directory Users and Computers Property Sheet procedure.
138+
6. For each extension, in the order sorted above, call the extension's [**IShellPropSheetExt::AddPages**](https://msdn.microsoft.com/library/Bb774878(v=VS.85).aspx) with the same information described in Step 5 of the Hosting an Active Directory Users and Computers Property Sheet procedure.
139139

140140
If possible, use the [**CLSID\_DsPropertyPages**](guids-of-user-interface-elements.md) object to create the pages rather than do this manually. The **CLSID\_DsPropertyPages** has been optimized and will correctly handle failure cases, such as when no display specifier is available for the current locale. Also, the **CLSID\_DsPropertyPages** object may change in the future, which means your property sheets may not exactly match those displayed by the Active Directory Users and Computers MMC snap-in.
141141

desktop-src/AD/binding-to-the-global-catalog.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ This filter uses the **LDAP\_MATCHING\_RULE\_BIT\_AND** matching rule operator (
7171

7272
The parent of the **nTDSDSA** object is the server object, and the **dNSHostName** property of the server object is the DNS name of the Global Catalog server.
7373

74-
You cannot use \#define constants such as **NTDSDSA\_OPT\_IS\_GC** and **LDAP\_MATCHING\_RULE\_BIT\_AND** directly in a search filter string. However, you could use these constants as arguments to a function such as [**swprintf\_s**](https://www.bing.com/search?q=**swprintf\_s**) to insert the constant values into a filter string.
74+
You cannot use \#define constants such as **NTDSDSA\_OPT\_IS\_GC** and **LDAP\_MATCHING\_RULE\_BIT\_AND** directly in a search filter string. However, you could use these constants as arguments to a function such as [**swprintf\_s**](https://msdn.microsoft.com/library/ms647550(v=VS.85).aspx) to insert the constant values into a filter string.
7575

7676
The global catalog does not represent the entire forest tree structure. For example, you might expect that the following code example would enumerate all of the domains in the forest and all child objects of each domain. In reality, what it actually does is enumerate all of the domains in the forest, but none of the enumerated domain objects contain any children. This is a limitation of the global catalog.
7777

desktop-src/AD/context-menus-for-use-with-display-specifiers.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ms.date: 05/31/2018
1717

1818
# Context Menus for Use with Display Specifiers
1919

20-
The Active Directory administrative MMC snap-ins and Windows 2000 shell provide a mechanism to add an item to the context menu displayed for objects in Active Directory Domain Services. A context menu item can be added by implementing an COM in-proc server known as a *context menu extension*. A context menu item can also be added that invokes any file started with the [**ShellExecute**](https://www.bing.com/search?q=**ShellExecute**) API, such as an application or webpage URL. This is known as a *static context menu item*.
20+
The Active Directory administrative MMC snap-ins and Windows 2000 shell provide a mechanism to add an item to the context menu displayed for objects in Active Directory Domain Services. A context menu item can be added by implementing an COM in-proc server known as a *context menu extension*. A context menu item can also be added that invokes any file started with the [**ShellExecute**](https://msdn.microsoft.com/library/Bb762153(v=VS.85).aspx) API, such as an application or webpage URL. This is known as a *static context menu item*.
2121

2222
## Developer Audience
2323

@@ -29,13 +29,13 @@ A context menu extension is a COM in-proc server that implements certain interfa
2929

3030
**To create and install a context menu extension**
3131

32-
1. Create the context menu extension DLL. A context menu extension is a COM in-proc server that, at a minimum, implements the [**IShellExtInit**](https://www.bing.com/search?q=**IShellExtInit**) and [**IContextMenu**](https://www.bing.com/search?q=**IContextMenu**) interfaces. For more information, see [Implementing the Context Menu COM Object](implementing-the-context-menu-com-object.md).
32+
1. Create the context menu extension DLL. A context menu extension is a COM in-proc server that, at a minimum, implements the [**IShellExtInit**](https://msdn.microsoft.com/library/Bb775096(v=VS.85).aspx) and [**IContextMenu**](https://msdn.microsoft.com/library/Bb776095(v=VS.85).aspx) interfaces. For more information, see [Implementing the Context Menu COM Object](implementing-the-context-menu-com-object.md).
3333
2. Install the context menu sheet extension on computers where the context menu extension is used. This is accomplished by creating a Microsoft Windows Installer package for the context menu extension DLL and deploying the package appropriately using the group policy. For more information, see [Distributing User Interface Components](distributing-user-interface-components.md).
3434
3. Register the context menu extension in the Windows registry and with Active Directory Domain Services. For more information, see [Registering the Context Menu COM Object in a Display Specifier](registering-the-context-menu-com-object-in-a-display-specifier.md).
3535

3636
## Extending the Context Menu With a Static Context Menu Item
3737

38-
A static context menu item can be used to invoke any file started with the [**ShellExecute**](https://www.bing.com/search?q=**ShellExecute**) API, such as an application or webpage URL. To accomplished this, the static context menu item for a particular object class must be registered so that the static context menu item is added to the context menu of objects of that class. For more information, see [Registering a Static Context Menu Item](registering-a-static-context-menu-item.md).
38+
A static context menu item can be used to invoke any file started with the [**ShellExecute**](https://msdn.microsoft.com/library/Bb762153(v=VS.85).aspx) API, such as an application or webpage URL. To accomplished this, the static context menu item for a particular object class must be registered so that the static context menu item is added to the context menu of objects of that class. For more information, see [Registering a Static Context Menu Item](registering-a-static-context-menu-item.md).
3939

4040

4141

desktop-src/AD/cqpm-help.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Not used.
4141
*lParam*
4242
</dt> <dd>
4343

44-
Pointer to a [**HELPINFO**](https://www.bing.com/search?q=**HELPINFO**) structure that contains additional data about the menu item, control, dialog box, or window for which context-sensitive help is requested.
44+
Pointer to a [**HELPINFO**](https://msdn.microsoft.com/library/Bb773313(v=VS.85).aspx) structure that contains additional data about the menu item, control, dialog box, or window for which context-sensitive help is requested.
4545

4646
</dd> </dl>
4747

@@ -68,7 +68,7 @@ The return value for this message is ignored.
6868
[**CQPageProc**](/windows/desktop/api/Cmnquery/nc-cmnquery-lpcqpageproc)
6969
</dt> <dt>
7070

71-
[**HELPINFO**](https://www.bing.com/search?q=**HELPINFO**)
71+
[**HELPINFO**](https://msdn.microsoft.com/library/Bb773313(v=VS.85).aspx)
7272
</dt> </dl>
7373

7474

desktop-src/AD/example-code-for-implementation-of-the-context-menu-com-object.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The following code example can be used to implement an Active Directory context
2121

2222
## IShellExtInit Implementation
2323

24-
The following code example can be used to implement the [**IShellExtInit**](https://www.bing.com/search?q=**IShellExtInit**) methods.
24+
The following code example can be used to implement the [**IShellExtInit**](https://msdn.microsoft.com/library/Bb775096(v=VS.85).aspx) methods.
2525

2626

2727
```C++
@@ -111,7 +111,7 @@ STDMETHODIMP CContMenuExt::Initialize( LPCITEMIDLIST pidlFolder,
111111
112112
## IContextMenu Implementation
113113
114-
The following code example can be used to implement the [**IContextMenu**](https://www.bing.com/search?q=**IContextMenu**) methods.
114+
The following code example can be used to implement the [**IContextMenu**](https://msdn.microsoft.com/library/Bb776095(v=VS.85).aspx) methods.
115115
116116
117117
```C++

desktop-src/AD/example-code-for-implementation-of-the-property-sheet-com-object.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The following code example can be used to implement an Active Directory property
2121

2222
## IShellExtInit Implementation
2323

24-
The following C++ code example can be used to implement the [**IShellExtInit**](https://www.bing.com/search?q=**IShellExtInit**) methods.
24+
The following C++ code example can be used to implement the [**IShellExtInit**](https://msdn.microsoft.com/library/Bb775096(v=VS.85).aspx) methods.
2525

2626

2727
```C++
@@ -132,7 +132,7 @@ STDMETHODIMP CPropSheetExt::Initialize( LPCITEMIDLIST pidlFolder,
132132
133133
## IShellPropSheetExt Implementation
134134
135-
The following C++ code example can be used to implement the [**IShellPropSheetExt**](https://www.bing.com/search?q=**IShellPropSheetExt**) methods.
135+
The following C++ code example can be used to implement the [**IShellPropSheetExt**](https://msdn.microsoft.com/library/Bb774880(v=VS.85).aspx) methods.
136136
137137
138138
```C++

desktop-src/AD/guids-of-user-interface-elements.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The following table lists the class identifier, expressed as a GUID, for user in
2626
| Class Identifier | Description |
2727
|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
2828
| **CLSID\_DsFolderProperties** | Reserved. Declared in Dsclient.h. |
29-
| **CLSID\_DsPropertyPages** | This object provides the [**IShellExtInit**](https://www.bing.com/search?q=**IShellExtInit**), [**IShellPropSheetExt**](https://www.bing.com/search?q=**IShellPropSheetExt**), and [**IContextMenu**](https://www.bing.com/search?q=**IContextMenu**) interfaces for use with system-supplied directory service objects. Declared in Dsclient.h. |
29+
| **CLSID\_DsPropertyPages** | This object provides the [**IShellExtInit**](https://msdn.microsoft.com/library/Bb775096(v=VS.85).aspx), [**IShellPropSheetExt**](https://msdn.microsoft.com/library/Bb774880(v=VS.85).aspx), and [**IContextMenu**](https://msdn.microsoft.com/library/Bb776095(v=VS.85).aspx) interfaces for use with system-supplied directory service objects. Declared in Dsclient.h. |
3030

3131

3232

0 commit comments

Comments
 (0)