/// <summary>
        /// Checks a device for certain capabilities.
        /// </summary>
        /// <param name="client">
        /// The connected installation_proxy client
        /// </param>
        /// <param name="capabilities">
        /// An array of char* with capability names that MUST have a
        /// terminating NULL entry.
        /// </param>
        /// <param name="client_options">
        /// The client options to use, as PLIST_DICT, or NULL.
        /// Currently there are no known client options, so pass NULL here.
        /// </param>
        /// <param name="result">
        /// Pointer that will be set to a plist containing a PLIST_DICT
        /// holding information if the capabilities matched or NULL on errors.
        /// </param>
        /// <returns>
        /// INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
        /// an error occured.
        /// </returns>
        public virtual InstallationProxyError instproxy_check_capabilities_match(InstallationProxyClientHandle client, out string capabilities, PlistHandle clientOptions, out PlistHandle result)
        {
            InstallationProxyError returnValue;

            returnValue = InstallationProxyNativeMethods.instproxy_check_capabilities_match(client, out capabilities, clientOptions, out result);
            result.Api  = this.Parent;
            return(returnValue);
        }
示例#2
0
        public static InstallationProxyError instproxy_check_capabilities_match(InstallationProxyClientHandle client, out string capabilities, PlistHandle clientOptions, out PlistHandle result)
        {
            System.Runtime.InteropServices.ICustomMarshaler capabilitiesMarshaler = NativeStringMarshaler.GetInstance(null);
            System.IntPtr          capabilitiesNative = System.IntPtr.Zero;
            InstallationProxyError returnValue        = InstallationProxyNativeMethods.instproxy_check_capabilities_match(client, out capabilitiesNative, clientOptions, out result);

            capabilities = ((string)capabilitiesMarshaler.MarshalNativeToManaged(capabilitiesNative));
            capabilitiesMarshaler.CleanUpNativeData(capabilitiesNative);
            return(returnValue);
        }