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: support/windows/win32/cannot-start-transaction-ms-dtc.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Can't start a transaction in MS DTC
3
3
description: This article describes a problem that may occur intermittently when you try to start a transaction in the MS DTC. A resolution is provided.
4
-
ms.date: 12/19/2023
4
+
ms.date: 06/11/2025
5
5
ms.custom: sap:Distributed Transactions\DTC programming and runtime
Copy file name to clipboardExpand all lines: support/windows/win32/client-application-error-create-com-plus-component.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: An application fails to create a COM+ component
3
3
description: This article describes a problem that might occur when a client application tries to create a COM+ component, and the client application receives an error message.
4
-
ms.date: 12/19/2023
4
+
ms.date: 06/11/2025
5
5
ms.custom: sap:Component Development\COM, DCOM, and COM+ Programming and Runtime
6
6
ms.reviewer: wmascia
7
7
---
@@ -37,10 +37,10 @@ This problem occurs because the Component Object Model (COM) initialization coun
37
37
38
38
## Resolution
39
39
40
-
To resolve this problem, remove the `CoInitialize` calls and the `CoUninitialize` calls from the affected COM DLL. A COM DLL that exposes COM components and is loaded through COM calls from a client should not call the `CoInitialize` function or the `CoUninitialize` function on any thread that is used to load or to start the DLL. These threads are owned by the client application, by the COM runtime, or by the COM+ runtime. Only the COM DLL should call these APIs on additional threads that were explicitly created by the COM DLL. However, it is a common bug for COM DLLs to call the `CoInitialize` function and the `CoUninitialize` function in response to attach events and detach events in the `DllMain` function.
40
+
To resolve this problem, remove the `CoInitialize` calls and the `CoUninitialize` calls from the affected COM DLL. A COM DLL that exposes COM components and is loaded through COM calls from a client shouldn't call the `CoInitialize` function or the `CoUninitialize` function on any thread that is used to load or to start the DLL. These threads are owned by the client application, by the COM runtime, or by the COM+ runtime. Only the COM DLL should call these APIs on additional threads that were explicitly created by the COM DLL. However, it's a common bug for COM DLLs to call the `CoInitialize` function and the `CoUninitialize` function in response to attach events and detach events in the `DllMain` function.
41
41
42
42
> [!NOTE]
43
-
> It is correct for a standard Win32 DLL that isn't loaded through COM to call these APIs if the standard Win32 DLL plans to use COM APIs. However, these functions should not be called from the `DllMain` function.
43
+
> It's correct for a standard Win32 DLL that isn't loaded through COM to call these APIs if the standard Win32 DLL plans to use COM APIs. However, these functions shouldn't be called from the `DllMain` function.
44
44
45
45
For more information about the `CoInitialize` function, see [CoInitialize function](/windows/win32/api/objbase/nf-objbase-coinitialize).
46
46
@@ -56,24 +56,24 @@ To determine which COM component contains the affected code, use the Microsoft I
56
56
1.[Download and install DebugDiag](https://www.microsoft.com/download/details.aspx?id=58210).
57
57
2. Create a crash rule in DebugDiag. To do this, follow these steps:
58
58
59
-
1.Click**Start**, point to **Programs**, point to **IIS Diagnostics (32bit)**, point to **Debug Diagnostics Tool**, and then click**Debug Diagnostics Tool 1.0**.
60
-
2. If the **Select Rule Type** dialog box opens, click**Cancel**.
61
-
3. On the **Tools** menu, click**Options And Settings**.
62
-
4.Click the **Folders and Search Paths** tab, and then enter `srv*C:\symsrv\*http://msdl.microsoft.com/download/symbols` in the **Symbol Search Path For Analysis** field.
63
-
5. In the **Symbol Search Path For Debugging** field, enter `srv*C:\symsrv\*http://msdl.microsoft.com/download/symbols`, and then click**OK**.
64
-
6.Click**Add Rule**.
65
-
7.Click**Crash**, and then click**Next**.
66
-
8.Click**A specific MTS/COM+ application (included high and medium isolation websites)**, and then click**Next**.
67
-
9.Click the appropriate COM+ application, and then click**Next**.
68
-
10. In the **Advanced Configuration (Optional)** dialog box, click**Breakpoints**.
69
-
11. In the **Configure Breakpoints** dialog box, click**Add Breakpoint**.
70
-
12. In the **Configure Breakpoint** dialog box, enter *ole32!CoInitializeEx* in the **Breakpoint Expression** field, enter *1000* in the **Action Type** field, keep **Log Stack Trace** in the **Action Type** field, and then click**OK**.
71
-
13. In the **Configure Breakpoints** dialog box, click**Add Breakpoint**.
72
-
14. In the **Configure Breakpoint** dialog box, enter *ole32!CoUninitialize* in the **Breakpoint Expression** field, enter *1000* in the **Action Limit** field, and then click**OK**.
73
-
15. In the **Configure Breakpoints** dialog box, click**Save & Close**.
74
-
16. In the **Advanced Configuration (Optional)** dialog box, click**Next**.
75
-
17. In the **Select Dump Location And Rule Name (Optional)** dialog box, click**Next**.
76
-
18. In the **Rule Completed** dialog box, click**Activate the rule now**, and then click**Finish**.
59
+
1.Select**Start**, point to **Programs**, point to **IIS Diagnostics (32bit)**, point to **Debug Diagnostics Tool**, and then select**Debug Diagnostics Tool 1.0**.
60
+
2. If the **Select Rule Type** dialog box opens, select**Cancel**.
61
+
3. On the **Tools** menu, select**Options And Settings**.
62
+
4.Select the **Folders and Search Paths** tab, and then enter `srv*C:\symsrv\*http://msdl.microsoft.com/download/symbols` in the **Symbol Search Path For Analysis** field.
63
+
5. In the **Symbol Search Path For Debugging** field, enter `srv*C:\symsrv\*http://msdl.microsoft.com/download/symbols`, and then select**OK**.
64
+
6.Select**Add Rule**.
65
+
7.Select**Crash**, and then select**Next**.
66
+
8.Select**A specific MTS/COM+ application (included high and medium isolation websites)**, and then select**Next**.
67
+
9.Select the appropriate COM+ application, and then select**Next**.
68
+
10. In the **Advanced Configuration (Optional)** dialog box, select**Breakpoints**.
69
+
11. In the **Configure Breakpoints** dialog box, select**Add Breakpoint**.
70
+
12. In the **Configure Breakpoint** dialog box, enter *ole32!CoInitializeEx* in the **Breakpoint Expression** field, enter *1000* in the **Action Type** field, keep **Log Stack Trace** in the **Action Type** field, and then select**OK**.
71
+
13. In the **Configure Breakpoints** dialog box, select**Add Breakpoint**.
72
+
14. In the **Configure Breakpoint** dialog box, enter *ole32!CoUninitialize* in the **Breakpoint Expression** field, enter *1000* in the **Action Limit** field, and then select**OK**.
73
+
15. In the **Configure Breakpoints** dialog box, select**Save & Close**.
74
+
16. In the **Advanced Configuration (Optional)** dialog box, select**Next**.
75
+
17. In the **Select Dump Location And Rule Name (Optional)** dialog box, select**Next**.
76
+
18. In the **Rule Completed** dialog box, select**Activate the rule now**, and then select**Finish**.
77
77
78
78
DebugDiag monitors the selected COM+ application when the application runs. Every time that DebugDiag experiences one of the selected breakpoints, DebugDiag adds data to a log file. By default, the log file will be named:
Copy file name to clipboardExpand all lines: support/windows/win32/coinitializeex-fails-after-calling-htmlhelp-same-thread.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,25 @@
1
1
---
2
2
title: CoInitializeEx fails after calling HtmlHelp on the same thread
3
3
description: Provides a workaround for an issue where the CoInitializeEx function fails after calling the HtmlHelp function on the same thread.
4
-
ms.date: 12/19/2023
4
+
ms.date: 06/11/2025
5
5
ms.reviewer: v-sidong
6
6
author: hihayak
7
7
ms.author: hihayak
8
8
ms.custom: sap:Component Development\COM, DCOM, and COM+ Programming and Runtime
9
9
---
10
10
# CoInitializeEx function fails after calling the HtmlHelp function on the same thread
11
11
12
-
This article discusses an issue where the [CoInitializeEx function](/windows/win32/api/combaseapi/nf-combaseapi-coinitializeex) fails after calling the `HtmlHelp` function on the same thread.
12
+
This article discusses an issue where the [CoInitializeEx](/windows/win32/api/combaseapi/nf-combaseapi-coinitializeex) function fails after calling the `HtmlHelp` function on the same thread.
13
13
14
14
_Applies to:_ All supported operating system
15
15
16
16
## Symptoms
17
17
18
-
If an application calls `HtmlHelp` before calling `CoInitializeEx` with the specified `COINIT_MULTITHREADED` value, `CoInitializeEx` can return `RPC_E_CHANGED_MODE (0x80010106)`. As a result, the application may crash, hang, or display unexpected behavior.
18
+
If an application calls `HtmlHelp` before calling `CoInitializeEx` with the specified `COINIT_MULTITHREADED` value, `CoInitializeEx` can return `RPC_E_CHANGED_MODE (0x80010106)`. As a result, the application might crash, hang, or display unexpected behavior.
19
19
20
20
## Cause
21
21
22
-
If a thread that calls `HtmlHelp`hasn't been initialized with `CoInitialize` or `CoInitializeEx`, `HtmlHelp` initializes the thread as apartment-threaded with `COINIT_APARTMENTTHREADED`.
22
+
If a thread that calls `HtmlHelp`isn't initialized with `CoInitialize` or `CoInitializeEx`, `HtmlHelp` initializes the thread as apartment-threaded with `COINIT_APARTMENTTHREADED`.
Copy file name to clipboardExpand all lines: support/windows/win32/com-supports-collect-dump-file.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: COM+ supports collection of dump file and process termination
3
3
description: This article introduces the new functionalities of Microsoft COM+, including automatic collection of process dump file and process termination.
4
-
ms.date: 12/19/2023
4
+
ms.date: 06/11/2025
5
5
ms.custom: sap:Component Development\COM, DCOM, and COM+ Programming and Runtime
Copy file name to clipboardExpand all lines: support/windows/win32/converting-pdf-file-to-bitmap-image.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: Converting PDF to bitmap causes partial data loss in the image
3
3
description: This article helps you resolve the problem of partial data loss when you convert a PDF to a Bitmap image by using the classes of the Windows.Data.Pdf namespace.
4
-
ms.date: 12/19/2023
4
+
ms.date: 06/11/2025
5
5
ms.custom: sap:Graphics and Multimedia development\Printing and the Print Spooler API
6
-
ms.reviewer: hiroakii, v-jayaramanp
6
+
ms.reviewer: hihayak, v-jayaramanp
7
7
---
8
8
9
9
# Converting PDF to bitmap causes partial data loss in the image
0 commit comments