Skip to content

Commit 9daefd6

Browse files
committed
Fix
1 parent 4e287a7 commit 9daefd6

File tree

1 file changed

+70
-37
lines changed

1 file changed

+70
-37
lines changed

src/Files.App.CsWin32/IInternalCustomDestinationList.cs

Lines changed: 70 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Copyright (c) 0x5BFA. All rights reserved.
22
// Licensed under the MIT License.
33

4-
using Files.Shared.Attributes;
54
using System;
65
using System.Runtime.CompilerServices;
76
using System.Runtime.InteropServices;
@@ -18,54 +17,88 @@ namespace Windows.Win32.System.Com
1817
/// </remarks>
1918
public unsafe partial struct IInternalCustomDestinationList : IComIID
2019
{
21-
[GeneratedVTableFunction(Index = 3)]
22-
public partial HRESULT SetMinItems(uint dwMinItems);
23-
24-
/// <summary>Initializes this instance of <see cref="IInternalCustomDestinationList"/> with the specified Application User Model ID (AMUID).</summary>
20+
#pragma warning disable CS0649 // Field 'field' is never assigned to, and will always have its default value 'value'
21+
private void** lpVtbl;
22+
#pragma warning restore CS0649 // Field 'field' is never assigned to, and will always have its default value 'value'
23+
24+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
25+
public HRESULT SetMinItems(uint dwMinItems)
26+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, uint, int>)lpVtbl[3])(
27+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), dwMinItems);
28+
29+
/// <summary>
30+
/// Initializes this instance of <see cref="IInternalCustomDestinationList"/> with the specified Application User Model ID (AMUID).
31+
/// </summary>
2532
/// <param name="pszAppID">The Application User Model ID to initialize this instance of <see cref="IInternalCustomDestinationList"/> with.</param>
2633
/// <returns>Returns <see cref="HRESULT.S_OK"/> if successful, or an error value otherwise.</returns>
27-
[GeneratedVTableFunction(Index = 4)]
28-
public partial HRESULT SetApplicationID(PCWSTR pszAppID);
29-
30-
[GeneratedVTableFunction(Index = 5)]
31-
public partial HRESULT GetSlotCount(uint* pSlotCount);
32-
33-
/// <summary>Gets the number of categories in the custom destination list.</summary>
34+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
35+
public HRESULT SetApplicationID(PCWSTR pszAppID)
36+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, PCWSTR, int>)lpVtbl[4])(
37+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), pszAppID);
38+
39+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
40+
public HRESULT GetSlotCount(uint* pSlotCount)
41+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, uint*, int>)lpVtbl[5])(
42+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), pSlotCount);
43+
44+
/// <summary>
45+
/// Gets the number of categories in the custom destination list.
46+
/// </summary>
3447
/// <param name="pdwCategoryCount">A pointer that points to a valid <see langword="uint"/> var.</param>
3548
/// <returns>Returns <see cref="HRESULT.S_OK"/> if successful, or an error value otherwise.</returns>
36-
[GeneratedVTableFunction(Index = 6)]
37-
public partial HRESULT GetCategoryCount(uint* pCategoryCount);
38-
39-
/// <summary>Gets the category at the specified index in the custom destination list.</summary>
49+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
50+
public HRESULT GetCategoryCount(uint* pCategoryCount)
51+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, uint*, int>)lpVtbl[6])(
52+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), pCategoryCount);
53+
54+
/// <summary>
55+
/// Gets the category at the specified index in the custom destination list.
56+
/// </summary>
4057
/// <param name="index">The index to get the category in the custom destination list at.</param>
4158
/// <param name="flags">The flags to filter up the queried destinations.</param>
4259
/// <param name="pCategory">A pointer that points to a valid <see cref="APPDESTCATEGORY"/> var.</param>
4360
/// <returns>Returns <see cref="HRESULT.S_OK"/> if successful, or an error value otherwise.</returns>
44-
[GeneratedVTableFunction(Index = 7)]
45-
public partial HRESULT GetCategory(uint index, GETCATFLAG flags, APPDESTCATEGORY* pCategory);
46-
47-
[GeneratedVTableFunction(Index = 8)]
48-
public partial HRESULT DeleteCategory(uint index, BOOL deletePermanently);
49-
50-
/// <summary>Enumerates the destinations at the specific index in the categories in the custom destinations.</summary>
61+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
62+
public HRESULT GetCategory(uint index, GETCATFLAG flags, APPDESTCATEGORY* pCategory)
63+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, uint, GETCATFLAG, APPDESTCATEGORY*, int>)lpVtbl[7])(
64+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), index, flags, pCategory);
65+
66+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
67+
public HRESULT DeleteCategory(uint index, BOOL deletePermanently)
68+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, uint, BOOL, int>)lpVtbl[8])(
69+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), index, deletePermanently);
70+
71+
/// <summary>
72+
/// Enumerates the destinations at the specific index in the categories in the custom destinations.
73+
/// </summary>
5174
/// <param name="index">The index to get the destinations at in the categories.</param>
5275
/// <param name="riid">A reference to the interface identifier (IID) of the interface being queried for.</param>
5376
/// <param name="ppvObject">The address of a pointer to an interface with the IID specified in the riid parameter.</param>
5477
/// <returns>Returns <see cref="HRESULT.S_OK"/> if successful, or an error value otherwise.</returns>
55-
[GeneratedVTableFunction(Index = 9)]
56-
public partial HRESULT EnumerateCategoryDestinations(uint index, Guid* riid, void** ppvObject);
57-
58-
[GeneratedVTableFunction(Index = 10)]
59-
public partial HRESULT RemoveDestination(IUnknown* pUnk);
60-
61-
//[GeneratedVTableFunction(Index = 11)]
62-
//public partial HRESULT ResolveDestination(...);
63-
64-
[GeneratedVTableFunction(Index = 12)]
65-
public partial HRESULT HasListEx(int* a1, int* a2);
66-
67-
[GeneratedVTableFunction(Index = 13)]
68-
public partial HRESULT ClearRemovedDestinations();
78+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
79+
public HRESULT EnumerateCategoryDestinations(uint index, Guid* riid, void** ppvObject)
80+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, uint, Guid*, void**, int>)lpVtbl[9])(
81+
(IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), index, riid, ppvObject);
82+
83+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
84+
public HRESULT RemoveDestination(IUnknown* pUnk)
85+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, IUnknown*, int>)lpVtbl[10])
86+
((IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), pUnk);
87+
88+
//[MethodImpl(MethodImplOptions.AggressiveInlining)]
89+
//public HRESULT ResolveDestination(...)
90+
// => (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, ..., int>)lpVtbl[11])
91+
// ((IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), ...);
92+
93+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
94+
public HRESULT HasListEx(int* a1, int* a2)
95+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, int*, int*, int>)lpVtbl[12])
96+
((IInternalCustomDestinationList*)Unsafe.AsPointer(ref this), a1, a2);
97+
98+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
99+
public HRESULT ClearRemovedDestinations()
100+
=> (HRESULT)((delegate* unmanaged[MemberFunction]<IInternalCustomDestinationList*, int>)lpVtbl[13])
101+
((IInternalCustomDestinationList*)Unsafe.AsPointer(ref this));
69102

70103
static ref readonly Guid IComIID.Guid => throw new NotImplementedException();
71104
}

0 commit comments

Comments
 (0)