Added nullability to FunDisc

nullableenabled
David Hall 2023-10-02 18:03:41 -06:00
parent 65cd3100ef
commit 1a240dd4ab
5 changed files with 26 additions and 18 deletions

View File

@ -211,7 +211,7 @@ public static partial class FunDisc
// IFunctionInstanceCollection **ppIFunctionInstanceCollection );
[PreserveSig]
HRESULT GetInstanceCollection([MarshalAs(UnmanagedType.LPWStr)] string pszCategory, [MarshalAs(UnmanagedType.LPWStr), Optional] string? pszSubCategory,
[MarshalAs(UnmanagedType.Bool)] bool fIncludeAllSubCategories, out IFunctionInstanceCollection ppIFunctionInstanceCollection);
[MarshalAs(UnmanagedType.Bool)] bool fIncludeAllSubCategories, out IFunctionInstanceCollection? ppIFunctionInstanceCollection);
/// <summary>
/// <para>
@ -260,7 +260,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctiondiscovery-getinstance
// HRESULT GetInstance( const WCHAR *pszFunctionInstanceIdentity, IFunctionInstance **ppIFunctionInstance );
[PreserveSig]
HRESULT GetInstance([MarshalAs(UnmanagedType.LPWStr)] string pszFunctionInstanceIdentity, out IFunctionInstance ppIFunctionInstance);
HRESULT GetInstance([MarshalAs(UnmanagedType.LPWStr)] string pszFunctionInstanceIdentity, out IFunctionInstance? ppIFunctionInstance);
/// <summary>
/// <para>
@ -345,8 +345,8 @@ public static partial class FunDisc
HRESULT CreateInstanceCollectionQuery([MarshalAs(UnmanagedType.LPWStr)] string pszCategory,
[MarshalAs(UnmanagedType.LPWStr), Optional] string? pszSubCategory,
[MarshalAs(UnmanagedType.Bool)] bool fIncludeAllSubCategories,
IFunctionDiscoveryNotification pIFunctionDiscoveryNotification, ref ulong pfdqcQueryContext,
out IFunctionInstanceCollectionQuery ppIFunctionInstanceCollectionQuery);
IFunctionDiscoveryNotification? pIFunctionDiscoveryNotification, ref ulong pfdqcQueryContext,
out IFunctionInstanceCollectionQuery? ppIFunctionInstanceCollectionQuery);
/// <summary>
/// <para>
@ -399,8 +399,8 @@ public static partial class FunDisc
// *pIFunctionDiscoveryNotification, ulong *pfdqcQueryContext, IFunctionInstanceQuery **ppIFunctionInstanceQuery );
[PreserveSig]
HRESULT CreateInstanceQuery([MarshalAs(UnmanagedType.LPWStr)] string pszFunctionInstanceIdentity,
IFunctionDiscoveryNotification pIFunctionDiscoveryNotification, ref ulong pfdqcQueryContext,
out IFunctionInstanceQuery ppIFunctionInstanceQuery);
IFunctionDiscoveryNotification? pIFunctionDiscoveryNotification, ref ulong pfdqcQueryContext,
out IFunctionInstanceQuery? ppIFunctionInstanceQuery);
/// <summary>
/// <para>
@ -493,7 +493,7 @@ public static partial class FunDisc
[PreserveSig]
HRESULT AddInstance(SystemVisibilityFlags enumSystemVisibility, [MarshalAs(UnmanagedType.LPWStr)] string pszCategory,
[MarshalAs(UnmanagedType.LPWStr), Optional] string? pszSubCategory,
[MarshalAs(UnmanagedType.LPWStr)] string pszCategoryIdentity, out IFunctionInstance ppIFunctionInstance);
[MarshalAs(UnmanagedType.LPWStr)] string pszCategoryIdentity, out IFunctionInstance? ppIFunctionInstance);
/// <summary>
/// <para>
@ -652,7 +652,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctiondiscoverynotification-onupdate
// HRESULT OnUpdate( QueryUpdateAction enumQueryUpdateAction, ulong fdqcQueryContext, IFunctionInstance *pIFunctionInstance );
[PreserveSig]
HRESULT OnUpdate(QueryUpdateAction enumQueryUpdateAction, ulong fdqcQueryContext, IFunctionInstance pIFunctionInstance);
HRESULT OnUpdate(QueryUpdateAction enumQueryUpdateAction, [Optional] ulong fdqcQueryContext, IFunctionInstance pIFunctionInstance);
/// <summary>
/// <para>
@ -805,7 +805,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctiondiscoverynotification-onevent
// HRESULT OnEvent( DWORD dwEventID, FDQUERYCONTEXT fdqcQueryContext, const WCHAR *pszProvider );
[PreserveSig]
HRESULT OnEvent(FD_EVENTID dwEventID, ulong fdqcQueryContext, [MarshalAs(UnmanagedType.LPWStr)] string pszProvider);
HRESULT OnEvent(FD_EVENTID dwEventID, [Optional] ulong fdqcQueryContext, [MarshalAs(UnmanagedType.LPWStr)] string pszProvider);
}
/// <summary>
@ -829,7 +829,7 @@ public static partial class FunDisc
/// <param name="ppvObject">The interface specified by the <paramref name="riid"/> parameter.</param>
/// <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
[PreserveSig]
HRESULT QueryService(in Guid guidService, in Guid riid, [MarshalAs(UnmanagedType.Interface, IidParameterIndex = 1)] out object ppvObject);
HRESULT QueryService(in Guid guidService, in Guid riid, [MarshalAs(UnmanagedType.Interface, IidParameterIndex = 1)] out object? ppvObject);
/// <summary>
/// <para>
@ -882,7 +882,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstance-getid
// HRESULT GetID( WCHAR **ppszCoMemIdentity );
[PreserveSig]
HRESULT GetID([MarshalAs(UnmanagedType.LPWStr)] out string ppszCoMemIdentity);
HRESULT GetID([MarshalAs(UnmanagedType.LPWStr)] out string? ppszCoMemIdentity);
/// <summary>
/// <para>
@ -919,7 +919,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstance-getproviderinstanceid
// HRESULT GetProviderInstanceID( WCHAR **ppszCoMemProviderInstanceIdentity );
[PreserveSig]
HRESULT GetProviderInstanceID([MarshalAs(UnmanagedType.LPWStr)] out string ppszCoMemProviderInstanceIdentity);
HRESULT GetProviderInstanceID([MarshalAs(UnmanagedType.LPWStr)] out string? ppszCoMemProviderInstanceIdentity);
/// <summary>
/// <para>
@ -986,7 +986,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstance-openpropertystore
// HRESULT OpenPropertyStore( DWORD dwStgAccess, IPropertyStore **ppIPropertyStore );
[PreserveSig]
HRESULT OpenPropertyStore(STGM dwStgAccess, out IPropertyStore ppIPropertyStore);
HRESULT OpenPropertyStore(STGM dwStgAccess, out IPropertyStore? ppIPropertyStore);
/// <summary>
/// <para>
@ -1023,7 +1023,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstance-getcategory
// HRESULT GetCategory( WCHAR **ppszCoMemCategory, WCHAR **ppszCoMemSubCategory );
[PreserveSig]
HRESULT GetCategory([MarshalAs(UnmanagedType.LPWStr)] out string ppszCoMemCategory, [MarshalAs(UnmanagedType.LPWStr)] out string ppszCoMemSubCategory);
HRESULT GetCategory([MarshalAs(UnmanagedType.LPWStr)] out string? ppszCoMemCategory, [MarshalAs(UnmanagedType.LPWStr)] out string? ppszCoMemSubCategory);
}
/// <summary>
@ -1116,7 +1116,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstancecollection-get
// HRESULT Get( const WCHAR *pszInstanceIdentity, DWORD *pdwIndex, IFunctionInstance **ppIFunctionInstance );
[PreserveSig]
HRESULT Get([MarshalAs(UnmanagedType.LPWStr)] string pszInstanceIdentity, out uint pdwIndex, out IFunctionInstance ppIFunctionInstance);
HRESULT Get([MarshalAs(UnmanagedType.LPWStr)] string pszInstanceIdentity, out uint pdwIndex, out IFunctionInstance? ppIFunctionInstance);
/// <summary>
/// <para>
@ -1151,7 +1151,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstancecollection-item
// HRESULT Item( DWORD dwIndex, IFunctionInstance **ppIFunctionInstance );
[PreserveSig]
HRESULT Item(uint dwIndex, out IFunctionInstance ppIFunctionInstance);
HRESULT Item(uint dwIndex, out IFunctionInstance? ppIFunctionInstance);
/// <summary>
/// <para>
@ -1222,7 +1222,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstancecollection-remove
// HRESULT Remove( DWORD dwIndex, IFunctionInstance **ppIFunctionInstance );
[PreserveSig]
HRESULT Remove(uint dwIndex, out IFunctionInstance ppIFunctionInstance);
HRESULT Remove(uint dwIndex, out IFunctionInstance? ppIFunctionInstance);
/// <summary>
/// <para>
@ -1651,7 +1651,7 @@ public static partial class FunDisc
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryapi/nf-functiondiscoveryapi-ifunctioninstancequery-execute
// HRESULT Execute( IFunctionInstance **ppIFunctionInstance );
[PreserveSig]
HRESULT Execute(out IFunctionInstance ppIFunctionInstance);
HRESULT Execute(out IFunctionInstance? ppIFunctionInstance);
}
/// <summary>CLSID_FunctionDiscovery</summary>

