mirror of https://github.com/dahall/Vanara.git
1372 lines
72 KiB
C#
1372 lines
72 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using static Vanara.PInvoke.UrlMon;
|
|
|
|
namespace Vanara.PInvoke
|
|
{
|
|
/// <summary>Interfaces from the Microsoft Packaging API for Open Packaging.</summary>
|
|
public static partial class Opc
|
|
{
|
|
/// <summary>
|
|
/// Represents the part name of a part. If the part is a Relationships part, it is represented by the IOpcRelationshipSet interface;
|
|
/// otherwise, it is represented by the IOpcPart interface.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this interface is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nn-msopc-iopcparturi
|
|
[PInvokeData("msopc.h", MSDNShortId = "81123212-7a32-4833-b81f-8454a544327d")]
|
|
[ComImport, Guid("7D3BABE7-88B2-46BA-85CB-4203CB016C87"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
public interface IOpcPartUri : IOpcUri
|
|
{
|
|
/// <summary>Returns the specified Uniform Resource Identifier (URI) property value in a new <c>BSTR</c>.</summary>
|
|
/// <param name="uriProp">
|
|
/// <para>[in]</para>
|
|
/// <para>A value from the <c>Uri_PROPERTY</c> enumeration.</para>
|
|
/// </param>
|
|
/// <param name="pbstrProperty">
|
|
/// <para>[out]</para>
|
|
/// <para>Address of a <c>BSTR</c> that receives the property value.</para>
|
|
/// </param>
|
|
/// <param name="dwFlags">
|
|
/// <para>[in]</para>
|
|
/// <para>One of the following property-specific flags, or zero.</para>
|
|
/// <para><c>Uri_DISPLAY_NO_FRAGMENT</c> (0x00000001)</para>
|
|
/// <para><c>Uri_PROPERTY_DISPLAY_URI</c>: Exclude the fragment portion of the URI, if any.</para>
|
|
/// <para><c>Uri_PUNYCODE_IDN_HOST</c> (0x00000002)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: If the URI is an IDN, always display
|
|
/// the hostname encoded as punycode.
|
|
/// </para>
|
|
/// <para><c>Uri_DISPLAY_IDN_HOST</c> (0x00000004)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: Display the hostname in punycode or
|
|
/// Unicode as it would appear in the <c>Uri_PROPERTY_DISPLAY_URI</c> property.
|
|
/// </para>
|
|
/// </param>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPropertyBSTR</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The uriProp parameter must be a string property. This method will fail if the specified property isn't a <c>BSTR</c> property.
|
|
/// </para>
|
|
/// <para>
|
|
/// The pbstrProperty parameter will be set to a new <c>BSTR</c> containing the value of the specified string property. The
|
|
/// caller should use SysFreeString to free the string.
|
|
/// </para>
|
|
/// <para>This method will return and set pbstrProperty to an empty string if the URI doesn't contain the specified property.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775026(v=vs.85)
|
|
// HRESULT GetPropertyBSTR( [in] Uri_PROPERTY uriProp, [out] BSTR *pbstrProperty, [in] DWORD dwFlags );
|
|
new void GetPropertyBSTR([In] Uri_PROPERTY uriProp, [MarshalAs(UnmanagedType.BStr)] out string pbstrProperty, [In] Uri_DISPLAY dwFlags);
|
|
|
|
/// <summary>
|
|
/// Returns the string length of the specified Uniform Resource Identifier (URI) property. Call this function if you want the
|
|
/// length but don't necessarily want to create a new <c>BSTR</c>.
|
|
/// </summary>
|
|
/// <param name="uriProp">
|
|
/// <para>[in]</para>
|
|
/// <para>A value from the <c>Uri_PROPERTY</c> enumeration.</para>
|
|
/// </param>
|
|
/// <param name="pcchProperty">
|
|
/// <para>[out]</para>
|
|
/// <para>
|
|
/// Address of a <c>DWORD</c> that is set to the length of the value of the string property excluding the <c>NULL</c> terminator.
|
|
/// </para>
|
|
/// </param>
|
|
/// <param name="dwFlags">
|
|
/// <para>[in]</para>
|
|
/// <para>One of the following property-specific flags, or zero.</para>
|
|
/// <para><c>Uri_DISPLAY_NO_FRAGMENT</c> (0x00000001)</para>
|
|
/// <para><c>Uri_PROPERTY_DISPLAY_URI</c>: Exclude the fragment portion of the URI, if any.</para>
|
|
/// <para><c>Uri_PUNYCODE_IDN_HOST</c> (0x00000002)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: If the URI is an IDN, always display
|
|
/// the hostname encoded as punycode.
|
|
/// </para>
|
|
/// <para><c>Uri_DISPLAY_IDN_HOST</c> (0x00000004)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: Display the hostname in punycode or
|
|
/// Unicode as it would appear in the <c>Uri_PROPERTY_DISPLAY_URI</c> property.
|
|
/// </para>
|
|
/// </param>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPropertyLength</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The uriProp parameter must be a string property. This method will fail if the specified property isn't a <c>BSTR</c> property.
|
|
/// </para>
|
|
/// <para>This method will return and set pcchProperty to if the URI doesn't contain the specified property.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775028(v=vs.85)
|
|
// HRESULT GetPropertyLength( [in] Uri_PROPERTY uriProp, [out] DWORD *pcchProperty, [in] DWORD dwFlags );
|
|
new void GetPropertyLength([In] Uri_PROPERTY uriProp, out uint pcchProperty, [In] Uri_DISPLAY dwFlags);
|
|
|
|
/// <summary>Returns the specified numeric Uniform Resource Identifier (URI) property value.</summary>
|
|
/// <param name="uriProp">
|
|
/// <para>[in]</para>
|
|
/// <para>A value from the <c>Uri_PROPERTY</c> enumeration.</para>
|
|
/// </param>
|
|
/// <param name="pdwProperty">Address of a DWORD that is set to the value of the specified property.</param>
|
|
/// <param name="dwFlags">Property-specific flags. Must be set to 0.</param>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPropertyDWORD</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The uriProp parameter must be a numeric property. This method will fail if the specified property isn't a <c>DWORD</c> property.
|
|
/// </para>
|
|
/// <para>This method will return and set pdwProperty to if the specified property doesn't exist in the URI.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775027(v=vs.85)
|
|
// HRESULT GetPropertyDWORD( [in] Uri_PROPERTY uriProp, [out] DWORD *pdwProperty, [in] DWORD dwFlags );
|
|
new void GetPropertyDWORD([In] Uri_PROPERTY uriProp, out uint pdwProperty, [In] uint dwFlags);
|
|
|
|
/// <summary>Determines if the specified property exists in the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a BOOL value. Set to TRUE if the specified property exists in the URI.</returns>
|
|
/// <remarks><c>IUri::HasProperty</c> was introduced in Windows Internet Explorer 7.</remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775036(v=vs.85)
|
|
// HRESULT HasProperty( [in] Uri_PROPERTY uriProp, [out] BOOL *pfHasProperty );
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
new bool HasProperty([In] Uri_PROPERTY uriProp);
|
|
|
|
/// <summary>Returns the entire canonicalized Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetAbsoluteUri</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c> property.
|
|
/// </para>
|
|
/// <para>This property is not defined for relative URIs.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775013%28v%3dvs.85%29
|
|
// HRESULT GetAbsoluteUri( [out] BSTR *pbstrAbsoluteUri );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetAbsoluteUri();
|
|
|
|
/// <summary>Returns the user name, password, domain, and port.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetAuthority</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_AUTHORITY</c> property.
|
|
/// </para>
|
|
/// <para>
|
|
/// If user name and password are not specified, the separator characters (: and @) are removed. The trailing colon is also
|
|
/// removed if the port number is not specified or is the default for the protocol scheme.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775014(v=vs.85)
|
|
// HRESULT GetAuthority( [out] BSTR *pbstrAuthority );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetAuthority();
|
|
|
|
/// <summary>Returns a Uniform Resource Identifier (URI) that can be used for display purposes.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetDisplayUri</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The display URI combines protocol scheme, fully qualified domain name, port number (if not the default for the scheme), full
|
|
/// resource path, query string, and fragment.
|
|
/// </para>
|
|
/// <para>
|
|
/// <c>Note</c> The display URI may have additional formatting applied to it, such that the string produced by
|
|
/// <c>IUri::GetDisplayUri</c> isn't necessarily a valid URI. For this reason, and since the userinfo is not present, the
|
|
/// display URI should be used for viewing only; it should not be used for edit by the user, or as a form of transfer for URIs
|
|
/// inside or between applications.
|
|
/// </para>
|
|
/// <para>
|
|
/// If the scheme is known (for example, http, ftp, or file) then the display URI will hide credentials. However, if the URI
|
|
/// uses an unknown scheme and supplies user name and password, the display URI will also contain the user name and password.
|
|
/// </para>
|
|
/// <para>
|
|
/// <c>Security Warning:</c> Storing sensitive information as clear text in a URI is not recommended. According to RFC3986:
|
|
/// Uniform Resource Identifier (URI), Generic Syntax, Section 7.5, "A password appearing within the userinfo component is
|
|
/// deprecated and should be considered an error except in those rare cases where the 'password' parameter is intended to be public."
|
|
/// </para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_DISPLAY_URI</c> property and no flags.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775015(v=vs.85)
|
|
// HRESULT GetDisplayUri( [out] BSTR *pbstrDisplayString );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetDisplayUri();
|
|
|
|
/// <summary>Returns the domain name (including top-level domain) only.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetDomain</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_DOMAIN</c> property.
|
|
/// </para>
|
|
/// <para>
|
|
/// If the URL contains only a plain hostname (for example, "http://example/") or a public suffix (for example,
|
|
/// "http://co.uk/"), then <c>IUri::GetDomain</c> returns <c>NULL</c>. Use <c>IUri::GetHost</c> instead.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775016(v=vs.85)
|
|
// HRESULT GetDomain( [out] BSTR *pbstrDomain );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetDomain();
|
|
|
|
/// <summary>Returns the file name extension of the resource.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetExtension</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_EXTENSION</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775017(v=vs.85)
|
|
// HRESULT GetExtension( [out] BSTR *pbstrExtension );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetExtension();
|
|
|
|
/// <summary>Returns the text following a fragment marker (#), including the fragment marker itself.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetFragment</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_FRAGMENT</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775018(v=vs.85)
|
|
// HRESULT GetFragment( [out] BSTR *pbstrFragment );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetFragment();
|
|
|
|
/// <summary>Returns the fully qualified domain name.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetHost</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_HOST</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775019(v=vs.85)
|
|
// HRESULT GetHost( [out] BSTR *pbstrHost );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetHost();
|
|
|
|
/// <summary>Returns the password, as parsed from the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPassword</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// <c>Security Warning:</c> Storing sensitive information as clear text in a URI is not recommended. According to RFC3986:
|
|
/// Uniform Resource Identifier (URI), Generic Syntax, Section 7.5, "A password appearing within the userinfo component is
|
|
/// deprecated and should be considered an error except in those rare cases where the 'password' parameter is intended to be public."
|
|
/// </para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_PASSWORD</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775021(v=vs.85)
|
|
// HRESULT GetPassword( [out] BSTR *pbstrPassword );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetPassword();
|
|
|
|
/// <summary>Returns the path and resource name.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPath</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_PATH</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775022(v=vs.85)
|
|
// HRESULT GetPath( [out] BSTR *pbstrPath );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetPath();
|
|
|
|
/// <summary>Returns the path, resource name, and query string.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPathAndQuery</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_PATH_AND_QUERY</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775023(v=vs.85)
|
|
// HRESULT GetPathAndQuery( [out] BSTR *pbstrPathAndQuery );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetPathAndQuery();
|
|
|
|
/// <summary>Returns the query string.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetQuery</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_QUERY</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775029(v=vs.85)
|
|
// HRESULT GetQuery( [out] BSTR *pbstrQuery );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetQuery();
|
|
|
|
/// <summary>Returns the entire original Uniform Resource Identifier (URI) input string.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetRawUri</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_RAW_URI</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775030(v=vs.85)
|
|
// HRESULT GetRawUri( [out] BSTR *pbstrRawUri );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetRawUri();
|
|
|
|
/// <summary>Returns the protocol scheme name.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetSchemeName</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_SCHEME_NAME</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775032(v=vs.85)
|
|
// HRESULT GetSchemeName( [out] BSTR *pbstrSchemeName );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetSchemeName();
|
|
|
|
/// <summary>Returns the user name and password, as parsed from the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetUserInfo</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// <c>Security Warning:</c> Storing sensitive information as clear text in a URI is not recommended. According to RFC3986:
|
|
/// Uniform Resource Identifier (URI), Generic Syntax, Section 7.5, "A password appearing within the userinfo component is
|
|
/// deprecated and should be considered an error except in those rare cases where the 'password' parameter is intended to be public."
|
|
/// </para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_USER_INFO</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775033(v=vs.85)
|
|
// HRESULT GetUserInfo( [out] BSTR *pbstrUserInfo );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetUserInfo();
|
|
|
|
/// <summary>Returns the user name as parsed from the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_USER_NAME</c> property.
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775034(v=vs.85)
|
|
// HRESULT GetUserName( [out] BSTR *pbstrUserName );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetUserName();
|
|
|
|
/// <summary>Returns a value from the <c>Uri_HOST_TYPE</c> enumeration.</summary>
|
|
/// <returns>Address of a DWORD that receives a value from the Uri_HOST_TYPE enumeration.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetHostType</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyDWORD</c> with the
|
|
/// <c>Uri_PROPERTY_HOST_TYPE</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775020(v=vs.85)
|
|
// HRESULT GetHostType( [out] DWORD *pdwHostType );
|
|
new Uri_HOST_TYPE GetHostType();
|
|
|
|
/// <summary>Returns the port number.</summary>
|
|
/// <returns>Address of a DWORD that receives the port number value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPort</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyDWORD</c> with the <c>Uri_PROPERTY_PORT</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775024(v=vs.85)
|
|
// HRESULT GetPort( [out] DWORD *pdwPort );
|
|
new uint GetPort();
|
|
|
|
/// <summary>Returns a value from the URL_SCHEME enumeration.</summary>
|
|
/// <returns>Address of a DWORD that receives a value from the URL_SCHEME enumeration.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetScheme</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyDWORD</c> with the
|
|
/// <c>Uri_PROPERTY_SCHEME</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775031(v=vs.85)
|
|
// HRESULT GetScheme( [out] DWORD *pdwScheme );
|
|
new URL_SCHEME GetScheme();
|
|
|
|
/// <summary>This method is not implemented.</summary>
|
|
/// <returns/>
|
|
new URLZONE GetZone();
|
|
|
|
/// <summary>Returns a bitmap of flags that indicate which Uniform Resource Identifier (URI) properties have been set.</summary>
|
|
/// <param name="pdwFlags">
|
|
/// <para>[out]</para>
|
|
/// <para>Address of a <c>DWORD</c> that receives a combination of the following flags:</para>
|
|
/// <para><c>Uri_HAS_ABSOLUTE_URI</c> (0x00000000)</para>
|
|
/// <para><c>Uri_PROPERTY_ABSOLUTE_URI</c> exists.</para>
|
|
/// <para><c>Uri_HAS_AUTHORITY</c> (0x00000001)</para>
|
|
/// <para><c>Uri_PROPERTY_AUTHORITY</c> exists.</para>
|
|
/// <para><c>Uri_HAS_DISPLAY_URI</c> (0x00000002)</para>
|
|
/// <para><c>Uri_PROPERTY_DISPLAY_URI</c> exists.</para>
|
|
/// <para><c>Uri_HAS_DOMAIN</c> (0x00000004)</para>
|
|
/// <para><c>Uri_PROPERTY_DOMAIN</c> exists.</para>
|
|
/// <para><c>Uri_HAS_EXTENSION</c> (0x00000008)</para>
|
|
/// <para><c>Uri_PROPERTY_EXTENSION</c> exists.</para>
|
|
/// <para><c>Uri_HAS_FRAGMENT</c> (0x00000010)</para>
|
|
/// <para><c>Uri_PROPERTY_FRAGMENT</c> exists.</para>
|
|
/// <para><c>Uri_HAS_HOST</c> (0x00000020)</para>
|
|
/// <para><c>Uri_PROPERTY_HOST</c> exists.</para>
|
|
/// <para><c>Uri_HAS_HOST_TYPE</c> (0x00004000)</para>
|
|
/// <para><c>Uri_PROPERTY_HOST_TYPE</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PASSWORD</c> (0x00000040)</para>
|
|
/// <para><c>Uri_PROPERTY_PASSWORD</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PATH</c> (0x00000080)</para>
|
|
/// <para><c>Uri_PROPERTY_PATH</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PATH_AND_QUERY</c> (0x00001000)</para>
|
|
/// <para><c>Uri_PROPERTY_PATH_AND_QUERY</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PORT</c> (0x00008000)</para>
|
|
/// <para><c>Uri_PROPERTY_PORT</c> exists.</para>
|
|
/// <para><c>Uri_HAS_QUERY</c> (0x00000100)</para>
|
|
/// <para><c>Uri_PROPERTY_QUERY</c> exists.</para>
|
|
/// <para><c>Uri_HAS_RAW_URI</c> (0x00000200)</para>
|
|
/// <para><c>Uri_PROPERTY_RAW_URI</c> exists.</para>
|
|
/// <para><c>Uri_HAS_SCHEME</c> (0x00010000)</para>
|
|
/// <para><c>Uri_PROPERTY_SCHEME</c> exists.</para>
|
|
/// <para><c>Uri_HAS_SCHEME_NAME</c> (0x00000400)</para>
|
|
/// <para><c>Uri_PROPERTY_SCHEME_NAME</c> exists.</para>
|
|
/// <para><c>Uri_HAS_USER_NAME</c> (0x00000800)</para>
|
|
/// <para><c>Uri_PROPERTY_USER_NAME</c> exists.</para>
|
|
/// <para><c>Uri_HAS_USER_INFO</c> (0x00002000)</para>
|
|
/// <para><c>Uri_PROPERTY_USER_INFO</c> exists.</para>
|
|
/// <para><c>Uri_HAS_ZONE</c> (0x00020000)</para>
|
|
/// <para><c>Uri_PROPERTY_ZONE</c> exists.</para>
|
|
/// </param>
|
|
/// <returns>If this method succeeds, it returns <c>S_OK</c>. Otherwise, it returns an <c>HRESULT</c> error code.</returns>
|
|
/// <remarks><c>IUri::GetProperties</c> was introduced in Windows Internet Explorer 7.</remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775025(v=vs.85)
|
|
// HRESULT GetProperties( [out] LPDWORD pdwFlags );
|
|
new Uri_HAS GetProperties();
|
|
|
|
/// <summary>Compares the logical content of two <c>IUri</c> objects.</summary>
|
|
/// <returns>Address of a BOOL that is set to TRUE if the logical content of pUri is the same.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::IsEqual</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>The comparison is case-insensitive. Comparing an <c>IUri</c> to itself will always return <c>TRUE</c>.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775037(v=vs.85)
|
|
// HRESULT IsEqual( [in] IUri *pUri, [out] BOOL *pfEqual );
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
new bool IsEqual([In] IUri pUri);
|
|
|
|
/// <summary>
|
|
/// Gets the part name of the Relationships part that stores relationships that have the source URI represented by the current
|
|
/// OPC URI object.
|
|
/// </summary>
|
|
/// <returns>
|
|
/// A pointer to the IOpcPartUri interface of the part URI object that represents the part name of the Relationships part. The
|
|
/// source URI of the relationships stored in this Relationships part is represented by the current OPC URI object.
|
|
/// </returns>
|
|
/// <remarks>
|
|
/// <para>The following table shows Relationships part URIs for some OPC URIs.</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>OPC URI</term>
|
|
/// <term>Relationships Part Name</term>
|
|
/// <term>Return Value</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>/mydoc/images/picture.jpg</term>
|
|
/// <term>/mydoc/images/_rels/picture.jpg.rels</term>
|
|
/// <term>S_OK</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/</term>
|
|
/// <term>/_rels/.rels</term>
|
|
/// <term>S_OK</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/images/_rels/picture.jpg.rels</term>
|
|
/// <term>Undefined</term>
|
|
/// <term>OPC_E_NONCONFORMING_URI</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcuri-getrelationshipsparturi HRESULT
|
|
// GetRelationshipsPartUri( IOpcPartUri **relationshipPartUri );
|
|
new IOpcPartUri GetRelationshipsPartUri();
|
|
|
|
/// <summary>Forms a relative URI for a specified part, relative to the URI represented by the current OPC URI object.</summary>
|
|
/// <param name="targetPartUri">
|
|
/// A pointer to the IOpcPartUri interface of the part URI object that represents the part name from which the relative URI is formed.
|
|
/// </param>
|
|
/// <returns>A pointer to the IUri interface of the URI of the part, relative to the current OPC URI object.</returns>
|
|
/// <remarks>
|
|
/// <para>Example input and output:</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>Input IOpcPartUri represents</term>
|
|
/// <term>Current IOpcUri represents</term>
|
|
/// <term>Returned relative IUri represents</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/markup/picture.jpg</term>
|
|
/// <term>picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/picture.jpg</term>
|
|
/// <term>../picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/images/pictures.jpg</term>
|
|
/// <term>../images/pictures.jpg</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcuri-getrelativeuri HRESULT GetRelativeUri( IOpcPartUri
|
|
// *targetPartUri, IUri **relativeUri );
|
|
new IUri GetRelativeUri([In] IOpcPartUri targetPartUri);
|
|
|
|
/// <summary>
|
|
/// Forms the part name of the part that is referenced by the specified relative URI. The specified relative URI of the part is
|
|
/// resolved against the URI represented as the current OPC URI object.
|
|
/// </summary>
|
|
/// <param name="relativeUri">
|
|
/// <para>A pointer to the IUri interface of the relative URI of the part.</para>
|
|
/// <para>
|
|
/// To form the part URI object that represents the part name, this input URI is resolved against the URI represented as the
|
|
/// current OPC URI object. Therefore, the input URI must be relative to the URI represented by the current OPC URI object.
|
|
/// </para>
|
|
/// <para>
|
|
/// This URI may include a fragment component; however, the fragment will be ignored and will not be included in the part name
|
|
/// to be formed. A fragment component is preceded by a '#', as described in RFC 3986: URI Generic Syntax.
|
|
/// </para>
|
|
/// </param>
|
|
/// <returns>
|
|
/// <para>A pointer to the IOpcPartUri interface of the part URI object that represents the part name.</para>
|
|
/// <para>
|
|
/// The part URI object is formed by resolving the relative URI in relativeUri against the URI represented by the current OPC
|
|
/// URI object.
|
|
/// </para>
|
|
/// </returns>
|
|
/// <remarks>
|
|
/// <para>Example input and output:</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>Input relative IUri</term>
|
|
/// <term>Current IOpcUri</term>
|
|
/// <term>Formed IOpcPartUri</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>picture.jpg</term>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/markup/picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>../picture.jpg</term>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>../../images/picture.jpg</term>
|
|
/// <term>/mydoc/page.xml</term>
|
|
/// <term>/images/picture.jpg</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>
|
|
/// For information about how to use this method to help resolve a part name, see Resolving a Part Name from a Target URI.
|
|
/// </para>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcuri-combineparturi HRESULT CombinePartUri( IUri
|
|
// *relativeUri, IOpcPartUri **combinedUri );
|
|
new IOpcPartUri CombinePartUri([In] IUri relativeUri);
|
|
|
|
/// <summary>
|
|
/// Returns an integer that indicates whether the URIs represented by the current part URI object and a specified part URI
|
|
/// object are equivalent.
|
|
/// </summary>
|
|
/// <param name="partUri">
|
|
/// A pointer to the IOpcPartUri interface of the part URI object to compare with the current part URI object.
|
|
/// </param>
|
|
/// <returns>
|
|
/// <para>Receives an integer that indicates whether the two part URI objects are equivalent.</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>Value</term>
|
|
/// <term>Meaning</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term><0</term>
|
|
/// <term>The current part URI object is less than the input part URI object that is passed in partUri.</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>0</term>
|
|
/// <term>The current part URI object is equivalent to the input part URI object that is passed in partUri.</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>>0</term>
|
|
/// <term>The current part URI object is greater than the input part URI object that is passed in partUri.</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// </returns>
|
|
/// <remarks>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcparturi-compareparturi HRESULT ComparePartUri(
|
|
// IOpcPartUri *partUri, INT32 *comparisonResult );
|
|
int ComparePartUri([In] IOpcPartUri partUri);
|
|
|
|
/// <summary>
|
|
/// Gets the source URI of the relationships that are stored in a Relationships part. The current part URI object represents the
|
|
/// part name of that Relationships part.
|
|
/// </summary>
|
|
/// <returns>
|
|
/// A pointer to the IOpcUri interface of the OPC URI object that represents the URI of the source of the relationships stored
|
|
/// in the Relationships part.
|
|
/// </returns>
|
|
/// <remarks>
|
|
/// <para>
|
|
/// If the current part URI object represents the part name of the Relationships part that stores package relationships
|
|
/// ("/_rels/.rels"), the OPC URI object returned in sourceUri will represent the package root ("/").
|
|
/// </para>
|
|
/// <para>
|
|
/// If the current part URI object is not the part name of a Relationships part, this method fails with the
|
|
/// <c>OPC_E_RELATIONSHIP_URI_REQUIRED</c> error. The syntax for Relationship part names is specified in the OPC.
|
|
/// </para>
|
|
/// <para>The following table shows possible current part URIs and the source URI that would be returned by this method.</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>Current Part URI</term>
|
|
/// <term>Current Part URI Description</term>
|
|
/// <term>Source URI</term>
|
|
/// <term>Source URI Description</term>
|
|
/// <term>Return Value</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>/mydoc/_rels/picture.jpg.rels</term>
|
|
/// <term>The part name of a Relationships part</term>
|
|
/// <term>/mydoc/picture.jpg</term>
|
|
/// <term>
|
|
/// The part name of the part that is the source of the relationships stored in the Relationships part that is represented by
|
|
/// the current part URI object
|
|
/// </term>
|
|
/// <term>S_OK</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/_rels/.rels</term>
|
|
/// <term>The part name of a Relationships part</term>
|
|
/// <term>/</term>
|
|
/// <term>
|
|
/// The package root; the source of the relationships stored in the Relationships part that is represented by the current part
|
|
/// URI object
|
|
/// </term>
|
|
/// <term>S_OK</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/image/chart1.jpg</term>
|
|
/// <term>The part name of a part that is not a Relationships part</term>
|
|
/// <term>Undefined</term>
|
|
/// <term>Undefined</term>
|
|
/// <term>OPC_E_RELATIONSHIP_URI_REQUIRED</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/_rels/a.jpg</term>
|
|
/// <term>The part name of a part that is not a Relationships part</term>
|
|
/// <term>Undefined</term>
|
|
/// <term>Undefined</term>
|
|
/// <term>OPC_E_RELATIONSHIP_URI_REQUIRED</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcparturi-getsourceuri HRESULT GetSourceUri( IOpcUri
|
|
// **sourceUri );
|
|
IOpcUri GetSourceUri();
|
|
|
|
/// <summary>Returns a value that indicates whether the current part URI object represents the part name of a Relationships
|
|
/// part.</summary> <returns> <para>Receives a value that indicates whether the current part URI object represents the part name
|
|
/// of a Relationships part.</para> <list type="table"> <listheader> <term>Value</term> <term>Meaning</term> </listheader>
|
|
/// <item> <term>TRUE</term> <term>The current part URI object represents the part name of a Relationships part.</term> </item>
|
|
/// <item> <term>FALSE</term> <term>The current part URI object does not represent the part name of a Relationships part.</term>
|
|
/// </item> </list> </param> </returns> <remarks> <para>Support on Previous Windows Versions</para> <para>The behavior and
|
|
/// performance of this method is the same on all supported Windows versions. For more information, see Getting Started with the
|
|
/// Packaging API, and Platform Update for Windows Vista.</para> <para>Thread Safety</para> <para>Packaging objects are not
|
|
/// thread-safe.</para> <para>For more information, see the Getting Started with the Packaging API.</para> </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcparturi-isrelationshipsparturi HRESULT
|
|
// IsRelationshipsPartUri( BOOL *isRelationshipUri );
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
bool IsRelationshipsPartUri();
|
|
}
|
|
|
|
/// <summary>Represents the URI of the package root or of a part that is relative to the package root.</summary>
|
|
/// <remarks>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this interface is the same on all supported Windows versions. For more information, see the
|
|
/// Getting Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nn-msopc-iopcuri
|
|
[PInvokeData("msopc.h", MSDNShortId = "35ce7946-f7e7-4ac3-852f-e3fcca23d6d4")]
|
|
[ComImport, Guid("BC9C1B9B-D62C-49EB-AEF0-3B4E0B28EBED"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
public interface IOpcUri : IUri
|
|
{
|
|
/// <summary>Returns the specified Uniform Resource Identifier (URI) property value in a new <c>BSTR</c>.</summary>
|
|
/// <param name="uriProp">
|
|
/// <para>[in]</para>
|
|
/// <para>A value from the <c>Uri_PROPERTY</c> enumeration.</para>
|
|
/// </param>
|
|
/// <param name="pbstrProperty">
|
|
/// <para>[out]</para>
|
|
/// <para>Address of a <c>BSTR</c> that receives the property value.</para>
|
|
/// </param>
|
|
/// <param name="dwFlags">
|
|
/// <para>[in]</para>
|
|
/// <para>One of the following property-specific flags, or zero.</para>
|
|
/// <para><c>Uri_DISPLAY_NO_FRAGMENT</c> (0x00000001)</para>
|
|
/// <para><c>Uri_PROPERTY_DISPLAY_URI</c>: Exclude the fragment portion of the URI, if any.</para>
|
|
/// <para><c>Uri_PUNYCODE_IDN_HOST</c> (0x00000002)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: If the URI is an IDN, always display
|
|
/// the hostname encoded as punycode.
|
|
/// </para>
|
|
/// <para><c>Uri_DISPLAY_IDN_HOST</c> (0x00000004)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: Display the hostname in punycode or
|
|
/// Unicode as it would appear in the <c>Uri_PROPERTY_DISPLAY_URI</c> property.
|
|
/// </para>
|
|
/// </param>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPropertyBSTR</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The uriProp parameter must be a string property. This method will fail if the specified property isn't a <c>BSTR</c> property.
|
|
/// </para>
|
|
/// <para>
|
|
/// The pbstrProperty parameter will be set to a new <c>BSTR</c> containing the value of the specified string property. The
|
|
/// caller should use SysFreeString to free the string.
|
|
/// </para>
|
|
/// <para>This method will return and set pbstrProperty to an empty string if the URI doesn't contain the specified property.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775026(v=vs.85)
|
|
// HRESULT GetPropertyBSTR( [in] Uri_PROPERTY uriProp, [out] BSTR *pbstrProperty, [in] DWORD dwFlags );
|
|
new void GetPropertyBSTR([In] Uri_PROPERTY uriProp, [MarshalAs(UnmanagedType.BStr)] out string pbstrProperty, [In] Uri_DISPLAY dwFlags);
|
|
|
|
/// <summary>
|
|
/// Returns the string length of the specified Uniform Resource Identifier (URI) property. Call this function if you want the
|
|
/// length but don't necessarily want to create a new <c>BSTR</c>.
|
|
/// </summary>
|
|
/// <param name="uriProp">
|
|
/// <para>[in]</para>
|
|
/// <para>A value from the <c>Uri_PROPERTY</c> enumeration.</para>
|
|
/// </param>
|
|
/// <param name="pcchProperty">
|
|
/// <para>[out]</para>
|
|
/// <para>
|
|
/// Address of a <c>DWORD</c> that is set to the length of the value of the string property excluding the <c>NULL</c> terminator.
|
|
/// </para>
|
|
/// </param>
|
|
/// <param name="dwFlags">
|
|
/// <para>[in]</para>
|
|
/// <para>One of the following property-specific flags, or zero.</para>
|
|
/// <para><c>Uri_DISPLAY_NO_FRAGMENT</c> (0x00000001)</para>
|
|
/// <para><c>Uri_PROPERTY_DISPLAY_URI</c>: Exclude the fragment portion of the URI, if any.</para>
|
|
/// <para><c>Uri_PUNYCODE_IDN_HOST</c> (0x00000002)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: If the URI is an IDN, always display
|
|
/// the hostname encoded as punycode.
|
|
/// </para>
|
|
/// <para><c>Uri_DISPLAY_IDN_HOST</c> (0x00000004)</para>
|
|
/// <para>
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c>, <c>Uri_PROPERTY_DOMAIN</c>, <c>Uri_PROPERTY_HOST</c>: Display the hostname in punycode or
|
|
/// Unicode as it would appear in the <c>Uri_PROPERTY_DISPLAY_URI</c> property.
|
|
/// </para>
|
|
/// </param>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPropertyLength</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The uriProp parameter must be a string property. This method will fail if the specified property isn't a <c>BSTR</c> property.
|
|
/// </para>
|
|
/// <para>This method will return and set pcchProperty to if the URI doesn't contain the specified property.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775028(v=vs.85)
|
|
// HRESULT GetPropertyLength( [in] Uri_PROPERTY uriProp, [out] DWORD *pcchProperty, [in] DWORD dwFlags );
|
|
new void GetPropertyLength([In] Uri_PROPERTY uriProp, out uint pcchProperty, [In] Uri_DISPLAY dwFlags);
|
|
|
|
/// <summary>Returns the specified numeric Uniform Resource Identifier (URI) property value.</summary>
|
|
/// <param name="uriProp">
|
|
/// <para>[in]</para>
|
|
/// <para>A value from the <c>Uri_PROPERTY</c> enumeration.</para>
|
|
/// </param>
|
|
/// <param name="pdwProperty">Address of a DWORD that is set to the value of the specified property.</param>
|
|
/// <param name="dwFlags">Property-specific flags. Must be set to 0.</param>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPropertyDWORD</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The uriProp parameter must be a numeric property. This method will fail if the specified property isn't a <c>DWORD</c> property.
|
|
/// </para>
|
|
/// <para>This method will return and set pdwProperty to if the specified property doesn't exist in the URI.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775027(v=vs.85)
|
|
// HRESULT GetPropertyDWORD( [in] Uri_PROPERTY uriProp, [out] DWORD *pdwProperty, [in] DWORD dwFlags );
|
|
new void GetPropertyDWORD([In] Uri_PROPERTY uriProp, out uint pdwProperty, [In] uint dwFlags);
|
|
|
|
/// <summary>Determines if the specified property exists in the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a BOOL value. Set to TRUE if the specified property exists in the URI.</returns>
|
|
/// <remarks><c>IUri::HasProperty</c> was introduced in Windows Internet Explorer 7.</remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775036(v=vs.85)
|
|
// HRESULT HasProperty( [in] Uri_PROPERTY uriProp, [out] BOOL *pfHasProperty );
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
new bool HasProperty([In] Uri_PROPERTY uriProp);
|
|
|
|
/// <summary>Returns the entire canonicalized Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetAbsoluteUri</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_ABSOLUTE_URI</c> property.
|
|
/// </para>
|
|
/// <para>This property is not defined for relative URIs.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775013%28v%3dvs.85%29
|
|
// HRESULT GetAbsoluteUri( [out] BSTR *pbstrAbsoluteUri );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetAbsoluteUri();
|
|
|
|
/// <summary>Returns the user name, password, domain, and port.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetAuthority</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_AUTHORITY</c> property.
|
|
/// </para>
|
|
/// <para>
|
|
/// If user name and password are not specified, the separator characters (: and @) are removed. The trailing colon is also
|
|
/// removed if the port number is not specified or is the default for the protocol scheme.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775014(v=vs.85)
|
|
// HRESULT GetAuthority( [out] BSTR *pbstrAuthority );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetAuthority();
|
|
|
|
/// <summary>Returns a Uniform Resource Identifier (URI) that can be used for display purposes.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetDisplayUri</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// The display URI combines protocol scheme, fully qualified domain name, port number (if not the default for the scheme), full
|
|
/// resource path, query string, and fragment.
|
|
/// </para>
|
|
/// <para>
|
|
/// <c>Note</c> The display URI may have additional formatting applied to it, such that the string produced by
|
|
/// <c>IUri::GetDisplayUri</c> isn't necessarily a valid URI. For this reason, and since the userinfo is not present, the
|
|
/// display URI should be used for viewing only; it should not be used for edit by the user, or as a form of transfer for URIs
|
|
/// inside or between applications.
|
|
/// </para>
|
|
/// <para>
|
|
/// If the scheme is known (for example, http, ftp, or file) then the display URI will hide credentials. However, if the URI
|
|
/// uses an unknown scheme and supplies user name and password, the display URI will also contain the user name and password.
|
|
/// </para>
|
|
/// <para>
|
|
/// <c>Security Warning:</c> Storing sensitive information as clear text in a URI is not recommended. According to RFC3986:
|
|
/// Uniform Resource Identifier (URI), Generic Syntax, Section 7.5, "A password appearing within the userinfo component is
|
|
/// deprecated and should be considered an error except in those rare cases where the 'password' parameter is intended to be public."
|
|
/// </para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_DISPLAY_URI</c> property and no flags.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775015(v=vs.85)
|
|
// HRESULT GetDisplayUri( [out] BSTR *pbstrDisplayString );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetDisplayUri();
|
|
|
|
/// <summary>Returns the domain name (including top-level domain) only.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetDomain</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_DOMAIN</c> property.
|
|
/// </para>
|
|
/// <para>
|
|
/// If the URL contains only a plain hostname (for example, "http://example/") or a public suffix (for example,
|
|
/// "http://co.uk/"), then <c>IUri::GetDomain</c> returns <c>NULL</c>. Use <c>IUri::GetHost</c> instead.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775016(v=vs.85)
|
|
// HRESULT GetDomain( [out] BSTR *pbstrDomain );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetDomain();
|
|
|
|
/// <summary>Returns the file name extension of the resource.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetExtension</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_EXTENSION</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775017(v=vs.85)
|
|
// HRESULT GetExtension( [out] BSTR *pbstrExtension );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetExtension();
|
|
|
|
/// <summary>Returns the text following a fragment marker (#), including the fragment marker itself.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetFragment</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_FRAGMENT</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775018(v=vs.85)
|
|
// HRESULT GetFragment( [out] BSTR *pbstrFragment );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetFragment();
|
|
|
|
/// <summary>Returns the fully qualified domain name.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetHost</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_HOST</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775019(v=vs.85)
|
|
// HRESULT GetHost( [out] BSTR *pbstrHost );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetHost();
|
|
|
|
/// <summary>Returns the password, as parsed from the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPassword</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// <c>Security Warning:</c> Storing sensitive information as clear text in a URI is not recommended. According to RFC3986:
|
|
/// Uniform Resource Identifier (URI), Generic Syntax, Section 7.5, "A password appearing within the userinfo component is
|
|
/// deprecated and should be considered an error except in those rare cases where the 'password' parameter is intended to be public."
|
|
/// </para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_PASSWORD</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775021(v=vs.85)
|
|
// HRESULT GetPassword( [out] BSTR *pbstrPassword );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetPassword();
|
|
|
|
/// <summary>Returns the path and resource name.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPath</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_PATH</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775022(v=vs.85)
|
|
// HRESULT GetPath( [out] BSTR *pbstrPath );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetPath();
|
|
|
|
/// <summary>Returns the path, resource name, and query string.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPathAndQuery</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_PATH_AND_QUERY</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775023(v=vs.85)
|
|
// HRESULT GetPathAndQuery( [out] BSTR *pbstrPathAndQuery );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetPathAndQuery();
|
|
|
|
/// <summary>Returns the query string.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetQuery</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the <c>Uri_PROPERTY_QUERY</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775029(v=vs.85)
|
|
// HRESULT GetQuery( [out] BSTR *pbstrQuery );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetQuery();
|
|
|
|
/// <summary>Returns the entire original Uniform Resource Identifier (URI) input string.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetRawUri</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_RAW_URI</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775030(v=vs.85)
|
|
// HRESULT GetRawUri( [out] BSTR *pbstrRawUri );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetRawUri();
|
|
|
|
/// <summary>Returns the protocol scheme name.</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetSchemeName</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_SCHEME_NAME</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775032(v=vs.85)
|
|
// HRESULT GetSchemeName( [out] BSTR *pbstrSchemeName );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetSchemeName();
|
|
|
|
/// <summary>Returns the user name and password, as parsed from the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetUserInfo</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// <c>Security Warning:</c> Storing sensitive information as clear text in a URI is not recommended. According to RFC3986:
|
|
/// Uniform Resource Identifier (URI), Generic Syntax, Section 7.5, "A password appearing within the userinfo component is
|
|
/// deprecated and should be considered an error except in those rare cases where the 'password' parameter is intended to be public."
|
|
/// </para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_USER_INFO</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775033(v=vs.85)
|
|
// HRESULT GetUserInfo( [out] BSTR *pbstrUserInfo );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetUserInfo();
|
|
|
|
/// <summary>Returns the user name as parsed from the Uniform Resource Identifier (URI).</summary>
|
|
/// <returns>Address of a string that receives the property value.</returns>
|
|
/// <remarks>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyBSTR</c> with the
|
|
/// <c>Uri_PROPERTY_USER_NAME</c> property.
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775034(v=vs.85)
|
|
// HRESULT GetUserName( [out] BSTR *pbstrUserName );
|
|
[return: MarshalAs(UnmanagedType.BStr)]
|
|
new string GetUserName();
|
|
|
|
/// <summary>Returns a value from the <c>Uri_HOST_TYPE</c> enumeration.</summary>
|
|
/// <returns>Address of a DWORD that receives a value from the Uri_HOST_TYPE enumeration.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetHostType</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyDWORD</c> with the
|
|
/// <c>Uri_PROPERTY_HOST_TYPE</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775020(v=vs.85)
|
|
// HRESULT GetHostType( [out] DWORD *pdwHostType );
|
|
new Uri_HOST_TYPE GetHostType();
|
|
|
|
/// <summary>Returns the port number.</summary>
|
|
/// <returns>Address of a DWORD that receives the port number value.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetPort</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyDWORD</c> with the <c>Uri_PROPERTY_PORT</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775024(v=vs.85)
|
|
// HRESULT GetPort( [out] DWORD *pdwPort );
|
|
new uint GetPort();
|
|
|
|
/// <summary>Returns a value from the URL_SCHEME enumeration.</summary>
|
|
/// <returns>Address of a DWORD that receives a value from the URL_SCHEME enumeration.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::GetScheme</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>
|
|
/// This function is for convenience. It is the same as calling <c>IUri::GetPropertyDWORD</c> with the
|
|
/// <c>Uri_PROPERTY_SCHEME</c> property.
|
|
/// </para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775031(v=vs.85)
|
|
// HRESULT GetScheme( [out] DWORD *pdwScheme );
|
|
new URL_SCHEME GetScheme();
|
|
|
|
/// <summary>This method is not implemented.</summary>
|
|
/// <returns/>
|
|
new URLZONE GetZone();
|
|
|
|
/// <summary>Returns a bitmap of flags that indicate which Uniform Resource Identifier (URI) properties have been set.</summary>
|
|
/// <param name="pdwFlags">
|
|
/// <para>[out]</para>
|
|
/// <para>Address of a <c>DWORD</c> that receives a combination of the following flags:</para>
|
|
/// <para><c>Uri_HAS_ABSOLUTE_URI</c> (0x00000000)</para>
|
|
/// <para><c>Uri_PROPERTY_ABSOLUTE_URI</c> exists.</para>
|
|
/// <para><c>Uri_HAS_AUTHORITY</c> (0x00000001)</para>
|
|
/// <para><c>Uri_PROPERTY_AUTHORITY</c> exists.</para>
|
|
/// <para><c>Uri_HAS_DISPLAY_URI</c> (0x00000002)</para>
|
|
/// <para><c>Uri_PROPERTY_DISPLAY_URI</c> exists.</para>
|
|
/// <para><c>Uri_HAS_DOMAIN</c> (0x00000004)</para>
|
|
/// <para><c>Uri_PROPERTY_DOMAIN</c> exists.</para>
|
|
/// <para><c>Uri_HAS_EXTENSION</c> (0x00000008)</para>
|
|
/// <para><c>Uri_PROPERTY_EXTENSION</c> exists.</para>
|
|
/// <para><c>Uri_HAS_FRAGMENT</c> (0x00000010)</para>
|
|
/// <para><c>Uri_PROPERTY_FRAGMENT</c> exists.</para>
|
|
/// <para><c>Uri_HAS_HOST</c> (0x00000020)</para>
|
|
/// <para><c>Uri_PROPERTY_HOST</c> exists.</para>
|
|
/// <para><c>Uri_HAS_HOST_TYPE</c> (0x00004000)</para>
|
|
/// <para><c>Uri_PROPERTY_HOST_TYPE</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PASSWORD</c> (0x00000040)</para>
|
|
/// <para><c>Uri_PROPERTY_PASSWORD</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PATH</c> (0x00000080)</para>
|
|
/// <para><c>Uri_PROPERTY_PATH</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PATH_AND_QUERY</c> (0x00001000)</para>
|
|
/// <para><c>Uri_PROPERTY_PATH_AND_QUERY</c> exists.</para>
|
|
/// <para><c>Uri_HAS_PORT</c> (0x00008000)</para>
|
|
/// <para><c>Uri_PROPERTY_PORT</c> exists.</para>
|
|
/// <para><c>Uri_HAS_QUERY</c> (0x00000100)</para>
|
|
/// <para><c>Uri_PROPERTY_QUERY</c> exists.</para>
|
|
/// <para><c>Uri_HAS_RAW_URI</c> (0x00000200)</para>
|
|
/// <para><c>Uri_PROPERTY_RAW_URI</c> exists.</para>
|
|
/// <para><c>Uri_HAS_SCHEME</c> (0x00010000)</para>
|
|
/// <para><c>Uri_PROPERTY_SCHEME</c> exists.</para>
|
|
/// <para><c>Uri_HAS_SCHEME_NAME</c> (0x00000400)</para>
|
|
/// <para><c>Uri_PROPERTY_SCHEME_NAME</c> exists.</para>
|
|
/// <para><c>Uri_HAS_USER_NAME</c> (0x00000800)</para>
|
|
/// <para><c>Uri_PROPERTY_USER_NAME</c> exists.</para>
|
|
/// <para><c>Uri_HAS_USER_INFO</c> (0x00002000)</para>
|
|
/// <para><c>Uri_PROPERTY_USER_INFO</c> exists.</para>
|
|
/// <para><c>Uri_HAS_ZONE</c> (0x00020000)</para>
|
|
/// <para><c>Uri_PROPERTY_ZONE</c> exists.</para>
|
|
/// </param>
|
|
/// <returns>If this method succeeds, it returns <c>S_OK</c>. Otherwise, it returns an <c>HRESULT</c> error code.</returns>
|
|
/// <remarks><c>IUri::GetProperties</c> was introduced in Windows Internet Explorer 7.</remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775025(v=vs.85)
|
|
// HRESULT GetProperties( [out] LPDWORD pdwFlags );
|
|
new Uri_HAS GetProperties();
|
|
|
|
/// <summary>Compares the logical content of two <c>IUri</c> objects.</summary>
|
|
/// <returns>Address of a BOOL that is set to TRUE if the logical content of pUri is the same.</returns>
|
|
/// <remarks>
|
|
/// <para><c>IUri::IsEqual</c> was introduced in Windows Internet Explorer 7.</para>
|
|
/// <para>The comparison is case-insensitive. Comparing an <c>IUri</c> to itself will always return <c>TRUE</c>.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775037(v=vs.85)
|
|
// HRESULT IsEqual( [in] IUri *pUri, [out] BOOL *pfEqual );
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
new bool IsEqual([In] IUri pUri);
|
|
|
|
/// <summary>
|
|
/// Gets the part name of the Relationships part that stores relationships that have the source URI represented by the current
|
|
/// OPC URI object.
|
|
/// </summary>
|
|
/// <returns>
|
|
/// A pointer to the IOpcPartUri interface of the part URI object that represents the part name of the Relationships part. The
|
|
/// source URI of the relationships stored in this Relationships part is represented by the current OPC URI object.
|
|
/// </returns>
|
|
/// <remarks>
|
|
/// <para>The following table shows Relationships part URIs for some OPC URIs.</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>OPC URI</term>
|
|
/// <term>Relationships Part Name</term>
|
|
/// <term>Return Value</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>/mydoc/images/picture.jpg</term>
|
|
/// <term>/mydoc/images/_rels/picture.jpg.rels</term>
|
|
/// <term>S_OK</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/</term>
|
|
/// <term>/_rels/.rels</term>
|
|
/// <term>S_OK</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/images/_rels/picture.jpg.rels</term>
|
|
/// <term>Undefined</term>
|
|
/// <term>OPC_E_NONCONFORMING_URI</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcuri-getrelationshipsparturi HRESULT
|
|
// GetRelationshipsPartUri( IOpcPartUri **relationshipPartUri );
|
|
IOpcPartUri GetRelationshipsPartUri();
|
|
|
|
/// <summary>Forms a relative URI for a specified part, relative to the URI represented by the current OPC URI object.</summary>
|
|
/// <param name="targetPartUri">
|
|
/// A pointer to the IOpcPartUri interface of the part URI object that represents the part name from which the relative URI is formed.
|
|
/// </param>
|
|
/// <returns>A pointer to the IUri interface of the URI of the part, relative to the current OPC URI object.</returns>
|
|
/// <remarks>
|
|
/// <para>Example input and output:</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>Input IOpcPartUri represents</term>
|
|
/// <term>Current IOpcUri represents</term>
|
|
/// <term>Returned relative IUri represents</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/markup/picture.jpg</term>
|
|
/// <term>picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/picture.jpg</term>
|
|
/// <term>../picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/images/pictures.jpg</term>
|
|
/// <term>../images/pictures.jpg</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcuri-getrelativeuri HRESULT GetRelativeUri( IOpcPartUri
|
|
// *targetPartUri, IUri **relativeUri );
|
|
IUri GetRelativeUri([In] IOpcPartUri targetPartUri);
|
|
|
|
/// <summary>
|
|
/// Forms the part name of the part that is referenced by the specified relative URI. The specified relative URI of the part is
|
|
/// resolved against the URI represented as the current OPC URI object.
|
|
/// </summary>
|
|
/// <param name="relativeUri">
|
|
/// <para>A pointer to the IUri interface of the relative URI of the part.</para>
|
|
/// <para>
|
|
/// To form the part URI object that represents the part name, this input URI is resolved against the URI represented as the
|
|
/// current OPC URI object. Therefore, the input URI must be relative to the URI represented by the current OPC URI object.
|
|
/// </para>
|
|
/// <para>
|
|
/// This URI may include a fragment component; however, the fragment will be ignored and will not be included in the part name
|
|
/// to be formed. A fragment component is preceded by a '#', as described in RFC 3986: URI Generic Syntax.
|
|
/// </para>
|
|
/// </param>
|
|
/// <returns>
|
|
/// <para>A pointer to the IOpcPartUri interface of the part URI object that represents the part name.</para>
|
|
/// <para>
|
|
/// The part URI object is formed by resolving the relative URI in relativeUri against the URI represented by the current OPC
|
|
/// URI object.
|
|
/// </para>
|
|
/// </returns>
|
|
/// <remarks>
|
|
/// <para>Example input and output:</para>
|
|
/// <list type="table">
|
|
/// <listheader>
|
|
/// <term>Input relative IUri</term>
|
|
/// <term>Current IOpcUri</term>
|
|
/// <term>Formed IOpcPartUri</term>
|
|
/// </listheader>
|
|
/// <item>
|
|
/// <term>picture.jpg</term>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/markup/picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>../picture.jpg</term>
|
|
/// <term>/mydoc/markup/page.xml</term>
|
|
/// <term>/mydoc/picture.jpg</term>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>../../images/picture.jpg</term>
|
|
/// <term>/mydoc/page.xml</term>
|
|
/// <term>/images/picture.jpg</term>
|
|
/// </item>
|
|
/// </list>
|
|
/// <para>
|
|
/// For information about how to use this method to help resolve a part name, see Resolving a Part Name from a Target URI.
|
|
/// </para>
|
|
/// <para>Support on Previous Windows Versions</para>
|
|
/// <para>
|
|
/// The behavior and performance of this method is the same on all supported Windows versions. For more information, see Getting
|
|
/// Started with the Packaging API, and Platform Update for Windows Vista.
|
|
/// </para>
|
|
/// <para>Thread Safety</para>
|
|
/// <para>Packaging objects are not thread-safe.</para>
|
|
/// <para>For more information, see the Getting Started with the Packaging API.</para>
|
|
/// </remarks>
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcuri-combineparturi HRESULT CombinePartUri( IUri
|
|
// *relativeUri, IOpcPartUri **combinedUri );
|
|
IOpcPartUri CombinePartUri([In] IUri relativeUri);
|
|
}
|
|
}
|
|
} |