View File

@ -2,6 +2,7 @@
public static partial class FunDisc
{
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
public const string FD_SUBKEY = "SOFTWARE\\Microsoft\\Function Discovery\\";
public const string FD_SUBKEY_CATEGORIES = FD_SUBKEY + "Categories\\";
@ -50,4 +51,5 @@ public static partial class FunDisc
// Subcategories of Registry
public const string FCTN_SUBCAT_REG_PUBLICATION = "Publication";
public const string FCTN_SUBCAT_REG_DIRECTED = "Directed";
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
}

View File

@ -6,6 +6,7 @@ public static partial class FunDisc
// QUERY Constraint defines
///////////////////////////////////////////////////////////////////////////////
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
public const int MAX_FDCONSTRAINTNAME_LENGTH = 100;
public const int MAX_FDCONSTRAINTVALUE_LENGTH = 1000;
@ -118,6 +119,7 @@ public static partial class FunDisc
public const string PROVIDERDDO_QUERYCONSTRAINT_DEVICEFUNCTIONDISPLAYOBJECTS = "DeviceFunctionDisplayObjects";
public const string PROVIDERDDO_QUERYCONSTRAINT_ONLYCONNECTEDDEVICES = "OnlyConnectedDevices";
public const string PROVIDERDDO_QUERYCONSTRAINT_DEVICEINTERFACES = "DeviceInterfaces";
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
/// <summary>
/// <para>

View File

@ -4,6 +4,7 @@ namespace Vanara.PInvoke;
public static partial class FunDisc
{
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
/* 08c0c253-a154-4746-9005-82de5317148b */
public static readonly PROPERTYKEY PKEY_FunctionInstance = new(new Guid(0x08c0c253, 0xa154, 0x4746, 0x90, 0x05, 0x82, 0xde, 0x53, 0x17, 0x14, 0x8b), 0x00000001); // VT_UNKNOWN
@ -338,4 +339,5 @@ public static partial class FunDisc
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4096
public static readonly PROPERTYKEY PKEY_Hardware_Status = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4096);
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
}

View File

@ -4,6 +4,7 @@ namespace Vanara.PInvoke;
public static partial class FunDisc
{
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
//
// _NAME
//
@ -178,4 +179,5 @@ public static partial class FunDisc
// Device interface class properties
//
public static readonly PROPERTYKEY PKEY_DeviceInterfaceClass_DefaultInterface = new(new Guid(0x14c83a99, 0x0b3f, 0x44b7, 0xbe, 0x4c, 0xa1, 0x78, 0xd3, 0x99, 0x05, 0x64), 2); // DEVPROP_TYPE_STRING
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
}