From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 08:48:39 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 08:48:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611233.950712 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnEbV-0001nQ-AX; Mon, 02 Oct 2023 08:48:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611233.950712; Mon, 02 Oct 2023 08:48:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnEbV-0001nJ-7x; Mon, 02 Oct 2023 08:48:37 +0000
Received: by outflank-mailman (input) for mailman id 611233;
 Mon, 02 Oct 2023 08:48:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnEbT-0001ir-U5
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 08:48:35 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77fb5a2d-6100-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 10:48:34 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40566f8a093so131601315e9.3
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 01:48:33 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 y5-20020adfd085000000b003217c096c1esm8788504wrh.73.2023.10.02.01.48.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 01:48:32 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77fb5a2d-6100-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696236513; x=1696841313; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:cc:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=cNlPBv/YksuoecLkigwUSWU+4td9RIjtbPHlp10IbYg=;
        b=CmWmq33zlkqR88qWTkKM4YdRIBiwOykiJ0sDDxl6iAGijXDlAuFlWifw0LJSjyU1IA
         oJy8A/GJhU+KAWFl+onxONujGMRgTg1sOmtnA3QEUpDg0tM3MODSBWT8FlVrbG1h0c1A
         BRq7o9y9rzlyk551y/e31yoZB11fu3XUZjZUOyyj9KSYH+vhhfbobfxsqok08r6X/CA7
         k+aV5B9Ys/lSn9jwY1kcC3uhrTXzD1Z1Pt+E44RStLZi4EakkuadSe9BCbBqraPeyLHO
         HINXQLAf8pIYSdUCzWNUYnoI7j5kJLvuxrkfmrN66+JD7ML8qEDQhfUthli3OuPSk7xm
         ciZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696236513; x=1696841313;
        h=content-transfer-encoding:in-reply-to:organization:cc:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cNlPBv/YksuoecLkigwUSWU+4td9RIjtbPHlp10IbYg=;
        b=QO9hjySUmYR4+5nUli4SsERP/lKpg0UQhs6GlTbiozPfXDT/xnEsz3EHkbB+4n/zZS
         xf1d5Vntrk8Keo4KbBZ7qI9YAfReuVTE1FEntAMWGmcXjc216f3R6WPcdOM5AOS68TLL
         ErewvUE2O9dc4uQSV+urbrm6IQjODMlLEAI0tViFKzUpOK8IuvBMxmKEfA7psyxJWZwz
         7YdgTgLbvQKjQJvyYrnbY0lkDSjjpjRdvbpsQAKu/xjOdv0b88xnULjpTzcpnLOV9Pba
         iq7avMF9hMnBJRoDAzhoHLDAmWr1RmW7vgg75HUuwFgl8srkktYdNpS2et9HdjyabGSO
         1HvA==
X-Gm-Message-State: AOJu0Yyhz0BLK+bYs8twkmfwLjreMZsGX+P/5hEIN2fwwQiH5nw09CWV
	UEymwcqiwUj1QNnC/N62ExY=
X-Google-Smtp-Source: AGHT+IHfDOZ9pNB41ztbAIIBDftBuhIhXiRa4G0rD7A2Hy6lXimkjv3xUFEaWZJ0rhRA7jqK9CN4RA==
X-Received: by 2002:a7b:c7d2:0:b0:405:1dbd:f77 with SMTP id z18-20020a7bc7d2000000b004051dbd0f77mr9158712wmk.31.1696236513059;
        Mon, 02 Oct 2023 01:48:33 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b916f9e0-d813-463d-bbd0-10c8e733d7f7@xen.org>
Date: Mon, 2 Oct 2023 09:48:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 0/2] Remove CoInstallers
Content-Language: en-US
To: Owen Smith <owen.smith@cloud.com>
References: <20230929073958.840-1-owen.smith@cloud.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Organization: Xen Project
In-Reply-To: <20230929073958.840-1-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Owen,

I have pushed all the co-installer removal patches to date; xenbus, 
xenvif, xennet, xenvbd, and xeniface.
Are you intending to post patches for xencons, xenhid and xenvkbd?

   Paul


From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 09:24:13 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 09:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611352.950916 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnF9s-0002Qn-1K; Mon, 02 Oct 2023 09:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611352.950916; Mon, 02 Oct 2023 09:24:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnF9r-0002Qg-Ul; Mon, 02 Oct 2023 09:24:07 +0000
Received: by outflank-mailman (input) for mailman id 611352;
 Mon, 02 Oct 2023 09:24:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnF9q-0002QY-Ax
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 09:24:06 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6dece94b-6105-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 11:24:04 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2bb9a063f26so256663081fa.2
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 02:24:04 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6dece94b-6105-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696238644; x=1696843444; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=pxdhZP8nKS4lr4AQiHu2cfpL3GbG+tMoy1X2Ag13JQg=;
        b=NrvenvY+1cdoTbfYmeEHp6frEp8jisZClyNQGWiOfF3x7H0ANTElz8iQh2+uJZ92GY
         J5mrivO2FuJcvqPxMDAM60EI9T7Z1XwITkO+wllY9GF9s8VJ51UgNo+N4roux1FwRDUc
         yJDsInptsD5kinXtGvoWwwzbgNKWSqblP+baA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696238644; x=1696843444;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=pxdhZP8nKS4lr4AQiHu2cfpL3GbG+tMoy1X2Ag13JQg=;
        b=faUZcup/lh8MHo5TwtrWj3YFjtrdSVERh2ggL1QeuliTBs3gPnQoJkjUNRgtIsdVs1
         7Nl36M+3ok+VeUp/ti0h3HzWChJbsEDNJKspkNiV5sOsfMnifNeU4LCzpUBpP2FfegbU
         NTNQ2KDQvjdIaEXzYiIcjjzr0JPxGSp+2GFQFx+gimSSARApor5XaARWAx0jKqaLIzSQ
         NH5Uyvf2pFHmr6AlMksc6en0EDAENz+RLkRL6KYeYT7zZgIfpQw7DcGIcO0o/pBjYOhn
         YGJybhJNAhS237rTA/dIzrZb95VYKp6xs5v9MFY6OhBFkLP1OKEoaCMpiBTLkSHBSKld
         Ou7w==
X-Gm-Message-State: AOJu0YwZ/dG6ufba8iHOwe6zOWZ5oYhZJOVyuji+PLui8iNRkVkx82EG
	2pHRpPxZOvBHO6PA8B/vIW3eWssanClKn7p7VkKlEPe+lYWRLNd8tg==
X-Google-Smtp-Source: AGHT+IGOnZM55Oo99UTQkdzMNFxOaXdtck7S0ndG7B+msq3E/bVERRSc4M9+J/0goNFs7GhcYX+8zZlvPXOxixIipzU=
X-Received: by 2002:a2e:9ecb:0:b0:2bc:df3f:7140 with SMTP id
 h11-20020a2e9ecb000000b002bcdf3f7140mr8257851ljk.17.1696238642619; Mon, 02
 Oct 2023 02:24:02 -0700 (PDT)
MIME-Version: 1.0
References: <20230929073958.840-1-owen.smith@cloud.com> <b916f9e0-d813-463d-bbd0-10c8e733d7f7@xen.org>
In-Reply-To: <b916f9e0-d813-463d-bbd0-10c8e733d7f7@xen.org>
From: Owen Smith <owen.smith@cloud.com>
Date: Mon, 2 Oct 2023 10:23:51 +0100
Message-ID: <CAC_UY8-BN7TC9jBa9Sst9ijhjQqf0LT1TO4hkkg+x5rXGtLW1g@mail.gmail.com>
Subject: Re: [PATCH 0/2] Remove CoInstallers
To: paul@xen.org
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000bf86080606b8552f"

--000000000000bf86080606b8552f
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I intend to generate these patches, but its a little slower as we dont use
these drivers in XenServer (at the moment...). IIRC the patches should be
relatively simple as these drivers dont do anything particularly
complicated in their coinstallers (though DeviceID, HardwareIDs and
CompatibleIDs will need updating to maintain consistency)

Owen

On Mon, Oct 2, 2023 at 9:48=E2=80=AFAM Paul Durrant <xadimgnik@gmail.com> w=
rote:

> Hi Owen,
>
> I have pushed all the co-installer removal patches to date; xenbus,
> xenvif, xennet, xenvbd, and xeniface.
> Are you intending to post patches for xencons, xenhid and xenvkbd?
>
>    Paul
>

--000000000000bf86080606b8552f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">I intend to generate these patches, but its a little slower as we dont u=
se these drivers in XenServer (at the moment...). IIRC the patches should b=
e relatively simple as these drivers dont=C2=A0do anything particularly com=
plicated in their coinstallers (though DeviceID, HardwareIDs and Compatible=
IDs will need updating to maintain consistency)</div><div class=3D"gmail_de=
fault" style=3D"font-family:monospace"><br></div><div class=3D"gmail_defaul=
t" style=3D"font-family:monospace">Owen</div></div><br><div class=3D"gmail_=
quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Oct 2, 2023 at 9:48=E2=
=80=AFAM Paul Durrant &lt;<a href=3D"mailto:xadimgnik@gmail.com">xadimgnik@=
gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">Hi Owen,<br>
<br>
I have pushed all the co-installer removal patches to date; xenbus, <br>
xenvif, xennet, xenvbd, and xeniface.<br>
Are you intending to post patches for xencons, xenhid and xenvkbd?<br>
<br>
=C2=A0 =C2=A0Paul<br>
</blockquote></div>

--000000000000bf86080606b8552f--


From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 09:39:22 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 09:39:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611360.950920 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnFOa-0000Yg-Cc; Mon, 02 Oct 2023 09:39:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611360.950920; Mon, 02 Oct 2023 09:39:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnFOa-0000YZ-9y; Mon, 02 Oct 2023 09:39:20 +0000
Received: by outflank-mailman (input) for mailman id 611360;
 Mon, 02 Oct 2023 09:39:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnFOY-0000YT-GR
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 09:39:18 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d841cb2-6107-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 11:39:16 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50307759b65so24968680e87.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 02:39:16 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 m14-20020a7bce0e000000b00405323d47fdsm6811065wmc.21.2023.10.02.02.39.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 02:39:15 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d841cb2-6107-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696239556; x=1696844356; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=zK28pRG5wcF9gTEnZg3Bpql8v+kwh2zXUypEEALXXG8=;
        b=Uttg9567nBrqytn0VGWeoeytbwjQ0Oc+H4RXAUCVlBKUFKNurkizOEllXWs4kEG8J5
         jfDlS+qJ4r7sE8xe7iJQo2s0ozmhsu+fmjCiDTKSKUxa4sEM6pOXxmMHj3qI2jco1TzB
         x/kGMbfnS6my6u6+XAd8vX0Wh3ohlIGgNX0LrQjuxoxnC5TFWM0CsgVNXd0wyLuBk6f/
         /0Gqksk9mWDk3i8NVrdfqVjPyWaDdy5wfvue6l/uMYaxS64etgL9bR+zPq7xovhpCKIH
         Uv8Xtw3I907lrYzOQ0UOAs0X2Vf78+JC9/x/KruzO79UBIJTM/ieXk58onEWDIrdKSpU
         xRlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696239556; x=1696844356;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zK28pRG5wcF9gTEnZg3Bpql8v+kwh2zXUypEEALXXG8=;
        b=NwlwESY8tthSTboTo2a0/VK5sSBjEkUdcMiKIYAxaMtC8f5JD2d8usDLAR7pIFq+CR
         Qrn9GITEMkgJpyF8WmIETLteleXoJJ6OVpUmIZmSddFH2pbhG7qWGqh2dWGL7uBSbHr7
         kHDk4WbM9N7oM9Zl7IMvQbnOPFTFgSW9K75ybG2sBBwbN3BjocU/iudkhPGq7eTnk3fm
         W2fdiA07S2ShncZkQ9MqL3FQsxlk5zU8Bkkirb6GMJUOSEHh+fftBJ4PzDNU5+R/Yh5r
         m/OoHFiOBOT98QEdEutvercDBBUfkCTNLoHx++r0+E7DhATY/+93/bZkFlNARaUeweIl
         JFEQ==
X-Gm-Message-State: AOJu0YxL1Lga6pUbu+emYNG3p1VqMSrragYNRPn1ePoCNtyDpP3PbYxA
	Va+sEmJLGiFZ9YRj4zz2h4rEKX3QyUP+qQ==
X-Google-Smtp-Source: AGHT+IH8oP9BzG54E2wT80PoeuNA5csx4dZj3qWPGdsW6UX4bAwZNQHZ6ea9dr724iVsOhfO2l1grw==
X-Received: by 2002:a05:6512:3a90:b0:4fe:19ef:8791 with SMTP id q16-20020a0565123a9000b004fe19ef8791mr10620554lfu.38.1696239555526;
        Mon, 02 Oct 2023 02:39:15 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b6df71e5-ca12-4c27-9e80-b6f72b3f279f@xen.org>
Date: Mon, 2 Oct 2023 10:39:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 0/2] Remove CoInstallers
Content-Language: en-US
To: Owen Smith <owen.smith@cloud.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
References: <20230929073958.840-1-owen.smith@cloud.com>
 <b916f9e0-d813-463d-bbd0-10c8e733d7f7@xen.org>
 <CAC_UY8-BN7TC9jBa9Sst9ijhjQqf0LT1TO4hkkg+x5rXGtLW1g@mail.gmail.com>
Organization: Xen Project
In-Reply-To: <CAC_UY8-BN7TC9jBa9Sst9ijhjQqf0LT1TO4hkkg+x5rXGtLW1g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 02/10/2023 10:23, Owen Smith wrote:
> I intend to generate these patches, but its a little slower as we dont 
> use these drivers in XenServer (at the moment...). IIRC the patches 
> should be relatively simple as these drivers dont do anything 
> particularly complicated in their coinstallers (though DeviceID, 
> HardwareIDs and CompatibleIDs will need updating to maintain consistency)
> 

Yes, I think you are correct; they don't do anything vital.

Cheers,

   Paul



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 10:30:36 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 10:30:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611394.950957 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnGCA-00086e-Pb; Mon, 02 Oct 2023 10:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611394.950957; Mon, 02 Oct 2023 10:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnGCA-00086X-Mu; Mon, 02 Oct 2023 10:30:34 +0000
Received: by outflank-mailman (input) for mailman id 611394;
 Mon, 02 Oct 2023 10:30:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnGC9-0006pH-9S
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 10:30:33 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b578765e-610e-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 12:30:29 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40572aeb673so134096645e9.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 03:30:29 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 s28-20020adfa29c000000b003232f167df5sm17361591wra.108.2023.10.02.03.30.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 03:30:28 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b578765e-610e-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696242629; x=1696847429; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=JqY7gFKQ8ile/yR6uN0eRWRXZTx4THD+25zzZKOzXDM=;
        b=cAzahJkQVh6FUoB9KY6VV7V7SoOJhlC0nwAgzbbac1tj2aGVBt6UrZ2wvcqqDHKRYH
         5b+oIzExyYR/2x2pzyIEwob+/BadF+O1RmcY1zJfKbWZ85g03potXobFyjuAfCRbBGo7
         EsQv3qxfvhlp918nl1pksnlaCkkaeEMmNbL9k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696242629; x=1696847429;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JqY7gFKQ8ile/yR6uN0eRWRXZTx4THD+25zzZKOzXDM=;
        b=VnIC9E2ieZj7JSXAj3Gc6KOVHcJ9+dImHoFdSO37RBH7bzLPNM5SkTRPvZilvmPjGC
         Us4fnBfzYrPMiszFia9fqkPrJTMujhd9GjTGzP5vLbdwWyNTsHFgOhVCVFxPNPNQ/jd8
         75RMJWNCfYyzaFMmoRgASQNMTTLwX69tEtbhoIOLRKyPrC9pDzcMJUvRHI78T53IJest
         O2kRzdfLF9Mz4l+dkckYtqIKJ77I/vTeidiwE2lsxb1WJu4L+GBsTChaDz2EC2/h0OrI
         OqVGbyJVu0Rl1+EEctNBb6pMgeCv14hINQ2c6sUZIZzZMBjLojHtru/Hcr3TTsnUbD/O
         EswA==
X-Gm-Message-State: AOJu0Yyp0QHq8FYY1SPzqNpb/g8pdNWn2YqMPO6knRSv44czgbW/ssdB
	ChA9RddoGb5ukJE6TpB34t4OFruC8mu3Ybuelvps
X-Google-Smtp-Source: AGHT+IFHuCYvohvFEFgNVsWDC2zVWMzeXa+ZqdqprFydLryAdgUd0etsWHBThcRrs5LIMOYHjN9A2Q==
X-Received: by 2002:adf:f507:0:b0:323:2d06:9dbb with SMTP id q7-20020adff507000000b003232d069dbbmr9130279wro.12.1696242629061;
        Mon, 02 Oct 2023 03:30:29 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 1/2] Remove CoInstaller from INF
Date: Mon,  2 Oct 2023 11:30:17 +0100
Message-ID: <20231002103018.2028-1-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Windows 11 22H2 WHQL requires INF files pass "InfVerif /k", which highlights
several issues
- PnpLockdown=1 needs to be specified
- CoInstallers are no longer allowed

The CoInstaller has several functions that will need alternative solutions:
- The AllowUpdate mechanism is no longer possible
- The safety checks that ensure interface versionings remain compatible
- Cleanup user mode service (xencons_monitor) on uninstall

Interface safety checks need to be handled by changes to child device bindings,
and assuming upgrade via emulated devices is safe.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/xencons.inf | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/src/xencons.inf b/src/xencons.inf
index 5f3be79..4b0dbde 100644
--- a/src/xencons.inf
+++ b/src/xencons.inf
@@ -38,10 +38,10 @@ Provider=%Vendor%
 CatalogFile=xencons.cat
 DriverVer=@INF_DATE@,@MAJOR_VERSION@.@MINOR_VERSION@.@MICRO_VERSION@.@BUILD_NUMBER@
 DriverPackageDisplayName=%DiskDesc%
+PnpLockdown=1
 
 [DestinationDirs]
 DefaultDestDir=12
-CoInst_CopyFiles=11
 Monitor_CopyFiles=11
 Tty_CopyFiles=11
 
@@ -50,14 +50,10 @@ Tty_CopyFiles=11
 
 [SourceDisksFiles]
 xencons.sys=0,,
-xencons_coinst.dll=0,,
 xencons_monitor.exe=0,,
 xencons_monitor.dll=0,,
 xencons_tty.exe=0,,
 
-[CoInst_CopyFiles]
-xencons_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xencons_coinst.dll
-
 [Monitor_CopyFiles]
 xencons_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe,xencons_monitor.exe
 xencons_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xencons_monitor.dll
@@ -72,9 +68,9 @@ xencons_tty_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe,x
 ; DisplayName		Section		DeviceID
 ; -----------		-------		--------
 
-%XenConsName%		=XenCons_Inst,	XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_CONS&REV_09000009
-%XenConsName%		=XenCons_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_CONS&REV_09000009
-%XenConsName%		=XenCons_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_CONS&REV_09000009
+%XenConsName%		=XenCons_Inst,	XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_CONS&REV_0900000A
+%XenConsName%		=XenCons_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_CONS&REV_0900000A
+%XenConsName%		=XenCons_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_CONS&REV_0900000A
 
 [XenCons_Inst]
 CopyFiles=XenCons_Copyfiles
@@ -123,13 +119,6 @@ AddReg=Monitor_EventLog_AddReg
 HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\xencons_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll"
 HKR,,TypesSupported,0x00010001,7
 
-[XenCons_Inst.CoInstallers]
-CopyFiles=CoInst_CopyFiles
-AddReg=CoInst_AddReg
-
-[CoInst_AddReg]
-HKR,,CoInstallers32,0x00010000,"xencons_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,Entry"
-
 [Strings]
 
 Vendor="@VENDOR_NAME@"
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 10:30:38 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 10:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611395.950962 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnGCE-00089F-Ru; Mon, 02 Oct 2023 10:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611395.950962; Mon, 02 Oct 2023 10:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnGCE-000898-Oe; Mon, 02 Oct 2023 10:30:38 +0000
Received: by outflank-mailman (input) for mailman id 611395;
 Mon, 02 Oct 2023 10:30:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnGCC-0006py-Qe
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 10:30:37 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b859ca58-610e-11ee-878e-cb3800f73035;
 Mon, 02 Oct 2023 12:30:35 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40675f06f1fso2968495e9.1
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 03:30:34 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 s28-20020adfa29c000000b003232f167df5sm17361591wra.108.2023.10.02.03.30.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 03:30:33 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b859ca58-610e-11ee-878e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696242634; x=1696847434; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LeWB/tBbWxxTMbSyNAPFgQoicEbx8MdCLDKeGXBbM94=;
        b=LWNyPH3/N2LVa/HmsH7Gw55lhR3+m3K6pWH34KYCUZD8iY9qccWqBVZaSAN/6yJGQW
         FEPhmHuFRkY4aYfYBss7tczW6DPue99WTQrGYzz6vUPlDxUBCRiqrZb6JIJvge3IvwVS
         a5y3ERYRw10GLG3579dHrFhAuiWgxmXs8Wodg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696242634; x=1696847434;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LeWB/tBbWxxTMbSyNAPFgQoicEbx8MdCLDKeGXBbM94=;
        b=wgB1RVaucpV2SEyO1H30V9fO503+EitpUlcYMN3R/lRWEjpIvwScQemwqLuxj+FPQs
         lLnL/BqC0fMzf8XEOxfsSv+DWSt77wpYshYkhG5ZtUN5Ro0AukPS5QmXktzrwBCb/xSP
         PNQWBft0SakW3h5LNsbwyByOUPsdJs2zfb/wHBR/c+rZODOoj8b9RY8mGykvURFKEhxn
         KfqWpw7SiwEl3tOtgIyBVCzkzgcnNEOinyvWClj1IisI6PV4LWl4hdrRupZqOxEIVxeL
         ZWOE9Atdei/HFzyl/405jZP/84K7VYxRLKFTHMRkqEIRO0BosLeFJbQMU30pkBzGViHF
         Ol0Q==
X-Gm-Message-State: AOJu0YwQDXWFdwdejko5UE7lDIGVfag3YX8KOAz7ZuGcjhXrQJ3tcN4L
	dKubsiOY/K7lYo05Et8sA3nZ337xGL7x5s296x7I
X-Google-Smtp-Source: AGHT+IEZgJ5dB1bDpf4iJYSXaNrw2Jupmnc3vaFPg8vUEb8nU9jn22qoo2iAm728pHWsw1HYuDlSYw==
X-Received: by 2002:a5d:45ce:0:b0:323:1e69:7b4 with SMTP id b14-20020a5d45ce000000b003231e6907b4mr9538056wrs.31.1696242633391;
        Mon, 02 Oct 2023 03:30:33 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 2/2] Delete CoInstaller code
Date: Mon,  2 Oct 2023 11:30:18 +0100
Message-ID: <20231002103018.2028-2-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
In-Reply-To: <20231002103018.2028-1-owen.smith@cloud.com>
References: <20231002103018.2028-1-owen.smith@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With the CoInstaller removed from the INF file, delete the CoInstaller
source code and projects.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/coinst/coinst.c                           | 556 ------------------
 src/coinst/xencons_coinst.def                 |  38 --
 src/coinst/xencons_coinst.rc                  |  56 --
 vs2015/package/package.vcxproj                |   3 -
 vs2015/xencons.sln                            |  22 -
 vs2015/xencons_coinst/xencons_coinst.vcxproj  |  62 --
 .../xencons_coinst.vcxproj.user               |   8 -
 vs2017/package/package.vcxproj                |   3 -
 vs2017/xencons.sln                            |  22 -
 vs2017/xencons_coinst/xencons_coinst.vcxproj  |  62 --
 .../xencons_coinst.vcxproj.user               |   8 -
 vs2019/package/package.vcxproj                |   3 -
 vs2019/xencons.sln                            |  22 -
 vs2019/xencons_coinst/xencons_coinst.vcxproj  |  65 --
 .../xencons_coinst.vcxproj.user               |   8 -
 vs2022/package/package.vcxproj                |   3 -
 vs2022/xencons.sln                            |  22 -
 vs2022/xencons_coinst/xencons_coinst.vcxproj  |  65 --
 .../xencons_coinst.vcxproj.user               |   8 -
 19 files changed, 1036 deletions(-)
 delete mode 100644 src/coinst/coinst.c
 delete mode 100644 src/coinst/xencons_coinst.def
 delete mode 100644 src/coinst/xencons_coinst.rc
 delete mode 100644 vs2015/xencons_coinst/xencons_coinst.vcxproj
 delete mode 100644 vs2015/xencons_coinst/xencons_coinst.vcxproj.user
 delete mode 100644 vs2017/xencons_coinst/xencons_coinst.vcxproj
 delete mode 100644 vs2017/xencons_coinst/xencons_coinst.vcxproj.user
 delete mode 100644 vs2019/xencons_coinst/xencons_coinst.vcxproj
 delete mode 100644 vs2019/xencons_coinst/xencons_coinst.vcxproj.user
 delete mode 100644 vs2022/xencons_coinst/xencons_coinst.vcxproj
 delete mode 100644 vs2022/xencons_coinst/xencons_coinst.vcxproj.user

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
deleted file mode 100644
index a7c7189..0000000
--- a/src/coinst/coinst.c
+++ /dev/null
@@ -1,556 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms,
- * with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * *   Redistributions of source code must retain the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer in the documentation and/or other
- *     materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <windows.h>
-#include <setupapi.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <strsafe.h>
-#include <malloc.h>
-#include <assert.h>
-
-#include <version.h>
-
-#define stringify_literal(_text) #_text
-#define stringify(_text) stringify_literal(_text)
-#define __MODULE__ stringify(PROJECT)
-
-__user_code;
-
-#define MAXIMUM_BUFFER_SIZE 1024
-
-#define MONITOR_NAME    "XENCONS_MONITOR"
-
-static VOID
-#pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024'
-__Log(
-    IN  const CHAR  *Format,
-    IN  ...
-    )
-{
-    TCHAR               Buffer[MAXIMUM_BUFFER_SIZE];
-    va_list             Arguments;
-    size_t              Length;
-    SP_LOG_TOKEN        LogToken;
-    DWORD               Category;
-    DWORD               Flags;
-    HRESULT             Result;
-
-    va_start(Arguments, Format);
-    Result = StringCchVPrintf(Buffer, MAXIMUM_BUFFER_SIZE, Format, Arguments);
-    va_end(Arguments);
-
-    if (Result != S_OK && Result != STRSAFE_E_INSUFFICIENT_BUFFER)
-        return;
-
-    Result = StringCchLength(Buffer, MAXIMUM_BUFFER_SIZE, &Length);
-    if (Result != S_OK)
-        return;
-
-    LogToken = SetupGetThreadLogToken();
-    Category = TXTLOG_VENDOR;
-    Flags = TXTLOG_WARNING;
-
-    SetupWriteTextLog(LogToken, Category, Flags, Buffer);
-    Length = __min(MAXIMUM_BUFFER_SIZE - 1, Length + 2);
-
-    __analysis_assume(Length < MAXIMUM_BUFFER_SIZE);
-    __analysis_assume(Length >= 2);
-    Buffer[Length] = '\0';
-    Buffer[Length - 1] = '\n';
-    Buffer[Length - 2] = '\r';
-
-    OutputDebugString(Buffer);
-}
-
-#define Log(_Format, ...) \
-        __Log(__MODULE__ "|" __FUNCTION__ ": " _Format, __VA_ARGS__)
-
-static PTCHAR
-GetErrorMessage(
-    IN  DWORD   Error
-    )
-{
-    PTCHAR      Message;
-    ULONG       Index;
-
-    if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                       FORMAT_MESSAGE_FROM_SYSTEM |
-                       FORMAT_MESSAGE_IGNORE_INSERTS,
-                       NULL,
-                       Error,
-                       MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                       (LPTSTR)&Message,
-                       0,
-                       NULL))
-        return NULL;
-
-    for (Index = 0; Message[Index] != '\0'; Index++) {
-        if (Message[Index] == '\r' || Message[Index] == '\n') {
-            Message[Index] = '\0';
-            break;
-        }
-    }
-
-    return Message;
-}
-
-static FORCEINLINE const CHAR *
-__FunctionName(
-    IN  DI_FUNCTION Function
-    )
-{
-#define _NAME(_Function)        \
-        case DIF_ ## _Function: \
-            return #_Function;
-
-    switch (Function) {
-    _NAME(INSTALLDEVICE);
-    _NAME(REMOVE);
-    _NAME(SELECTDEVICE);
-    _NAME(ASSIGNRESOURCES);
-    _NAME(PROPERTIES);
-    _NAME(FIRSTTIMESETUP);
-    _NAME(FOUNDDEVICE);
-    _NAME(SELECTCLASSDRIVERS);
-    _NAME(VALIDATECLASSDRIVERS);
-    _NAME(INSTALLCLASSDRIVERS);
-    _NAME(CALCDISKSPACE);
-    _NAME(DESTROYPRIVATEDATA);
-    _NAME(VALIDATEDRIVER);
-    _NAME(MOVEDEVICE);
-    _NAME(DETECT);
-    _NAME(INSTALLWIZARD);
-    _NAME(DESTROYWIZARDDATA);
-    _NAME(PROPERTYCHANGE);
-    _NAME(ENABLECLASS);
-    _NAME(DETECTVERIFY);
-    _NAME(INSTALLDEVICEFILES);
-    _NAME(ALLOW_INSTALL);
-    _NAME(SELECTBESTCOMPATDRV);
-    _NAME(REGISTERDEVICE);
-    _NAME(NEWDEVICEWIZARD_PRESELECT);
-    _NAME(NEWDEVICEWIZARD_SELECT);
-    _NAME(NEWDEVICEWIZARD_PREANALYZE);
-    _NAME(NEWDEVICEWIZARD_POSTANALYZE);
-    _NAME(NEWDEVICEWIZARD_FINISHINSTALL);
-    _NAME(INSTALLINTERFACES);
-    _NAME(DETECTCANCEL);
-    _NAME(REGISTER_COINSTALLERS);
-    _NAME(ADDPROPERTYPAGE_ADVANCED);
-    _NAME(ADDPROPERTYPAGE_BASIC);
-    _NAME(TROUBLESHOOTER);
-    _NAME(POWERMESSAGEWAKE);
-    default:
-        break;
-    }
-
-    return "UNKNOWN";
-
-#undef  _NAME
-}
-
-static BOOL
-MonitorDelete(
-    VOID
-    )
-{
-    SC_HANDLE           SCManager;
-    SC_HANDLE           Service;
-    BOOL                Success;
-    SERVICE_STATUS      Status;
-    HRESULT             Error;
-
-    Log("====>");
-
-    SCManager = OpenSCManager(NULL,
-                              NULL,
-                              SC_MANAGER_ALL_ACCESS);
-
-    if (SCManager == NULL)
-        goto fail1;
-
-    Service = OpenService(SCManager,
-                          MONITOR_NAME,
-                          SERVICE_ALL_ACCESS);
-
-    if (Service == NULL)
-        goto fail2;
-
-    Success = ControlService(Service,
-                             SERVICE_CONTROL_STOP,
-                             &Status);
-
-    if (!Success &&
-        GetLastError() != ERROR_SERVICE_NOT_ACTIVE)
-        goto fail3;
-
-    Success = DeleteService(Service);
-
-    if (!Success)
-        goto fail4;
-
-    CloseServiceHandle(Service);
-    CloseServiceHandle(SCManager);
-
-    Log("<====");
-
-    return TRUE;
-
-fail4:
-    Log("fail4");
-
-fail3:
-    Log("fail3");
-
-    CloseServiceHandle(Service);
-
-fail2:
-    Log("fail2");
-
-    CloseServiceHandle(SCManager);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static HRESULT
-DifInstallPreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static HRESULT
-DifInstallPostProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE HRESULT
-DifInstall(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    SP_DEVINSTALL_PARAMS            DeviceInstallParams;
-    HRESULT                         Error;
-
-    DeviceInstallParams.cbSize = sizeof (DeviceInstallParams);
-
-    if (!SetupDiGetDeviceInstallParams(DeviceInfoSet,
-                                       DeviceInfoData,
-                                       &DeviceInstallParams))
-        goto fail1;
-
-    Log("Flags = %08x", DeviceInstallParams.Flags);
-
-    if (!Context->PostProcessing) {
-        Error = DifInstallPreProcess(DeviceInfoSet, DeviceInfoData, Context);
-
-        if (Error == NO_ERROR)
-            Error = ERROR_DI_POSTPROCESSING_REQUIRED;
-    } else {
-        Error = Context->InstallResult;
-
-        if (Error == NO_ERROR) {
-            (VOID) DifInstallPostProcess(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            PTCHAR  Message;
-
-            Message = GetErrorMessage(Error);
-            Log("NOT RUNNING (DifInstallPreProcess Error: %s)", Message);
-            LocalFree(Message);
-        }
-
-        Error = NO_ERROR;
-    }
-
-    return Error;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-static HRESULT
-DifRemovePreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("====>");
-
-    (VOID) MonitorDelete();
-
-    Log("<====");
-
-    return NO_ERROR;
-}
-
-static HRESULT
-DifRemovePostProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE HRESULT
-DifRemove(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    SP_DEVINSTALL_PARAMS            DeviceInstallParams;
-    HRESULT                         Error;
-
-    DeviceInstallParams.cbSize = sizeof (DeviceInstallParams);
-
-    if (!SetupDiGetDeviceInstallParams(DeviceInfoSet,
-                                       DeviceInfoData,
-                                       &DeviceInstallParams))
-        goto fail1;
-
-    Log("Flags = %08x", DeviceInstallParams.Flags);
-
-    if (!Context->PostProcessing) {
-        Error = DifRemovePreProcess(DeviceInfoSet, DeviceInfoData, Context);
-
-        if (Error == NO_ERROR)
-            Error = ERROR_DI_POSTPROCESSING_REQUIRED;
-    } else {
-        Error = Context->InstallResult;
-
-        if (Error == NO_ERROR) {
-            (VOID) DifRemovePostProcess(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            PTCHAR  Message;
-
-            Message = GetErrorMessage(Error);
-            Log("NOT RUNNING (DifRemovePreProcess Error: %s)", Message);
-            LocalFree(Message);
-        }
-
-        Error = NO_ERROR;
-    }
-
-    return Error;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-DWORD CALLBACK
-Entry(
-    IN  DI_FUNCTION                 Function,
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-
-    Log("%s (%s) ===>",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    if (!Context->PostProcessing) {
-        Log("%s PreProcessing",
-            __FunctionName(Function));
-    } else {
-        Log("%s PostProcessing (%08x)",
-            __FunctionName(Function),
-            Context->InstallResult);
-    }
-
-    switch (Function) {
-    case DIF_INSTALLDEVICE: {
-        SP_DRVINFO_DATA         DriverInfoData;
-        BOOLEAN                 DriverInfoAvailable;
-
-        DriverInfoData.cbSize = sizeof (DriverInfoData);
-        DriverInfoAvailable = SetupDiGetSelectedDriver(DeviceInfoSet,
-                                                       DeviceInfoData,
-                                                       &DriverInfoData) ?
-                              TRUE :
-                              FALSE;
-
-        // If there is no driver information then the NULL driver is being
-        // installed. Treat this as we would a DIF_REMOVE.
-        Error = (DriverInfoAvailable) ?
-                DifInstall(DeviceInfoSet, DeviceInfoData, Context) :
-                DifRemove(DeviceInfoSet, DeviceInfoData, Context);
-        break;
-    }
-    case DIF_REMOVE:
-        Error = DifRemove(DeviceInfoSet, DeviceInfoData, Context);
-        break;
-    default:
-        if (!Context->PostProcessing) {
-            Error = NO_ERROR;
-        } else {
-            Error = Context->InstallResult;
-        }
-
-        break;
-    }
-
-    Log("%s (%s) <===",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    return (DWORD)Error;
-}
-
-DWORD CALLBACK
-Version(
-    IN  HWND        Window,
-    IN  HINSTANCE   Module,
-    IN  PTCHAR      Buffer,
-    IN  INT         Reserved
-    )
-{
-    UNREFERENCED_PARAMETER(Window);
-    UNREFERENCED_PARAMETER(Module);
-    UNREFERENCED_PARAMETER(Buffer);
-    UNREFERENCED_PARAMETER(Reserved);
-
-    Log("%s (%s)",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    return NO_ERROR;
-}
-
-static FORCEINLINE const CHAR *
-__ReasonName(
-    IN  DWORD       Reason
-    )
-{
-#define _NAME(_Reason)          \
-        case DLL_ ## _Reason:   \
-            return #_Reason;
-
-    switch (Reason) {
-    _NAME(PROCESS_ATTACH);
-    _NAME(PROCESS_DETACH);
-    _NAME(THREAD_ATTACH);
-    _NAME(THREAD_DETACH);
-    default:
-        break;
-    }
-
-    return "UNKNOWN";
-
-#undef  _NAME
-}
-
-BOOL WINAPI
-DllMain(
-    IN  HINSTANCE   Module,
-    IN  DWORD       Reason,
-    IN  PVOID       Reserved
-    )
-{
-    UNREFERENCED_PARAMETER(Module);
-    UNREFERENCED_PARAMETER(Reserved);
-
-    Log("%s (%s): %s",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR,
-        __ReasonName(Reason));
-
-    return TRUE;
-}
diff --git a/src/coinst/xencons_coinst.def b/src/coinst/xencons_coinst.def
deleted file mode 100644
index aab18c5..0000000
--- a/src/coinst/xencons_coinst.def
+++ /dev/null
@@ -1,38 +0,0 @@
-; Copyright (c) Xen Project.
-; Copyright (c) Cloud Software Group, Inc.
-; All rights reserved.
-;
-; Redistribution and use in source and binary forms,
-; with or without modification, are permitted provided
-; that the following conditions are met:
-;
-; *   Redistributions of source code must retain the above
-;     copyright notice, this list of conditions and the
-;     following disclaimer.
-; *   Redistributions in binary form must reproduce the above
-;     copyright notice, this list of conditions and the
-;     following disclaimer in the documentation and/or other
-;     materials provided with the distribution.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
-; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-; SUCH DAMAGE.
-
-LIBRARY  XENBUS_COINST
-
-EXPORTS
-   Entry
-   Version
-
-   DllMain PRIVATE
diff --git a/src/coinst/xencons_coinst.rc b/src/coinst/xencons_coinst.rc
deleted file mode 100644
index 4b4cc63..0000000
--- a/src/coinst/xencons_coinst.rc
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms,
- * with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * *   Redistributions of source code must retain the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer in the documentation and/or other
- *     materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <windows.h>
-#include <ntverp.h>
-
-#undef VER_COMPANYNAME_STR
-#undef VER_PRODUCTNAME_STR
-#undef VER_PRODUCTVERSION
-#undef VER_PRODUCTVERSION_STR
-
-#include <version.h>
-
-#define VER_COMPANYNAME_STR         VENDOR_NAME_STR
-#define VER_LEGALCOPYRIGHT_STR      COPYRIGHT_STR
-
-#define VER_PRODUCTNAME_STR         "XENCONS"
-#define VER_PRODUCTVERSION          MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
-#define VER_PRODUCTVERSION_STR      MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
-
-#define VER_INTERNALNAME_STR 	    "XENCONS_COINST.DLL"
-#define VER_FILEDESCRIPTION_STR     "XENCONS_COINST"
-
-#define VER_FILETYPE		    VFT_APP
-#define VER_FILESUBTYPE		    VFT2_UNKNOWN
-
-#include "common.ver"
diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj
index f204487..6c03cbd 100644
--- a/vs2015/package/package.vcxproj
+++ b/vs2015/package/package.vcxproj
@@ -42,9 +42,6 @@
     <ProjectReference Include="..\xencons\xencons.vcxproj">
       <Project>{4674B8C2-876B-4F2A-AB71-BAC968A9B529}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xencons_coinst\xencons_coinst.vcxproj">
-      <Project>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencons_monitor\xencons_monitor.vcxproj">
       <Project>{8991F0A5-408B-43E0-88CC-9550D4AAE616}</Project>
     </ProjectReference>
diff --git a/vs2015/xencons.sln b/vs2015/xencons.sln
index 66259fd..8c5fc89 100644
--- a/vs2015/xencons.sln
+++ b/vs2015/xencons.sln
@@ -9,11 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons", "xencons\xencons.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_coinst", "xencons_coinst\xencons_coinst.vcxproj", "{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_monitor", "xencons_monitor\xencons_monitor.vcxproj", "{8991F0A5-408B-43E0-88CC-9550D4AAE616}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
@@ -28,7 +23,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529} = {4674B8C2-876B-4F2A-AB71-BAC968A9B529}
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19} = {6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616} = {8991F0A5-408B-43E0-88CC-9550D4AAE616}
 		{79D98F83-5A2F-4DE6-B62C-530D70B88C3F} = {79D98F83-5A2F-4DE6-B62C-530D70B88C3F}
 	EndProjectSection
@@ -85,22 +79,6 @@ Global
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
diff --git a/vs2015/xencons_coinst/xencons_coinst.vcxproj b/vs2015/xencons_coinst/xencons_coinst.vcxproj
deleted file mode 100644
index 4352f72..0000000
--- a/vs2015/xencons_coinst/xencons_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xencons_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xencons_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xencons_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2015/xencons_coinst/xencons_coinst.vcxproj.user b/vs2015/xencons_coinst/xencons_coinst.vcxproj.user
deleted file mode 100644
index a427c80..0000000
--- a/vs2015/xencons_coinst/xencons_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xencons.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2017/package/package.vcxproj b/vs2017/package/package.vcxproj
index 2248fe0..6c1db25 100644
--- a/vs2017/package/package.vcxproj
+++ b/vs2017/package/package.vcxproj
@@ -42,9 +42,6 @@
     <ProjectReference Include="..\xencons\xencons.vcxproj">
       <Project>{4674B8C2-876B-4F2A-AB71-BAC968A9B529}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xencons_coinst\xencons_coinst.vcxproj">
-      <Project>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencons_monitor\xencons_monitor.vcxproj">
       <Project>{8991F0A5-408B-43E0-88CC-9550D4AAE616}</Project>
     </ProjectReference>
diff --git a/vs2017/xencons.sln b/vs2017/xencons.sln
index 89d95e3..6516edc 100644
--- a/vs2017/xencons.sln
+++ b/vs2017/xencons.sln
@@ -6,11 +6,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons", "xencons\xencons.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_coinst", "xencons_coinst\xencons_coinst.vcxproj", "{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_monitor", "xencons_monitor\xencons_monitor.vcxproj", "{8991F0A5-408B-43E0-88CC-9550D4AAE616}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
@@ -25,7 +20,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529} = {4674B8C2-876B-4F2A-AB71-BAC968A9B529}
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19} = {6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616} = {8991F0A5-408B-43E0-88CC-9550D4AAE616}
 		{79D98F83-5A2F-4DE6-B62C-530D70B88C3F} = {79D98F83-5A2F-4DE6-B62C-530D70B88C3F}
 	EndProjectSection
@@ -82,22 +76,6 @@ Global
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
diff --git a/vs2017/xencons_coinst/xencons_coinst.vcxproj b/vs2017/xencons_coinst/xencons_coinst.vcxproj
deleted file mode 100644
index 0ae7715..0000000
--- a/vs2017/xencons_coinst/xencons_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xencons_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xencons_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xencons_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2017/xencons_coinst/xencons_coinst.vcxproj.user b/vs2017/xencons_coinst/xencons_coinst.vcxproj.user
deleted file mode 100644
index a427c80..0000000
--- a/vs2017/xencons_coinst/xencons_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xencons.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2019/package/package.vcxproj b/vs2019/package/package.vcxproj
index 4012108..90ae564 100644
--- a/vs2019/package/package.vcxproj
+++ b/vs2019/package/package.vcxproj
@@ -47,9 +47,6 @@
     <ProjectReference Include="..\xencons\xencons.vcxproj">
       <Project>{4674B8C2-876B-4F2A-AB71-BAC968A9B529}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xencons_coinst\xencons_coinst.vcxproj">
-      <Project>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencons_monitor\xencons_monitor.vcxproj">
       <Project>{8991F0A5-408B-43E0-88CC-9550D4AAE616}</Project>
     </ProjectReference>
diff --git a/vs2019/xencons.sln b/vs2019/xencons.sln
index 836f542..72cb5e4 100644
--- a/vs2019/xencons.sln
+++ b/vs2019/xencons.sln
@@ -9,11 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons", "xencons\xencons.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_coinst", "xencons_coinst\xencons_coinst.vcxproj", "{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_monitor", "xencons_monitor\xencons_monitor.vcxproj", "{8991F0A5-408B-43E0-88CC-9550D4AAE616}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
@@ -28,7 +23,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529} = {4674B8C2-876B-4F2A-AB71-BAC968A9B529}
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19} = {6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616} = {8991F0A5-408B-43E0-88CC-9550D4AAE616}
 		{79D98F83-5A2F-4DE6-B62C-530D70B88C3F} = {79D98F83-5A2F-4DE6-B62C-530D70B88C3F}
 	EndProjectSection
@@ -85,22 +79,6 @@ Global
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
diff --git a/vs2019/xencons_coinst/xencons_coinst.vcxproj b/vs2019/xencons_coinst/xencons_coinst.vcxproj
deleted file mode 100644
index fa0876b..0000000
--- a/vs2019/xencons_coinst/xencons_coinst.vcxproj
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xencons_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xencons_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xencons_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2019/xencons_coinst/xencons_coinst.vcxproj.user b/vs2019/xencons_coinst/xencons_coinst.vcxproj.user
deleted file mode 100644
index a427c80..0000000
--- a/vs2019/xencons_coinst/xencons_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xencons.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2022/package/package.vcxproj b/vs2022/package/package.vcxproj
index c302d6d..19c725b 100644
--- a/vs2022/package/package.vcxproj
+++ b/vs2022/package/package.vcxproj
@@ -47,9 +47,6 @@
     <ProjectReference Include="..\xencons\xencons.vcxproj">
       <Project>{4674B8C2-876B-4F2A-AB71-BAC968A9B529}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xencons_coinst\xencons_coinst.vcxproj">
-      <Project>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencons_monitor\xencons_monitor.vcxproj">
       <Project>{8991F0A5-408B-43E0-88CC-9550D4AAE616}</Project>
     </ProjectReference>
diff --git a/vs2022/xencons.sln b/vs2022/xencons.sln
index 836f542..72cb5e4 100644
--- a/vs2022/xencons.sln
+++ b/vs2022/xencons.sln
@@ -9,11 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons", "xencons\xencons.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_coinst", "xencons_coinst\xencons_coinst.vcxproj", "{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencons_monitor", "xencons_monitor\xencons_monitor.vcxproj", "{8991F0A5-408B-43E0-88CC-9550D4AAE616}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
@@ -28,7 +23,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529} = {4674B8C2-876B-4F2A-AB71-BAC968A9B529}
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19} = {6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616} = {8991F0A5-408B-43E0-88CC-9550D4AAE616}
 		{79D98F83-5A2F-4DE6-B62C-530D70B88C3F} = {79D98F83-5A2F-4DE6-B62C-530D70B88C3F}
 	EndProjectSection
@@ -85,22 +79,6 @@ Global
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{4674B8C2-876B-4F2A-AB71-BAC968A9B529}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
 		{8991F0A5-408B-43E0-88CC-9550D4AAE616}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
diff --git a/vs2022/xencons_coinst/xencons_coinst.vcxproj b/vs2022/xencons_coinst/xencons_coinst.vcxproj
deleted file mode 100644
index fa0876b..0000000
--- a/vs2022/xencons_coinst/xencons_coinst.vcxproj
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6CC9B8DD-A5AE-427D-8157-E91D21DD7E19}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xencons_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xencons_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xencons_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2022/xencons_coinst/xencons_coinst.vcxproj.user b/vs2022/xencons_coinst/xencons_coinst.vcxproj.user
deleted file mode 100644
index a427c80..0000000
--- a/vs2022/xencons_coinst/xencons_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xencons.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:15:56 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:15:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611472.951026 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnHq1-0000UW-Qw; Mon, 02 Oct 2023 12:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611472.951026; Mon, 02 Oct 2023 12:15:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnHq1-0000UP-O8; Mon, 02 Oct 2023 12:15:49 +0000
Received: by outflank-mailman (input) for mailman id 611472;
 Mon, 02 Oct 2023 12:15:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnHq0-0000UG-Nx
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:15:48 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b1db33f-611d-11ee-878e-cb3800f73035;
 Mon, 02 Oct 2023 14:15:47 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-405361bb94eso169092565e9.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:15:47 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 m5-20020a05600c280500b0040535648639sm7164367wmb.36.2023.10.02.05.15.45
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 05:15:45 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b1db33f-611d-11ee-878e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696248947; x=1696853747; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ItNORaWHrjKIRbdJFpSVMVxNd31W2uzkWxeZc0UQyDk=;
        b=P0K1KfDOCMYVWaQvU8oAAmHoJDvoEtv3pLECEWYbI5pFs0tm5/Oz3Pa0S5iU86oFlJ
         zgmL3aOwQl7avPb9GSBCTRoDjYQ3UvfqengQjUQSjYiBqVv4cfK5v32liPbADZ14GlnJ
         jlfwpkrK6gd7TkFvvxvApqUG0zLf8OjZkKsaWr5Nl2iDSy3XTn/8bM93lQBLY97EmmLs
         Ncd3rvINPdmXCGvM0Dx6ymlZRLHWkv4QGkkgqS/KIVTwwsZYnOX6nPDI/CozQFER1P+h
         +4LXmtqt9HQRggEy76RNq+X6Si7ZJrI8+A7AX59RWGgS60NadZ311vtup/BfsBMVFsNs
         q79g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696248947; x=1696853747;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ItNORaWHrjKIRbdJFpSVMVxNd31W2uzkWxeZc0UQyDk=;
        b=D74Aa/CynuOgO137oPf33jg5BPpzBi/D+m8MdXE37p3N3NoEo9PQALdNJptdizpvQU
         NEQ55TVtCB7wQVKKPYavlmzRTWE3GFPC2BYQ6DUhpgoMI3N+yRoEtqf4olgHoQ6SFgdt
         VJQ3rW4edPturdBkuI735sc33nH8wDZA05A94amlLimWXgAp8JyqpyR1c4et3UjoRust
         5ezpB4Fy/qBxc1MGJceY/YkZBEjrclvhKqUnE8V6qCX+YwWHXx0jgo7ta0gWk3/epAnd
         FfwoltZbeuOSrhycueW8xJzU9tngyK1mT+w7xMGhKrYfbCHDamj6TgmGTbNtUF3xbUtr
         fyjQ==
X-Gm-Message-State: AOJu0YwbwTvSsEg3+n5fG3D6aoe3fI7FrEID/qinPBaheEdI3UNILNBF
	LRHTtrJ33FiB7yFHeSTIdyG6mWG7D0cGNQ==
X-Google-Smtp-Source: AGHT+IE7Kx35un2qE1bhtccHFOw0Z75BWDycQ3dpXELGOrJnwq2gvsBKBeGIWqtnIPebCgsRLSv8DA==
X-Received: by 2002:a05:600c:2205:b0:401:b0f2:88c1 with SMTP id z5-20020a05600c220500b00401b0f288c1mr10877869wml.29.1696248946003;
        Mon, 02 Oct 2023 05:15:46 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <4c1caaed-0e9d-4b57-bb8b-d0cb347a93e1@xen.org>
Date: Mon, 2 Oct 2023 13:15:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/2] Remove CoInstaller from INF
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002103018.2028-1-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002103018.2028-1-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 11:30, Owen Smith wrote:
> Windows 11 22H2 WHQL requires INF files pass "InfVerif /k", which highlights
> several issues
> - PnpLockdown=1 needs to be specified
> - CoInstallers are no longer allowed
> 
> The CoInstaller has several functions that will need alternative solutions:
> - The AllowUpdate mechanism is no longer possible
> - The safety checks that ensure interface versionings remain compatible
> - Cleanup user mode service (xencons_monitor) on uninstall
> 
> Interface safety checks need to be handled by changes to child device bindings,
> and assuming upgrade via emulated devices is safe.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/xencons.inf | 19 ++++---------------
>   1 file changed, 4 insertions(+), 15 deletions(-)
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:16:27 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611475.951029 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnHqc-0000cV-TY; Mon, 02 Oct 2023 12:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611475.951029; Mon, 02 Oct 2023 12:16:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnHqc-0000cO-Qs; Mon, 02 Oct 2023 12:16:26 +0000
Received: by outflank-mailman (input) for mailman id 611475;
 Mon, 02 Oct 2023 12:16:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnHqc-0000cH-6q
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:16:26 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80ee21be-611d-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 14:16:24 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40537481094so167958065e9.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:16:24 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 m5-20020a05600c280500b0040535648639sm7164367wmb.36.2023.10.02.05.16.22
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 05:16:23 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80ee21be-611d-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696248983; x=1696853783; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=qpGqz704wfc/PdxXoYaK5CiNKFyzwGREtGRnXfMqZmM=;
        b=bhIqA8kMkIKuX5t+fA5GXeDw1DBM833WMSO2e/CjFEMCIXvt5RbOJOCsUrqaHwXM+t
         grSL6F3U2u1etYiDPRgu9p00Zis6eUSUuuPoj5TeEQfnWu+O3kTwBXgzb6aEAOXNI28a
         7bFF76JD1/tVdD8gVXvNxxWsI4A2KXX0w7cY2I5mGRL3/evf1UtEeYLxJDZwSpXeQ3f6
         ki/bMwdnwO06c2j03ep0qZ2+FYL5la5W5uwUM7F+n/5CPaAvOFelh1nS2Wf4yxttWBXu
         H29O5xfjpOI1yf8uO0+drEokNcAWx638RbCmwzDB9V2pEaYYP6BhitB8TaTg1DcNPsgR
         S66Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696248983; x=1696853783;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qpGqz704wfc/PdxXoYaK5CiNKFyzwGREtGRnXfMqZmM=;
        b=GoBH/1s7fYuApJVC5I1UuyMLiRBNPfvBZiwtqoqXOX2AmEupP5Qx8Bk9iM3qy1Z7uj
         dT1+plRPaNYkkAjOLdHfd7Zi93D/PXHfc+X76OLn7Ek6ofyFjz+HmYXtBBdTDQschl4M
         RCAeE6/gOmP02CQC8jzZwbnZPt27BDTQ5kp1/YiwMIML0TUN8WMF/dL3Ilh3js97UvmH
         a70uixbwow3bNHuA3KYFNluMZBWGty9GG3tenGiBExChz7tD4qYlrJt9rQ2Y1OqhbdJy
         jr9jw/mAzN1p72iCcXqmk5Oo2FMjRdTo5En4KRkNL47Psy3+b3jC1tpFEkyYZ0T2OHdu
         xQ4g==
X-Gm-Message-State: AOJu0Yy/m+QDtuUFUlbo91cawIG5rSjMDZsfPHsNdx8laj11XuBTU2lJ
	Ggf7YpWixcu7Suxi7b/gNgoJnJk8/mICkQ==
X-Google-Smtp-Source: AGHT+IEPZswlEIMMQ410WXLnRasSTarCRbJ8tasSf2TLkSOG2/pQ6S2+miagIWKdAhVcMJ6On7MNWA==
X-Received: by 2002:a05:600c:214c:b0:406:177e:5de8 with SMTP id v12-20020a05600c214c00b00406177e5de8mr9417655wml.35.1696248983479;
        Mon, 02 Oct 2023 05:16:23 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <9539142b-5f9e-4b5a-949f-7ad5cd1480e8@xen.org>
Date: Mon, 2 Oct 2023 13:16:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/2] Delete CoInstaller code
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002103018.2028-1-owen.smith@cloud.com>
 <20231002103018.2028-2-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002103018.2028-2-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 11:30, Owen Smith wrote:
> With the CoInstaller removed from the INF file, delete the CoInstaller
> source code and projects.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/coinst/coinst.c                           | 556 ------------------
>   src/coinst/xencons_coinst.def                 |  38 --
>   src/coinst/xencons_coinst.rc                  |  56 --
>   vs2015/package/package.vcxproj                |   3 -
>   vs2015/xencons.sln                            |  22 -
>   vs2015/xencons_coinst/xencons_coinst.vcxproj  |  62 --
>   .../xencons_coinst.vcxproj.user               |   8 -
>   vs2017/package/package.vcxproj                |   3 -
>   vs2017/xencons.sln                            |  22 -
>   vs2017/xencons_coinst/xencons_coinst.vcxproj  |  62 --
>   .../xencons_coinst.vcxproj.user               |   8 -
>   vs2019/package/package.vcxproj                |   3 -
>   vs2019/xencons.sln                            |  22 -
>   vs2019/xencons_coinst/xencons_coinst.vcxproj  |  65 --
>   .../xencons_coinst.vcxproj.user               |   8 -
>   vs2022/package/package.vcxproj                |   3 -
>   vs2022/xencons.sln                            |  22 -
>   vs2022/xencons_coinst/xencons_coinst.vcxproj  |  65 --
>   .../xencons_coinst.vcxproj.user               |   8 -
>   19 files changed, 1036 deletions(-)
>   delete mode 100644 src/coinst/coinst.c
>   delete mode 100644 src/coinst/xencons_coinst.def
>   delete mode 100644 src/coinst/xencons_coinst.rc
>   delete mode 100644 vs2015/xencons_coinst/xencons_coinst.vcxproj
>   delete mode 100644 vs2015/xencons_coinst/xencons_coinst.vcxproj.user
>   delete mode 100644 vs2017/xencons_coinst/xencons_coinst.vcxproj
>   delete mode 100644 vs2017/xencons_coinst/xencons_coinst.vcxproj.user
>   delete mode 100644 vs2019/xencons_coinst/xencons_coinst.vcxproj
>   delete mode 100644 vs2019/xencons_coinst/xencons_coinst.vcxproj.user
>   delete mode 100644 vs2022/xencons_coinst/xencons_coinst.vcxproj
>   delete mode 100644 vs2022/xencons_coinst/xencons_coinst.vcxproj.user
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:52:27 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611493.951051 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPR-0005qK-Uw; Mon, 02 Oct 2023 12:52:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611493.951051; Mon, 02 Oct 2023 12:52:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPR-0005qD-S9; Mon, 02 Oct 2023 12:52:25 +0000
Received: by outflank-mailman (input) for mailman id 611493;
 Mon, 02 Oct 2023 12:52:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIPQ-0005mc-3v
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:52:24 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 861d8f21-6122-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 14:52:20 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-405361bba99so162963365e9.2
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:52:20 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 y18-20020a1c4b12000000b004063cd8105csm7177561wma.22.2023.10.02.05.52.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:52:19 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 861d8f21-6122-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251139; x=1696855939; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kOhaQJh90XO2nx3zqU54MM81qFOk1+HAlRoxQsq7FS8=;
        b=ZqxJhBdhH9RT4YOo84eqd0PY0iZsZNs6QUFRsOpMfVj1pmxPb6onUzLjl7llkYVn23
         kI4qhuTcDTmKGvZO9wF50AuP/VS7VhSNyHA15FwBGz+8T2NHbj+we4ryebxnVJFVaSoy
         LxPDtnscPdR5SFh1mHDlbphIs+k5IDMh5tNf4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251139; x=1696855939;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kOhaQJh90XO2nx3zqU54MM81qFOk1+HAlRoxQsq7FS8=;
        b=CYow1OxbeGXajCoGJZutYphS421U9KWj2K1JJ1jJPZ+8nZ18lYEuiGkj1l/L/KVigK
         JQDiZeWSMa8fJy4PQKL4VdBh3EyIZRKB/SliwY0jHh3ttkbTBPri6NnB5xKzzOy4Jc6J
         b39b/7PLUDBw8xzSH+IRA2URdfis5qn8YBcQ1Bc3PM3VcsVVrJFPaJrK4JAEAZYraqSB
         R0d3ABoPMKiwlttW2e3Ww8mbwT0HmB3Lglle71AfqyB0f0k3ZxXLGvN6e1By6X1ey0f9
         ACm2CnUMpx7dZwar2GYmVUg+iWaRItqz8ZeZYMiS6EZnYTFEeJSzgm8lPBKOePXZgnxO
         HV6Q==
X-Gm-Message-State: AOJu0YxttSJS4jLHYorf2bhHaKthnjS+IqlnGJ3SU4bA6nPH2mrt64ou
	yXtTVJ6A8NpkmpYg8Xbv0+cJz9dNzuJO4+GF8gjn
X-Google-Smtp-Source: AGHT+IECaFv+UvN0jbrKcehxJp2trjdM3dXisflEMMNRDLNC0hQCEufflFIooOkcA2UiW+UMlNHJiw==
X-Received: by 2002:a7b:c40f:0:b0:401:bcd9:4871 with SMTP id k15-20020a7bc40f000000b00401bcd94871mr10310277wmi.21.1696251139437;
        Mon, 02 Oct 2023 05:52:19 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 3/5] Remove unplug_interface.h
Date: Mon,  2 Oct 2023 13:52:05 +0100
Message-ID: <20231002125207.270-3-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
In-Reply-To: <20231002125207.270-1-owen.smith@cloud.com>
References: <20231002125207.270-1-owen.smith@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

XenVkbd doesnt use the UNPLUG interface, so remove query interface calls
and all references to Unplugs

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 include/unplug_interface.h | 116 -------------------------------------
 src/xenvkbd/fdo.c          |  21 -------
 src/xenvkbd/fdo.h          |   2 -
 src/xenvkbd/pdo.c          |  13 -----
 4 files changed, 152 deletions(-)
 delete mode 100644 include/unplug_interface.h

diff --git a/include/unplug_interface.h b/include/unplug_interface.h
deleted file mode 100644
index e465e2e..0000000
--- a/include/unplug_interface.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, 
- * with or without modification, are permitted provided 
- * that the following conditions are met:
- * 
- * *   Redistributions of source code must retain the above 
- *     copyright notice, this list of conditions and the 
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above 
- *     copyright notice, this list of conditions and the 
- *     following disclaimer in the documentation and/or other 
- *     materials provided with the distribution.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
- * SUCH DAMAGE.
- */
-
-/*! \file unplug_interface.h
-    \brief XENBUS UNPLUG Interface
-
-    This interface provides a method to request emulated device unplug
-*/
-
-#ifndef _XENBUS_UNPLUG_INTERFACE_H
-#define _XENBUS_UNPLUG_INTERFACE_H
-
-#ifndef _WINDLL
-
-/*! \typedef XENBUS_UNPLUG_ACQUIRE
-    \brief Acquire a reference to the UNPLUG interface
-
-    \param Interface The interface header
-*/  
-typedef NTSTATUS
-(*XENBUS_UNPLUG_ACQUIRE)(
-    IN  PINTERFACE  Interface
-    );
-
-/*! \typedef XENBUS_UNPLUG_RELEASE
-    \brief Release a reference to the UNPLUG interface
-
-    \param Interface The interface header
-*/  
-typedef VOID
-(*XENBUS_UNPLUG_RELEASE)(
-    IN  PINTERFACE  Interface
-    );
-
-/*! \enum _XENBUS_UNPLUG_DEVICE_TYPE
-    \brief Type of device to be unplugged
-*/
-typedef enum _XENBUS_UNPLUG_DEVICE_TYPE {
-    XENBUS_UNPLUG_DEVICE_TYPE_INVALID = 0,
-    XENBUS_UNPLUG_DEVICE_TYPE_NICS,     /*!< NICs */
-    XENBUS_UNPLUG_DEVICE_TYPE_DISKS,    /*!< Disks */
-} XENBUS_UNPLUG_DEVICE_TYPE, *PXENBUS_UNPLUG_DEVICE_TYPE;
-
-/*! \typedef XENBUS_UNPLUG_REQUEST
-    \brief Request unplug of a type of emulated device
-
-    \param Interface The interface header
-    \param Type The type of device
-    \param Make Set to TRUE if the request is being made, FALSE if it is
-           being revoked.
-*/  
-typedef VOID
-(*XENBUS_UNPLUG_REQUEST)(
-    IN  PINTERFACE                  Interface,
-    IN  XENBUS_UNPLUG_DEVICE_TYPE   Type,
-    IN  BOOLEAN                     Make
-    );
-
-// {73db6517-3d06-4937-989f-199b7501e229}
-DEFINE_GUID(GUID_XENBUS_UNPLUG_INTERFACE,
-0x73db6517, 0x3d06, 0x4937, 0x98, 0x9f, 0x19, 0x9b, 0x75, 0x01, 0xe2, 0x29);
-
-/*! \struct _XENBUS_UNPLUG_INTERFACE_V1
-    \brief UNPLUG interface version 1
-    \ingroup interfaces
-*/
-struct _XENBUS_UNPLUG_INTERFACE_V1 {
-    INTERFACE               Interface;
-    XENBUS_UNPLUG_ACQUIRE   UnplugAcquire;
-    XENBUS_UNPLUG_RELEASE   UnplugRelease;
-    XENBUS_UNPLUG_REQUEST   UnplugRequest;
-};
-
-typedef struct _XENBUS_UNPLUG_INTERFACE_V1 XENBUS_UNPLUG_INTERFACE, *PXENBUS_UNPLUG_INTERFACE;
-
-/*! \def XENBUS_UNPLUG
-    \brief Macro at assist in method invocation
-*/
-#define XENBUS_UNPLUG(_Method, _Interface, ...)    \
-    (_Interface)->Unplug ## _Method((PINTERFACE)(_Interface), __VA_ARGS__)
-
-#endif  // _WINDLL
-
-#define XENBUS_UNPLUG_INTERFACE_VERSION_MIN  1
-#define XENBUS_UNPLUG_INTERFACE_VERSION_MAX  1
-
-#endif  // _XENBUS_UNPLUG_INTERFACE_H
diff --git a/src/xenvkbd/fdo.c b/src/xenvkbd/fdo.c
index 5c00ee1..7a87ead 100644
--- a/src/xenvkbd/fdo.c
+++ b/src/xenvkbd/fdo.c
@@ -42,7 +42,6 @@
 #include <store_interface.h>
 #include <gnttab_interface.h>
 #include <suspend_interface.h>
-#include <unplug_interface.h>
 #include <version.h>
 
 #include "driver.h"
@@ -103,7 +102,6 @@ struct _XENVKBD_FDO {
     XENBUS_RANGE_SET_INTERFACE  RangeSetInterface;
     XENBUS_CACHE_INTERFACE      CacheInterface;
     XENBUS_GNTTAB_INTERFACE     GnttabInterface;
-    XENBUS_UNPLUG_INTERFACE     UnplugInterface;
 
     PXENBUS_SUSPEND_CALLBACK    SuspendCallbackLate;
 };
@@ -2995,7 +2993,6 @@ DEFINE_FDO_GET_INTERFACE(Store, PXENBUS_STORE_INTERFACE)
 DEFINE_FDO_GET_INTERFACE(RangeSet, PXENBUS_RANGE_SET_INTERFACE)
 DEFINE_FDO_GET_INTERFACE(Cache, PXENBUS_CACHE_INTERFACE)
 DEFINE_FDO_GET_INTERFACE(Gnttab, PXENBUS_GNTTAB_INTERFACE)
-DEFINE_FDO_GET_INTERFACE(Unplug, PXENBUS_UNPLUG_INTERFACE)
 
 NTSTATUS
 FdoCreate(
@@ -3125,15 +3122,6 @@ FdoCreate(
     if (!NT_SUCCESS(status))
         goto fail13;
 
-    status = FDO_QUERY_INTERFACE(Fdo,
-                                 XENBUS,
-                                 UNPLUG,
-                                 (PINTERFACE)&Fdo->UnplugInterface,
-                                 sizeof (Fdo->UnplugInterface),
-                                 FALSE);
-    if (!NT_SUCCESS(status))
-        goto fail14;
-
     Dx->Fdo = Fdo;
 
     InitializeMutex(&Fdo->Mutex);
@@ -3147,12 +3135,6 @@ FdoCreate(
     FunctionDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
     return STATUS_SUCCESS;
 
-fail14:
-    Error("fail14\n");
-
-    RtlZeroMemory(&Fdo->UnplugInterface,
-                  sizeof (XENBUS_UNPLUG_INTERFACE));
-
 fail13:
     Error("fail13\n");
 
@@ -3259,9 +3241,6 @@ FdoDestroy(
 
     Dx->Fdo = NULL;
 
-    RtlZeroMemory(&Fdo->UnplugInterface,
-                  sizeof (XENBUS_UNPLUG_INTERFACE));
-
     RtlZeroMemory(&Fdo->GnttabInterface,
                   sizeof (XENBUS_GNTTAB_INTERFACE));
 
diff --git a/src/xenvkbd/fdo.h b/src/xenvkbd/fdo.h
index d9ec308..b294080 100644
--- a/src/xenvkbd/fdo.h
+++ b/src/xenvkbd/fdo.h
@@ -41,7 +41,6 @@
 #include <range_set_interface.h>
 #include <cache_interface.h>
 #include <gnttab_interface.h>
-#include <unplug_interface.h>
 
 #include "driver.h"
 #include "types.h"
@@ -143,7 +142,6 @@ DECLARE_FDO_GET_INTERFACE(Store, PXENBUS_STORE_INTERFACE)
 DECLARE_FDO_GET_INTERFACE(RangeSet, PXENBUS_RANGE_SET_INTERFACE)
 DECLARE_FDO_GET_INTERFACE(Cache, PXENBUS_CACHE_INTERFACE)
 DECLARE_FDO_GET_INTERFACE(Gnttab, PXENBUS_GNTTAB_INTERFACE)
-DECLARE_FDO_GET_INTERFACE(Unplug, PXENBUS_UNPLUG_INTERFACE)
 
 extern NTSTATUS
 FdoCreate(
diff --git a/src/xenvkbd/pdo.c b/src/xenvkbd/pdo.c
index 5b52aad..f10aca0 100644
--- a/src/xenvkbd/pdo.c
+++ b/src/xenvkbd/pdo.c
@@ -40,7 +40,6 @@
 #include <xen.h>
 
 #include <suspend_interface.h>
-#include <unplug_interface.h>
 #include <debug_interface.h>
 
 #include "names.h"
@@ -80,9 +79,6 @@ struct _XENVKBD_PDO {
     XENBUS_SUSPEND_INTERFACE    SuspendInterface;
     PXENBUS_SUSPEND_CALLBACK    SuspendCallbackLate;
 
-    XENBUS_UNPLUG_INTERFACE     UnplugInterface;
-    BOOLEAN                     UnplugRequested;
-
     PXENVKBD_FRONTEND           Frontend;
 
     PXENVKBD_HID_CONTEXT        HidContext;
@@ -2013,7 +2009,6 @@ PdoCreate(
         goto fail7;
 
     FdoGetSuspendInterface(Fdo, &Pdo->SuspendInterface);
-    FdoGetUnplugInterface(Fdo, &Pdo->UnplugInterface);
 
     Dx->Pdo = Pdo;
 
@@ -2046,9 +2041,6 @@ fail8:
 
     Dx->Pdo = NULL;
 
-    RtlZeroMemory(&Pdo->UnplugInterface,
-                  sizeof (XENBUS_UNPLUG_INTERFACE));
-
     RtlZeroMemory(&Pdo->SuspendInterface,
                   sizeof (XENBUS_SUSPEND_INTERFACE));
 
@@ -2109,8 +2101,6 @@ PdoDestroy(
     PDEVICE_OBJECT      PhysicalDeviceObject = Dx->DeviceObject;
     PXENVKBD_FDO        Fdo = __PdoGetFdo(Pdo);
 
-    Pdo->UnplugRequested = FALSE;
-
     ASSERT3U(__PdoGetDevicePnpState(Pdo), ==, Deleted);
 
     ASSERT(__PdoIsMissing(Pdo));
@@ -2129,9 +2119,6 @@ PdoDestroy(
 
     Dx->Pdo = NULL;
 
-    RtlZeroMemory(&Pdo->UnplugInterface,
-                  sizeof (XENBUS_UNPLUG_INTERFACE));
-
     RtlZeroMemory(&Pdo->SuspendInterface,
                   sizeof (XENBUS_SUSPEND_INTERFACE));
 
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:52:27 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611494.951055 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPT-0005s1-0a; Mon, 02 Oct 2023 12:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611494.951055; Mon, 02 Oct 2023 12:52:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPS-0005ru-UL; Mon, 02 Oct 2023 12:52:26 +0000
Received: by outflank-mailman (input) for mailman id 611494;
 Mon, 02 Oct 2023 12:52:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIPR-0005mc-1R
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:52:25 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 866488f8-6122-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 14:52:20 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-406618d0991so26159675e9.2
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:52:20 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 y18-20020a1c4b12000000b004063cd8105csm7177561wma.22.2023.10.02.05.52.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:52:19 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 866488f8-6122-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251140; x=1696855940; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=imu1cQgT+Q6oA5PFSZsPObHzgF7tPpN8HN3Al3veRdI=;
        b=l0as3TBSqwIm/Y6JBTykPuG23KLo4iaihLPh+VKqpcmOByLUTzsKyCsDnOyZmmCR0J
         0iyCVciEIZztdOgH8d5YAaZl6gYPiAtpKcj6GyrZ2d0XpTDULcS5op/8Vt5pbtgxg32R
         Xu1NWVzpMv5rJ2kuUlSBn5qtd5h1JVPieI5bg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251140; x=1696855940;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=imu1cQgT+Q6oA5PFSZsPObHzgF7tPpN8HN3Al3veRdI=;
        b=OXeEHG2DSMl9NAG97d37/ViPZM/TBPj3Zmg05gz+bb5fzcB2ZyfHMp9Y56zOMw4THR
         e4cZ4zEYqypUjeoEYI4i855OBlu3ZAdN7LNSj04dYpbPm+A5G1Fb9CSiMKswHAbmI7YW
         cdtKKOU5XEAycU0SAAbL6L/qNy3dpjX7X5AIV4zU8mptySV/N1zkVX6GbKUvjE5BysTD
         a6W7mXeq7iEqW+ZEobhK3wgB+7H+m/hetvWcE00CDAUOfutKSHgGK8E45hGTF3lwyhx2
         hjcQ6GCr6RfSxoHpoBRr5lluSQr3ZrpXaEturJffdYl2FhHJ0WNSAw9H9vejZj/uvzFd
         iLNA==
X-Gm-Message-State: AOJu0YxTDekP9GU3socegB9+9IqOsP8eZRWU6J+EwrA+7UXhCUPO8hgk
	kanpPxJbBAwW2WvLMu+zhY55GOHRimlsMOPUwkUe
X-Google-Smtp-Source: AGHT+IGVsEhlYX072h6NRoHjBsdmg7u1XeYHl8ZsARccFm/O8gTo9tJ2eqSrskfIRcsCGRwcpP+msw==
X-Received: by 2002:a05:600c:21d4:b0:401:aa8f:7562 with SMTP id x20-20020a05600c21d400b00401aa8f7562mr10803468wmj.11.1696251139944;
        Mon, 02 Oct 2023 05:52:19 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 4/5] Remove CoInstaller from INF
Date: Mon,  2 Oct 2023 13:52:06 +0100
Message-ID: <20231002125207.270-4-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
In-Reply-To: <20231002125207.270-1-owen.smith@cloud.com>
References: <20231002125207.270-1-owen.smith@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Windows 11 22H2 WHQL requires INF files pass "InfVerif /k", which highlights
several issues
- PnpLockdown=1 needs to be specified
- CoInstallers are no longer allowed

The CoInstaller has several functions that will need alternative solutions:
- The AllowUpdate mechanism is no longer possible
- The safety checks that ensure interface versionings remain compatible

Interface safety checks need to be handled by changes to child device bindings.

Also updates the INF bindings to require XenBus with CoInstaller removed to
maintain consistent CoInstaller removal versioning.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/xenvkbd.inf | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/src/xenvkbd.inf b/src/xenvkbd.inf
index 08d96d0..f7d3b18 100644
--- a/src/xenvkbd.inf
+++ b/src/xenvkbd.inf
@@ -38,20 +38,16 @@ Provider=%Vendor%
 CatalogFile=xenvkbd.cat
 DriverVer=@INF_DATE@,@MAJOR_VERSION@.@MINOR_VERSION@.@MICRO_VERSION@.@BUILD_NUMBER@
 DriverPackageDisplayName=%DiskDesc%
+PnpLockdown=1
 
 [DestinationDirs] 
 DefaultDestDir=12 
-CoInst_CopyFiles=11
 
 [SourceDisksNames]
 0=%DiskDesc%
 
 [SourceDisksFiles]
 xenvkbd.sys=0,,
-xenvkbd_coinst.dll=0,,
-
-[CoInst_CopyFiles]
-xenvkbd_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenvkbd_coinst.dll
 
 [Manufacturer] 
 %Vendor%=Inst,NT@INF_ARCH@
@@ -60,9 +56,9 @@ xenvkbd_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dl
 ; DisplayName		Section		DeviceID
 ; -----------		-------		--------
 
-%XenVkbdName%		=XenVkbd_Inst,	XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_VKBD&REV_09000009
-%XenVkbdName%		=XenVkbd_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_VKBD&REV_09000009
-%XenVkbdName%		=XenVkbd_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_VKBD&REV_09000009
+%XenVkbdName%		=XenVkbd_Inst,	XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_VKBD&REV_0900000A
+%XenVkbdName%		=XenVkbd_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_VKBD&REV_0900000A
+%XenVkbdName%		=XenVkbd_Inst,	XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_VKBD&REV_0900000A
 
 [XenVkbd_Inst] 
 CopyFiles=XenVkbd_Copyfiles
@@ -85,13 +81,6 @@ AddReg = XenVkbd_Parameters
 HKR,"Parameters",,0x00000010
 HKR,"Parameters","RequestKey",0x00000000,%RequestKey%
 
-[XenVkbd_Inst.CoInstallers]
-CopyFiles=CoInst_CopyFiles
-AddReg=CoInst_AddReg
-
-[CoInst_AddReg]
-HKR,,CoInstallers32,0x00010000,"xenvkbd_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,Entry"
-
 [Strings] 
 
 Vendor="@VENDOR_NAME@"
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:52:28 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:52:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611491.951044 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPQ-0005n1-Ty; Mon, 02 Oct 2023 12:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611491.951044; Mon, 02 Oct 2023 12:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPQ-0005mt-PT; Mon, 02 Oct 2023 12:52:24 +0000
Received: by outflank-mailman (input) for mailman id 611491;
 Mon, 02 Oct 2023 12:52:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIPP-0005mc-MA
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:52:23 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8521c052-6122-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 14:52:18 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-405497850dbso145146175e9.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:52:18 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 y18-20020a1c4b12000000b004063cd8105csm7177561wma.22.2023.10.02.05.52.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:52:17 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8521c052-6122-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251138; x=1696855938; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=041h3W3gBb6HvlD+o695bFgVdEGt53arkDUBmKdZ7H0=;
        b=ifsoeq7QIeGb89EvWDLy0yriVd49K8ObmxJW3LIY2+DcWMqRfqRSpwmV4555VAFOJy
         EX3GDVr6oe/IWYc/XjFTus3hYqFule5NzyRchv6bwMDdah58ZqWSceg/dgISMnsKH99J
         pQQwqItmm9yeArRaed634AdBLSQcJLQcHbnB4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251138; x=1696855938;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=041h3W3gBb6HvlD+o695bFgVdEGt53arkDUBmKdZ7H0=;
        b=MQq+mQEUY9MBX4iNZQC/UI43g2XxsvNxUFrUizMxKqorCXXzEcLPW9/2cfi1f8y5Mn
         0a4Uc7A5SdG62PIehewjGsQlTWZY9nJ7HtLJcpnIw7RKqHAUWgpHpt1EpMiJAY8TOskV
         +ry0F5p0ITDuZ7+T8nV+XZl6ccnl5DwRv8bsO1WDqb37NEkSyv7cQi9h/hs82VjZQtld
         ayEOFqjgtNFzYjgvcPTpD5+9ZMoqVoW2h92zOebiXmat5kFPzarDgKZ6iY66myt5bs7z
         n9aidIZES0DgQJPKnFbr5w2E8kpywDRTnMUOHFfg4lDwQzHrg8OmSks/FcxqWHP74gFT
         bF9A==
X-Gm-Message-State: AOJu0YyHLb7GbeH/Sc4ZnSurcaT2BgOuOW17kwPyV6gKHl7OtIHyndfu
	+oWYKHnaoIwLwUJYWZYAwuAJ3IEdD1hwLvEjncxp
X-Google-Smtp-Source: AGHT+IFrzfPeUejtg0oKHtVNQMEU3VOPJ1NXFOgXuhmpUgJ1ngFoWOZF7qJRZQtLs1+dY+vk/S54eg==
X-Received: by 2002:a05:600c:1c11:b0:406:592b:e5aa with SMTP id j17-20020a05600c1c1100b00406592be5aamr8141487wms.14.1696251137839;
        Mon, 02 Oct 2023 05:52:17 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 1/5] Fix Length calculation in PdoQueryId
Date: Mon,  2 Oct 2023 13:52:03 +0100
Message-ID: <20231002125207.270-1-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Decrease Length by the string length of the current ID before moving
the Buffer value to the end of the current ID. Without this, Length
is not decreased, leading to potential issues with the next call to
RtlStringCbPrintfW.
Note: the second chunk it to maintain consistent ordering of operations
for clarity, and has no functional change.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/xenvkbd/pdo.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/xenvkbd/pdo.c b/src/xenvkbd/pdo.c
index 3591e14..256859f 100644
--- a/src/xenvkbd/pdo.c
+++ b/src/xenvkbd/pdo.c
@@ -1356,11 +1356,11 @@ PdoQueryId(
                                         Revision->Number);
             ASSERT(NT_SUCCESS(status));
 
-            Buffer += wcslen(Buffer);
             Length -= (ULONG)(wcslen(Buffer) * sizeof (WCHAR));
+            Buffer += wcslen(Buffer);
 
-            Buffer++;
             Length -= sizeof (WCHAR);
+            Buffer++;
 
             --Index;
         }
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:52:28 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:52:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611492.951048 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPQ-0005nN-W0; Mon, 02 Oct 2023 12:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611492.951048; Mon, 02 Oct 2023 12:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPQ-0005n4-Qn; Mon, 02 Oct 2023 12:52:24 +0000
Received: by outflank-mailman (input) for mailman id 611492;
 Mon, 02 Oct 2023 12:52:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIPP-0005mc-TE
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:52:23 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85949c16-6122-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 14:52:19 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40572aeb73cso135206825e9.3
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:52:19 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 y18-20020a1c4b12000000b004063cd8105csm7177561wma.22.2023.10.02.05.52.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:52:18 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85949c16-6122-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251138; x=1696855938; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aHzwOpdavwcrmdjg0QiU8UCeY1erXteDAJ4sddl/1So=;
        b=CaJ+jtkLrUOnU44dWNY0w0hV4h2xZ2qc0OLQ6XaHvFEMUwBg581i3pj1aAXQ66ov+u
         +bSZZg/RwbFqRZrX1b3wiXC/R2XZkF46Rofi0uHMNJhoG9I70ZIxwZCxxqi5e/vTpDEC
         7B1Sa3FNlsFcKz9s3ofY74hOp9kglArPazer4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251138; x=1696855938;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aHzwOpdavwcrmdjg0QiU8UCeY1erXteDAJ4sddl/1So=;
        b=VPprsxW+VNjocnb1JHCMyfCQOjqfKeaVEyPVNYnejtxYEHrvoBlMHTs1182F02iaXB
         auLotgZT4iVonnVNbsDZcFPiSYo/m9accwWm6A8d0sCE6+q2XKYCfe1Eq1lymC0/foEd
         gUSJ6xd6mX6RWIxXEiYUnFEhilM23LCl17cu1s8l5NEy84FxOFqV/+utWJPN9dl7FOgz
         yBI9UL+yq3edOs0eO3Tc6+yXi1GxfF6qARaSdsWdQHMswNecIU3ZsTY+pP2XiGveDBac
         +BY2dwAyGirqDVi65rjUk12M7cAU4ebmpLaIcklQ/ynR39MADJ03zvUjbLEveZsfeb7I
         nDkw==
X-Gm-Message-State: AOJu0YzrJVtgpNd90yDmejFjqU2LjtLMBHMI/m4FJy6iITRGBugTMZtp
	7MtfF0/PVtaJQm7+anSc5eNy6IS2BUlUbDt7Q29t
X-Google-Smtp-Source: AGHT+IGEOYLakcYU2k9/A8TisHmA85FdS1QFkWMjWDSCpQ/WU4/KbJmBk6qWQ8Pucu1LgBZCdu1YDg==
X-Received: by 2002:a7b:c410:0:b0:405:377f:5417 with SMTP id k16-20020a7bc410000000b00405377f5417mr9679452wmi.39.1696251138691;
        Mon, 02 Oct 2023 05:52:18 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 2/5] Remove REV from DeviceID
Date: Mon,  2 Oct 2023 13:52:04 +0100
Message-ID: <20231002125207.270-2-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
In-Reply-To: <20231002125207.270-1-owen.smith@cloud.com>
References: <20231002125207.270-1-owen.smith@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Driver upgrades use HardwareIDs (or CompatibleIDs) to match the child INF DDInstall
section (stored as matching device id), but use the DeviceID to generate the device
instance path. By keeping the device instance path the same over upgrades, the network
stack should identify this as an upgrade, rather than 'replacement hardware', and
not generate a new network connection, which would require network settings to be
copied from the existing network connection to the new network connection.

Note: Adds a strict requirement on child INF DDInstall sections, to specify the full
hardware ID (including revision) to guarantee interface versions are correctly supported

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/xenvkbd/pdo.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/src/xenvkbd/pdo.c b/src/xenvkbd/pdo.c
index 256859f..5b52aad 100644
--- a/src/xenvkbd/pdo.c
+++ b/src/xenvkbd/pdo.c
@@ -1318,18 +1318,12 @@ PdoQueryId(
         break;
 
     case BusQueryDeviceID: {
-        ULONG                   Index;
-        PXENVKBD_PDO_REVISION    Revision;
-
         Type = REG_SZ;
-        Index = ARRAYSIZE(PdoRevision) - 1;
-        Revision = &PdoRevision[Index];
 
         status = RtlStringCbPrintfW(Buffer,
                                     Id.MaximumLength,
-                                    L"XENVKBD\\VEN_%hs&DEV_HID&REV_%08X",
-                                    __PdoGetVendorName(Pdo),
-                                    Revision->Number);
+                                    L"XENVKBD\\VEN_%hs&DEV_HID",
+                                    __PdoGetVendorName(Pdo));
         ASSERT(NT_SUCCESS(status));
 
         Buffer += wcslen(Buffer);
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:52:28 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:52:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611495.951060 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPT-0005sS-4Y; Mon, 02 Oct 2023 12:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611495.951060; Mon, 02 Oct 2023 12:52:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIPS-0005s5-Vt; Mon, 02 Oct 2023 12:52:26 +0000
Received: by outflank-mailman (input) for mailman id 611495;
 Mon, 02 Oct 2023 12:52:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIPQ-0005ms-Vb
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:52:25 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 870d18f2-6122-11ee-878e-cb3800f73035;
 Mon, 02 Oct 2023 14:52:22 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-31fa15f4cc6so15867728f8f.2
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:52:22 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 y18-20020a1c4b12000000b004063cd8105csm7177561wma.22.2023.10.02.05.52.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:52:20 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 870d18f2-6122-11ee-878e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251142; x=1696855942; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ExuL6Iz3EPMAEDGWGtZqFzG1HQlnb5p3VXK1SgiLJu4=;
        b=fUzcQpngIIu+aaD894KScSAZDD/OfSgPTkjrHTUzSs+pgK2ojU4X9KKDl5b6z/GY8P
         hkt6/4JGgXtqFBp2uEKdJ/k3K14fi/FH9KqAEVbft8dpw0bNONQe+jqN+6p7r98TXPlN
         ybv789bnccQlKxWotcM/MCTgqKvpqX7LiDNtA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251142; x=1696855942;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ExuL6Iz3EPMAEDGWGtZqFzG1HQlnb5p3VXK1SgiLJu4=;
        b=kfco/OR9vfJ3/2PoMqtF1td15lnxLqMdC06oakTuk8qd8nh2/fsAW3uG6s3NdGCLGP
         1eow3pkCddkngZctWlqXumCUPcP9r90NCEg2kqGYC08qympZG81PLWZGW6zCCpakasOJ
         AsHgyabRPQcVfs8Ryq+BI5wUfNjfdsrJLunRijV0c9HEejuKvhjSgdqjnkQZ1zZu2aJL
         kqsfOY6t41asLm5ZFUscYQQXsqO01+KBu2SblmZR/DDwTi56AdGuQLctNIsPA/qTkUNG
         tUbTuT2I/nQWKP4XGcogDzlDVA3kfEeA3NqPZnuNxI6gT9rFHFXlRLFPuJb62WtAHvuy
         xnmQ==
X-Gm-Message-State: AOJu0YyLl13oqxDr1/3emdKVbLGNOsOIB1eZIQr12xHjn41tb3l01cvG
	7IQKUN+sH3ryhv6Z3meTcMdTpFOiieua2Nl1lJtI
X-Google-Smtp-Source: AGHT+IEfZ0Ddset234gLrX5Pg3kerIUcKEN4CsWbcq+gVrPj6dubVtgUg02fcC8baaNh/l7WMfI15A==
X-Received: by 2002:a5d:5151:0:b0:31f:eb88:e3c8 with SMTP id u17-20020a5d5151000000b0031feb88e3c8mr10072233wrt.32.1696251140830;
        Mon, 02 Oct 2023 05:52:20 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 5/5] Delete CoInstaller code
Date: Mon,  2 Oct 2023 13:52:07 +0100
Message-ID: <20231002125207.270-5-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
In-Reply-To: <20231002125207.270-1-owen.smith@cloud.com>
References: <20231002125207.270-1-owen.smith@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With the CoInstaller removed from the INF file, delete the CoInstaller
source code and projects.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/coinst/coinst.c                           | 1364 -----------------
 src/coinst/xenvkbd_coinst.def                 |   38 -
 src/coinst/xenvkbd_coinst.rc                  |   58 -
 vs2015/package/package.vcxproj                |    3 -
 vs2015/xenvkbd.sln                            |   27 -
 vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   62 -
 .../xenvkbd_coinst.vcxproj.user               |    8 -
 vs2017/package/package.vcxproj                |    3 -
 vs2017/xenvkbd.sln                            |   27 -
 vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   62 -
 .../xenvkbd_coinst.vcxproj.user               |    8 -
 vs2019/package/package.vcxproj                |    3 -
 vs2019/xenvkbd.sln                            |   27 -
 vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   65 -
 .../xenvkbd_coinst.vcxproj.user               |    8 -
 vs2022/package/package.vcxproj                |    3 -
 vs2022/xenvkbd.sln                            |   27 -
 vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   65 -
 .../xenvkbd_coinst.vcxproj.user               |    8 -
 19 files changed, 1866 deletions(-)
 delete mode 100644 src/coinst/coinst.c
 delete mode 100644 src/coinst/xenvkbd_coinst.def
 delete mode 100644 src/coinst/xenvkbd_coinst.rc
 delete mode 100644 vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj
 delete mode 100644 vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
 delete mode 100644 vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj
 delete mode 100644 vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
 delete mode 100644 vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj
 delete mode 100644 vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
 delete mode 100644 vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj
 delete mode 100644 vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
deleted file mode 100644
index 49e5e5e..0000000
--- a/src/coinst/coinst.c
+++ /dev/null
@@ -1,1364 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, 
- * with or without modification, are permitted provided 
- * that the following conditions are met:
- * 
- * *   Redistributions of source code must retain the above 
- *     copyright notice, this list of conditions and the 
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above 
- *     copyright notice, this list of conditions and the 
- *     following disclaimer in the documentation and/or other 
- *     materials provided with the distribution.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
- * SUCH DAMAGE.
- */
-
-#include <windows.h>
-#include <setupapi.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <strsafe.h>
-#include <malloc.h>
-#include <assert.h>
-
-#include <version.h>
-#include <revision.h>
-
-#define stringify_literal(_text) #_text
-#define stringify(_text) stringify_literal(_text)
-#define __MODULE__ stringify(PROJECT)
-
-__user_code;
-
-#define MAXIMUM_BUFFER_SIZE 1024
-
-#define SERVICES_KEY "SYSTEM\\CurrentControlSet\\Services"
-
-#define SERVICE_KEY(_Driver)    \
-        SERVICES_KEY ## "\\" ## #_Driver
-
-#define UNPLUG_KEY \
-        SERVICE_KEY(XEN) ## "\\Unplug"
-
-#define CONTROL_KEY "SYSTEM\\CurrentControlSet\\Control"
-
-#define CLASS_KEY   \
-        CONTROL_KEY ## "\\Class"
-
-#define ENUM_KEY    "SYSTEM\\CurrentControlSet\\Enum"
-
-static VOID
-#pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024'
-__Log(
-    IN  const CHAR  *Format,
-    IN  ...
-    )
-{
-    TCHAR               Buffer[MAXIMUM_BUFFER_SIZE];
-    va_list             Arguments;
-    size_t              Length;
-    SP_LOG_TOKEN        LogToken;
-    DWORD               Category;
-    DWORD               Flags;
-    HRESULT             Result;
-
-    va_start(Arguments, Format);
-    Result = StringCchVPrintf(Buffer, MAXIMUM_BUFFER_SIZE, Format, Arguments);
-    va_end(Arguments);
-
-    if (Result != S_OK && Result != STRSAFE_E_INSUFFICIENT_BUFFER)
-        return;
-
-    Result = StringCchLength(Buffer, MAXIMUM_BUFFER_SIZE, &Length);
-    if (Result != S_OK)
-        return;
-
-    LogToken = SetupGetThreadLogToken();
-    Category = TXTLOG_VENDOR;
-    Flags = TXTLOG_WARNING;
-
-    SetupWriteTextLog(LogToken, Category, Flags, Buffer);
-    Length = __min(MAXIMUM_BUFFER_SIZE - 1, Length + 2);
-
-    __analysis_assume(Length < MAXIMUM_BUFFER_SIZE);
-    __analysis_assume(Length >= 2);
-    Buffer[Length] = '\0';
-    Buffer[Length - 1] = '\n';
-    Buffer[Length - 2] = '\r';
-
-    OutputDebugString(Buffer);
-}
-
-#define Log(_Format, ...) \
-        __Log(__MODULE__ "|" __FUNCTION__ ": " _Format, __VA_ARGS__)
-
-static PTCHAR
-GetErrorMessage(
-    IN  DWORD   Error
-    )
-{
-    PTCHAR      Message;
-    ULONG       Index;
-
-    if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                       FORMAT_MESSAGE_FROM_SYSTEM |
-                       FORMAT_MESSAGE_IGNORE_INSERTS,
-                       NULL,
-                       Error,
-                       MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                       (LPTSTR)&Message,
-                       0,
-                       NULL))
-        return NULL;
-
-    for (Index = 0; Message[Index] != '\0'; Index++) {
-        if (Message[Index] == '\r' || Message[Index] == '\n') {
-            Message[Index] = '\0';
-            break;
-        }
-    }
-
-    return Message;
-}
-
-static FORCEINLINE const CHAR *
-__FunctionName(
-    IN  DI_FUNCTION Function
-    )
-{
-#define _NAME(_Function)        \
-        case DIF_ ## _Function: \
-            return #_Function;
-
-    switch (Function) {
-    _NAME(INSTALLDEVICE);
-    _NAME(REMOVE);
-    _NAME(SELECTDEVICE);
-    _NAME(ASSIGNRESOURCES);
-    _NAME(PROPERTIES);
-    _NAME(FIRSTTIMESETUP);
-    _NAME(FOUNDDEVICE);
-    _NAME(SELECTCLASSDRIVERS);
-    _NAME(VALIDATECLASSDRIVERS);
-    _NAME(INSTALLCLASSDRIVERS);
-    _NAME(CALCDISKSPACE);
-    _NAME(DESTROYPRIVATEDATA);
-    _NAME(VALIDATEDRIVER);
-    _NAME(MOVEDEVICE);
-    _NAME(DETECT);
-    _NAME(INSTALLWIZARD);
-    _NAME(DESTROYWIZARDDATA);
-    _NAME(PROPERTYCHANGE);
-    _NAME(ENABLECLASS);
-    _NAME(DETECTVERIFY);
-    _NAME(INSTALLDEVICEFILES);
-    _NAME(ALLOW_INSTALL);
-    _NAME(SELECTBESTCOMPATDRV);
-    _NAME(REGISTERDEVICE);
-    _NAME(NEWDEVICEWIZARD_PRESELECT);
-    _NAME(NEWDEVICEWIZARD_SELECT);
-    _NAME(NEWDEVICEWIZARD_PREANALYZE);
-    _NAME(NEWDEVICEWIZARD_POSTANALYZE);
-    _NAME(NEWDEVICEWIZARD_FINISHINSTALL);
-    _NAME(INSTALLINTERFACES);
-    _NAME(DETECTCANCEL);
-    _NAME(REGISTER_COINSTALLERS);
-    _NAME(ADDPROPERTYPAGE_ADVANCED);
-    _NAME(ADDPROPERTYPAGE_BASIC);
-    _NAME(TROUBLESHOOTER);
-    _NAME(POWERMESSAGEWAKE);
-    default:
-        break;
-    }
-
-    return "UNKNOWN";
-
-#undef  _NAME
-}
-
-static BOOLEAN
-ClearUnplugRequest(
-    IN  PTCHAR      ClassName
-    )
-{
-    HKEY            UnplugKey;
-    HRESULT         Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         UNPLUG_KEY,
-                         0,
-                         KEY_ALL_ACCESS,
-                         &UnplugKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    Error = RegDeleteValue(UnplugKey, ClassName);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    RegCloseKey(UnplugKey);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(UnplugKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-AllowUpdate(
-    IN  PTCHAR      DriverName,
-    OUT PBOOLEAN    Allow
-    )
-{
-    TCHAR           ServiceKeyName[MAX_PATH];
-    HKEY            ServiceKey;
-    HRESULT         Result;
-    HRESULT         Error;
-    DWORD           ValueLength;
-    DWORD           Value;
-    DWORD           Type;
-
-    Log("====> (%s)", DriverName);
-
-    Result = StringCbPrintf(ServiceKeyName,
-                            MAX_PATH,
-                            SERVICES_KEY "\\%s",
-                            DriverName);
-    assert(SUCCEEDED(Result));
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         ServiceKeyName,
-                         0,
-                         KEY_READ,
-                         &ServiceKey);
-    if (Error != ERROR_SUCCESS) {
-        if (Error == ERROR_FILE_NOT_FOUND) {
-            Value = 1;
-            goto done;
-        }
-
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    ValueLength = sizeof (Value);
-
-    Error = RegQueryValueEx(ServiceKey,
-                            "AllowUpdate",
-                            NULL,
-                            &Type,
-                            (LPBYTE)&Value,
-                            &ValueLength);
-    if (Error != ERROR_SUCCESS) {
-        if (Error == ERROR_FILE_NOT_FOUND) {
-            Type = REG_DWORD;
-            Value = 1;
-        } else {
-            SetLastError(Error);
-            goto fail2;
-        }
-    }
-
-    if (Type != REG_DWORD) {
-        SetLastError(ERROR_BAD_FORMAT);
-        goto fail3;
-    }
-
-    RegCloseKey(ServiceKey);
-
-done:
-    if (Value == 0) {
-        Log("DISALLOWED");
-        *Allow = FALSE;
-    }
-
-    Log("<====");
-
-    return TRUE;
-
-fail3:
-    Log("fail3");
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(ServiceKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-AllowInstall(
-    OUT PBOOLEAN    Allow
-    )
-{
-    BOOLEAN         Success;
-    HRESULT         Error;
-
-    Log("====>");
-
-    *Allow = TRUE;
-
-    Success = AllowUpdate("XENVKBD", Allow);
-    if (!Success)
-        goto fail1;
-
-    Log("<====");
-
-    return TRUE;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-OpenEnumKey(
-    OUT PHKEY   EnumKey
-    )
-{
-    HRESULT     Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         ENUM_KEY,
-                         0,
-                         KEY_READ,
-                         EnumKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    return TRUE;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-OpenBusKey(
-    IN  PTCHAR  BusKeyName,
-    OUT PHKEY   BusKey
-    )
-{
-    BOOLEAN     Success;
-    HKEY        EnumKey;
-    HRESULT     Error;
-
-    Success = OpenEnumKey(&EnumKey);
-    if (!Success)
-        goto fail1;
-
-    Error = RegOpenKeyEx(EnumKey,
-                         BusKeyName,
-                         0,
-                         KEY_READ,
-                         BusKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    RegCloseKey(EnumKey);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(EnumKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-OpenDeviceKey(
-    IN  PTCHAR  BusKeyName,
-    IN  PTCHAR  DeviceKeyName,
-    OUT PHKEY   DeviceKey
-    )
-{
-    BOOLEAN     Success;
-    HKEY        BusKey;
-    HRESULT     Error;
-
-    Success = OpenBusKey(BusKeyName, &BusKey);
-    if (!Success)
-        goto fail1;
-
-    Error = RegOpenKeyEx(BusKey,
-                         DeviceKeyName,
-                         0,
-                         KEY_READ,
-                         DeviceKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    RegCloseKey(BusKey);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(BusKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-GetDriverKeyName(
-    IN  HKEY    DeviceKey,
-    OUT PTCHAR  *Name
-    )
-{
-    HRESULT     Error;
-    DWORD       SubKeys;
-    DWORD       MaxSubKeyLength;
-    DWORD       SubKeyLength;
-    PTCHAR      SubKeyName;
-    DWORD       Index;
-    HKEY        SubKey;
-    PTCHAR      DriverKeyName;
-
-    Error = RegQueryInfoKey(DeviceKey,
-                            NULL,
-                            NULL,
-                            NULL,
-                            &SubKeys,
-                            &MaxSubKeyLength,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    SubKeyLength = MaxSubKeyLength + sizeof (TCHAR);
-
-    SubKeyName = malloc(SubKeyLength);
-    if (SubKeyName == NULL)
-        goto fail2;
-
-    SubKey = NULL;
-    DriverKeyName = NULL;
-
-    for (Index = 0; Index < SubKeys; Index++) {
-        DWORD       MaxValueLength;
-        DWORD       DriverKeyNameLength;
-        DWORD       Type;
-
-        SubKeyLength = MaxSubKeyLength + sizeof (TCHAR);
-        memset(SubKeyName, 0, SubKeyLength);
-
-        Error = RegEnumKeyEx(DeviceKey,
-                             Index,
-                             (LPTSTR)SubKeyName,
-                             &SubKeyLength,
-                             NULL,
-                             NULL,
-                             NULL,
-                             NULL);
-        if (Error != ERROR_SUCCESS) {
-            SetLastError(Error);
-            goto fail3;
-        }
-
-        Error = RegOpenKeyEx(DeviceKey,
-                             SubKeyName,
-                             0,
-                             KEY_READ,
-                             &SubKey);
-        if (Error != ERROR_SUCCESS) {
-            SubKey = NULL;
-            continue;
-        }
-
-        Error = RegQueryInfoKey(SubKey,
-                                NULL,
-                                NULL,
-                                NULL,
-                                NULL,
-                                NULL,
-                                NULL,
-                                NULL,
-                                NULL,
-                                &MaxValueLength,
-                                NULL,
-                                NULL);
-        if (Error != ERROR_SUCCESS) {
-            SetLastError(Error);
-            goto fail4;
-        }
-
-        DriverKeyNameLength = MaxValueLength + sizeof (TCHAR);
-
-        DriverKeyName = calloc(1, DriverKeyNameLength);
-        if (DriverKeyName == NULL)
-            goto fail5;
-
-        Error = RegQueryValueEx(SubKey,
-                                "Driver",
-                                NULL,
-                                &Type,
-                                (LPBYTE)DriverKeyName,
-                                &DriverKeyNameLength);
-        if (Error == ERROR_SUCCESS &&
-            Type == REG_SZ)
-            break;
-
-        free(DriverKeyName);
-        DriverKeyName = NULL;
-
-        RegCloseKey(SubKey);
-        SubKey = NULL;
-    }
-
-    Log("%s", (DriverKeyName != NULL) ? DriverKeyName : "none found");
-
-    if (SubKey != NULL)
-        RegCloseKey(SubKey);
-
-    free(SubKeyName);
-
-    *Name = DriverKeyName;
-    return TRUE;
-
-fail5:
-    Log("fail5");
-
-fail4:
-    Log("fail4");
-
-    if (SubKey != NULL)
-        RegCloseKey(SubKey);
-
-fail3:
-    Log("fail3");
-
-    free(SubKeyName);
-
-fail2:
-    Log("fail2");
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-OpenClassKey(
-    OUT PHKEY   ClassKey
-    )
-{
-    HRESULT     Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         CLASS_KEY,
-                         0,
-                         KEY_READ,
-                         ClassKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    return TRUE;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-OpenDriverKey(
-    IN  PTCHAR  DriverKeyName,
-    OUT PHKEY   DriverKey
-    )
-{
-    BOOLEAN     Success;
-    HKEY        ClassKey;
-    HRESULT     Error;
-
-    Success = OpenClassKey(&ClassKey);
-    if (!Success)
-        goto fail1;
-
-    Error = RegOpenKeyEx(ClassKey,
-                         DriverKeyName,
-                         0,
-                         KEY_READ,
-                         DriverKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    RegCloseKey(ClassKey);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(ClassKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-#define DEFINE_REVISION(_N, _H, _ST, _SU)   \
-    (_N)
-
-static DWORD    DeviceRevision[] = {
-    DEFINE_REVISION_TABLE
-};
-
-#undef DEFINE_REVISION
-
-static BOOLEAN
-SupportDeviceID(
-    IN  PTCHAR      DeviceID
-    )
-{
-    unsigned int    Revision;
-    int             Count;
-    DWORD           Index;
-    HRESULT         Error;
-
-    DeviceID = strrchr(DeviceID, '&');
-    assert(DeviceID != NULL);
-    DeviceID++;
-
-    Count = sscanf_s(DeviceID,
-                     "REV_%8x",
-                     &Revision);
-    if (Count != 1) {
-        SetLastError(ERROR_BAD_FORMAT);
-        goto fail1;
-    }
-
-    for (Index = 0; Index < ARRAYSIZE(DeviceRevision); Index++) {
-        if (Revision == DeviceRevision[Index])
-            goto found;
-    }
-
-    SetLastError(ERROR_FILE_NOT_FOUND);
-    goto fail2;
-
-found:
-    Log("%x", Revision);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-GetMatchingDeviceID(
-    IN  HKEY    DriverKey,
-    OUT PTCHAR  *MatchingDeviceID
-    )
-{
-    HRESULT     Error;
-    DWORD       MaxValueLength;
-    DWORD       MatchingDeviceIDLength;
-    DWORD       Type;
-    DWORD       Index;
-
-    Error = RegQueryInfoKey(DriverKey,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            &MaxValueLength,
-                            NULL,
-                            NULL);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    MatchingDeviceIDLength = MaxValueLength + sizeof (TCHAR);
-
-    *MatchingDeviceID = calloc(1, MatchingDeviceIDLength);
-    if (*MatchingDeviceID == NULL)
-        goto fail2;
-
-    Error = RegQueryValueEx(DriverKey,
-                            "MatchingDeviceId",
-                            NULL,
-                            &Type,
-                            (LPBYTE)*MatchingDeviceID,
-                            &MatchingDeviceIDLength);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail3;
-    }
-
-    if (Type != REG_SZ) {
-        SetLastError(ERROR_BAD_FORMAT);
-        goto fail4;
-    }
-
-    for (Index = 0; Index < strlen(*MatchingDeviceID); Index++)
-        (*MatchingDeviceID)[Index] = (CHAR)toupper((*MatchingDeviceID)[Index]);
-
-    Log("%s", *MatchingDeviceID);
-
-    return TRUE;
-
-fail4:
-    Log("fail4");
-
-fail3:
-    Log("fail3");
-
-    free(*MatchingDeviceID);
-
-fail2:
-    Log("fail2");
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-SupportChildDrivers(
-    VOID
-    )
-{
-    BOOLEAN     Success;
-    HKEY        XenbusKey;
-    HRESULT     Error;
-    DWORD       SubKeys;
-    DWORD       MaxSubKeyLength;
-    DWORD       SubKeyLength;
-    PTCHAR      SubKeyName;
-    HKEY        DeviceKey;
-    PTCHAR      DriverKeyName;
-    HKEY        DriverKey;
-    PTCHAR      MatchingDeviceID;
-    DWORD       Index;
-
-    Log("====>");
-
-    Success = OpenBusKey("XENVKBD", &XenbusKey);
-    if (!Success) {
-        // If there is no key then this must be a fresh installation
-        if (GetLastError() == ERROR_FILE_NOT_FOUND)
-            goto done;
-
-        goto fail1;
-    }
-
-    Error = RegQueryInfoKey(XenbusKey,
-                            NULL,
-                            NULL,
-                            NULL,
-                            &SubKeys,
-                            &MaxSubKeyLength,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL,
-                            NULL);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    SubKeyLength = MaxSubKeyLength + sizeof (TCHAR);
-
-    SubKeyName = malloc(SubKeyLength);
-    if (SubKeyName == NULL)
-        goto fail3;
-
-    for (Index = 0; Index < SubKeys; Index++) {
-        SubKeyLength = MaxSubKeyLength + sizeof (TCHAR);
-        memset(SubKeyName, 0, SubKeyLength);
-
-        Error = RegEnumKeyEx(XenbusKey,
-                             Index,
-                             (LPTSTR)SubKeyName,
-                             &SubKeyLength,
-                             NULL,
-                             NULL,
-                             NULL,
-                             NULL);
-        if (Error != ERROR_SUCCESS) {
-            SetLastError(Error);
-            goto fail4;
-        }
-
-        Success = OpenDeviceKey("XENVKBD", SubKeyName, &DeviceKey);
-        if (!Success)
-            goto fail5;
-
-        Success = GetDriverKeyName(DeviceKey, &DriverKeyName);
-        if (!Success)
-            goto fail6;
-
-        if (DriverKeyName == NULL)
-            goto loop1;
-
-        Success = OpenDriverKey(DriverKeyName, &DriverKey);
-        if (!Success)
-            goto loop2;
-
-        Success = GetMatchingDeviceID(DriverKey, &MatchingDeviceID);
-        if (!Success)
-            goto loop3;
-
-        Success = SupportDeviceID(MatchingDeviceID);
-        if (!Success)
-            goto fail7;
-
-        free(MatchingDeviceID);
-
-    loop3:
-        RegCloseKey(DriverKey);
-
-    loop2:
-        free(DriverKeyName);
-
-    loop1:
-        RegCloseKey(DeviceKey);
-    }
-
-    free(SubKeyName);
-
-    RegCloseKey(XenbusKey);
-
-done:
-    Log("<====");
-
-    return TRUE;
-
-fail7:
-    Log("fail7");
-
-    free(MatchingDeviceID);
-
-    RegCloseKey(DriverKey);
-
-    free(DriverKeyName);
-
-fail6:
-    Log("fail6");
-
-    RegCloseKey(DeviceKey);
-
-fail5:
-    Log("fail5");
-
-fail4:
-    Log("fail4");
-
-    free(SubKeyName);
-
-fail3:
-    Log("fail3");
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(XenbusKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static HRESULT
-DifInstallPreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-    BOOLEAN                         Success;
-    BOOLEAN                         Allow;
-
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("====>");
-
-    Success = AllowInstall(&Allow);
-    if (!Success)
-        goto fail1;
-
-    if (!Allow) {
-        SetLastError(ERROR_ACCESS_DENIED);
-        goto fail2;
-    }
-
-    Success = SupportChildDrivers();
-    if (!Success)
-        goto fail3;
-
-    Log("<====");
-
-    return NO_ERROR;
-
-fail3:
-    Log("fail3");
-
-fail2:
-    Log("fail2");
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-static HRESULT
-DifInstallPostProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE HRESULT
-DifInstall(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    SP_DEVINSTALL_PARAMS            DeviceInstallParams;
-    HRESULT                         Error;
-
-    DeviceInstallParams.cbSize = sizeof (DeviceInstallParams);
-
-    if (!SetupDiGetDeviceInstallParams(DeviceInfoSet,
-                                       DeviceInfoData,
-                                       &DeviceInstallParams))
-        goto fail1;
-
-    Log("Flags = %08x", DeviceInstallParams.Flags);
-
-    if (!Context->PostProcessing) {
-        Error = DifInstallPreProcess(DeviceInfoSet, DeviceInfoData, Context);
-
-        if (Error == NO_ERROR)
-            Error = ERROR_DI_POSTPROCESSING_REQUIRED; 
-    } else {
-        Error = Context->InstallResult;
-        
-        if (Error == NO_ERROR) {
-            (VOID) DifInstallPostProcess(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            PTCHAR  Message;
-
-            Message = GetErrorMessage(Error);
-            Log("NOT RUNNING (DifInstallPreProcess Error: %s)", Message);
-            LocalFree(Message);
-        }
-
-        Error = NO_ERROR; 
-    }
-
-    return Error;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-static HRESULT
-DifRemovePreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR; 
-}
-
-static HRESULT
-DifRemovePostProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE HRESULT
-DifRemove(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    SP_DEVINSTALL_PARAMS            DeviceInstallParams;
-    HRESULT                         Error;
-
-    DeviceInstallParams.cbSize = sizeof (DeviceInstallParams);
-
-    if (!SetupDiGetDeviceInstallParams(DeviceInfoSet,
-                                       DeviceInfoData,
-                                       &DeviceInstallParams))
-        goto fail1;
-
-    Log("Flags = %08x", DeviceInstallParams.Flags);
-
-    if (!Context->PostProcessing) {
-        Error = DifRemovePreProcess(DeviceInfoSet, DeviceInfoData, Context);
-
-        if (Error == NO_ERROR)
-            Error = ERROR_DI_POSTPROCESSING_REQUIRED; 
-    } else {
-        Error = Context->InstallResult;
-        
-        if (Error == NO_ERROR) {
-            (VOID) DifRemovePostProcess(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            PTCHAR  Message;
-
-            Message = GetErrorMessage(Error);
-            Log("NOT RUNNING (DifRemovePreProcess Error: %s)", Message);
-            LocalFree(Message);
-        }
-
-        Error = NO_ERROR; 
-    }
-
-    return Error;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-DWORD CALLBACK
-Entry(
-    IN  DI_FUNCTION                 Function,
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-
-    Log("%s (%s) ===>",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    if (!Context->PostProcessing) {
-        Log("%s PreProcessing",
-            __FunctionName(Function));
-    } else {
-        Log("%s PostProcessing (%08x)",
-            __FunctionName(Function),
-            Context->InstallResult);
-    }
-
-    switch (Function) {
-    case DIF_INSTALLDEVICE: {
-        SP_DRVINFO_DATA         DriverInfoData;
-        BOOLEAN                 DriverInfoAvailable;
-
-        DriverInfoData.cbSize = sizeof (DriverInfoData);
-        DriverInfoAvailable = SetupDiGetSelectedDriver(DeviceInfoSet,
-                                                       DeviceInfoData,
-                                                       &DriverInfoData) ?
-                              TRUE :
-                              FALSE;
-
-        // If there is no driver information then the NULL driver is being
-        // installed. Treat this as we would a DIF_REMOVE.
-        Error = (DriverInfoAvailable) ?
-                DifInstall(DeviceInfoSet, DeviceInfoData, Context) :
-                DifRemove(DeviceInfoSet, DeviceInfoData, Context);
-        break;
-    }
-    case DIF_REMOVE:
-        Error = DifRemove(DeviceInfoSet, DeviceInfoData, Context);
-        break;
-    default:
-        if (!Context->PostProcessing) {
-            Error = NO_ERROR;
-        } else {
-            Error = Context->InstallResult;
-        }
-
-        break;
-    }
-
-    Log("%s (%s) <===",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    return (DWORD)Error;
-}
-
-DWORD CALLBACK
-Version(
-    IN  HWND        Window,
-    IN  HINSTANCE   Module,
-    IN  PTCHAR      Buffer,
-    IN  INT         Reserved
-    )
-{
-    UNREFERENCED_PARAMETER(Window);
-    UNREFERENCED_PARAMETER(Module);
-    UNREFERENCED_PARAMETER(Buffer);
-    UNREFERENCED_PARAMETER(Reserved);
-
-    Log("%s (%s)",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    return NO_ERROR;
-}
-
-static FORCEINLINE const CHAR *
-__ReasonName(
-    IN  DWORD       Reason
-    )
-{
-#define _NAME(_Reason)          \
-        case DLL_ ## _Reason:   \
-            return #_Reason;
-
-    switch (Reason) {
-    _NAME(PROCESS_ATTACH);
-    _NAME(PROCESS_DETACH);
-    _NAME(THREAD_ATTACH);
-    _NAME(THREAD_DETACH);
-    default:
-        break;
-    }
-
-    return "UNKNOWN";
-
-#undef  _NAME
-}
-
-BOOL WINAPI
-DllMain(
-    IN  HINSTANCE   Module,
-    IN  DWORD       Reason,
-    IN  PVOID       Reserved
-    )
-{
-    UNREFERENCED_PARAMETER(Module);
-    UNREFERENCED_PARAMETER(Reserved);
-
-    Log("%s (%s): %s",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR,
-        __ReasonName(Reason));
-
-    return TRUE;
-}
diff --git a/src/coinst/xenvkbd_coinst.def b/src/coinst/xenvkbd_coinst.def
deleted file mode 100644
index 71d8f65..0000000
--- a/src/coinst/xenvkbd_coinst.def
+++ /dev/null
@@ -1,38 +0,0 @@
-; Copyright (c) Xen Project.
-; Copyright (c) Cloud Software Group, Inc.
-; All rights reserved.
-; 
-; Redistribution and use in source and binary forms, 
-; with or without modification, are permitted provided 
-; that the following conditions are met:
-; 
-; *   Redistributions of source code must retain the above 
-;     copyright notice, this list of conditions and the 
-;     following disclaimer.
-; *   Redistributions in binary form must reproduce the above 
-;     copyright notice, this list of conditions and the 
-;     following disclaimer in the documentation and/or other 
-;     materials provided with the distribution.
-; 
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
-; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
-; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
-; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
-; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
-; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
-; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
-; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
-; SUCH DAMAGE.
-
-LIBRARY  XENBUS_COINST
-
-EXPORTS   
-   Entry 
-   Version
-
-   DllMain PRIVATE
diff --git a/src/coinst/xenvkbd_coinst.rc b/src/coinst/xenvkbd_coinst.rc
deleted file mode 100644
index fc56f69..0000000
--- a/src/coinst/xenvkbd_coinst.rc
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms,
- * with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * *   Redistributions of source code must retain the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer in the documentation and/or other
- *     materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-
-#include <windows.h>
-#include <ntverp.h>
-
-#undef VER_COMPANYNAME_STR
-#undef VER_PRODUCTNAME_STR
-#undef VER_PRODUCTVERSION
-#undef VER_PRODUCTVERSION_STR
-
-#include <version.h>
-
-#define VER_COMPANYNAME_STR         VENDOR_NAME_STR
-#define VER_LEGALCOPYRIGHT_STR      COPYRIGHT_STR
-
-#define VER_PRODUCTNAME_STR         "XENVKBD_COINST"
-#define VER_PRODUCTVERSION          MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
-#define VER_PRODUCTVERSION_STR      MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
-
-#define VER_INTERNALNAME_STR 	    "XENVKBD_COINST.DLL"
-#define VER_FILEVERSION_STR 	    MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
-#define VER_FILEDESCRIPTION_STR     "XENVKBD_COINST"
-#define VER_ORIGINALFILENAME_STR    "XENVKBD_COINST.DLL"
-#define VER_FILETYPE VFT_APP
-#define VER_FILESUBTYPE 0
-
-#include "common.ver"
diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj
index e75a21a..54be65f 100644
--- a/vs2015/package/package.vcxproj
+++ b/vs2015/package/package.vcxproj
@@ -41,9 +41,6 @@
     <ProjectReference Include="..\xenvkbd\xenvkbd.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenvkbd_coinst\xenvkbd_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenvkbd.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2015/xenvkbd.sln b/vs2015/xenvkbd.sln
index e10082c..b2b15b7 100644
--- a/vs2015/xenvkbd.sln
+++ b/vs2015/xenvkbd.sln
@@ -9,17 +9,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd", "xenvkbd\xenvkbd.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd_coinst", "xenvkbd_coinst\xenvkbd_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -50,26 +43,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj b/vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj
deleted file mode 100644
index 23876e1..0000000
--- a/vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenvkbd_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvkbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvkbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user b/vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
deleted file mode 100644
index 185ea97..0000000
--- a/vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenvkbd.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2017/package/package.vcxproj b/vs2017/package/package.vcxproj
index 6d2ea80..9f96be7 100644
--- a/vs2017/package/package.vcxproj
+++ b/vs2017/package/package.vcxproj
@@ -41,9 +41,6 @@
     <ProjectReference Include="..\xenvkbd\xenvkbd.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenvkbd_coinst\xenvkbd_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenvkbd.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2017/xenvkbd.sln b/vs2017/xenvkbd.sln
index 3159380..cbadf04 100644
--- a/vs2017/xenvkbd.sln
+++ b/vs2017/xenvkbd.sln
@@ -6,17 +6,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd", "xenvkbd\xenvkbd.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd_coinst", "xenvkbd_coinst\xenvkbd_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -47,26 +40,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj b/vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj
deleted file mode 100644
index 82b1bb1..0000000
--- a/vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenvkbd_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvkbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvkbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user b/vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
deleted file mode 100644
index 185ea97..0000000
--- a/vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenvkbd.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2019/package/package.vcxproj b/vs2019/package/package.vcxproj
index 612938f..61bd47d 100644
--- a/vs2019/package/package.vcxproj
+++ b/vs2019/package/package.vcxproj
@@ -46,9 +46,6 @@
     <ProjectReference Include="..\xenvkbd\xenvkbd.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenvkbd_coinst\xenvkbd_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenvkbd.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2019/xenvkbd.sln b/vs2019/xenvkbd.sln
index 5217373..bcc6a7d 100644
--- a/vs2019/xenvkbd.sln
+++ b/vs2019/xenvkbd.sln
@@ -9,17 +9,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd", "xenvkbd\xenvkbd.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd_coinst", "xenvkbd_coinst\xenvkbd_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -50,26 +43,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj b/vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj
deleted file mode 100644
index a610583..0000000
--- a/vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;26052;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenvkbd_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvkbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvkbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user b/vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
deleted file mode 100644
index 185ea97..0000000
--- a/vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenvkbd.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2022/package/package.vcxproj b/vs2022/package/package.vcxproj
index 9f836b7..4d1af30 100644
--- a/vs2022/package/package.vcxproj
+++ b/vs2022/package/package.vcxproj
@@ -46,9 +46,6 @@
     <ProjectReference Include="..\xenvkbd\xenvkbd.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenvkbd_coinst\xenvkbd_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenvkbd.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2022/xenvkbd.sln b/vs2022/xenvkbd.sln
index 5217373..bcc6a7d 100644
--- a/vs2022/xenvkbd.sln
+++ b/vs2022/xenvkbd.sln
@@ -9,17 +9,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd", "xenvkbd\xenvkbd.
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvkbd_coinst", "xenvkbd_coinst\xenvkbd_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -50,26 +43,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj b/vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj
deleted file mode 100644
index a610583..0000000
--- a/vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;26052;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenvkbd_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvkbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvkbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user b/vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
deleted file mode 100644
index 185ea97..0000000
--- a/vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenvkbd.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:53:24 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:53:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611523.951063 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIQO-00069K-7b; Mon, 02 Oct 2023 12:53:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611523.951063; Mon, 02 Oct 2023 12:53:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIQO-00069D-55; Mon, 02 Oct 2023 12:53:24 +0000
Received: by outflank-mailman (input) for mailman id 611523;
 Mon, 02 Oct 2023 12:53:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIQM-000673-Pi
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:53:22 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a98cbe27-6122-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 14:53:19 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4053c6f0db8so159448255e9.3
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:53:19 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 r17-20020adfda51000000b00327c79ca7c6sm3125055wrl.80.2023.10.02.05.53.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:53:18 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a98cbe27-6122-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251199; x=1696855999; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=qwavGouYRMSiVNBTuveyFgoEfzPXFJknUDTjPESI/D8=;
        b=JvxKSw0U+8nEDsDBINYvUpffFfwcqSieFaVcFEFUW2GiuiHWqFOiiUrGu6uLYAGhQQ
         5JB//zWn/0qownuJ3WthXqS9JAZdRo+AIl7nTSIHOIgf8o+iwcu5AEhh/GL81MtqBZKD
         O3rNP6ewpzLJ7hd8AXsIHPKyCwTbTMftwsPZ0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251199; x=1696855999;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qwavGouYRMSiVNBTuveyFgoEfzPXFJknUDTjPESI/D8=;
        b=RSVdvhVMlRHpAo1rRjZt06jeNllyOA6fTkyrc4YOCXwk+hAzX2bnB3vDcUM2PX3MKz
         aiIkOJEpqz0zDGxPRRuI53c1UcSOvOt+6j1o1WMSRbgDk4c3y2i5/Cfu8a8xZGU/8UTV
         +FPhk5m6DtyiNetsG0cOl9aF8Rz2c1w4eYGr/LuUqk6uIdkyczyhSzr5Mc53aGrEuwb+
         Ct1xgktzoXQMDOO0PRECW7zhpjN/5E+y75UTGfB3kJA54/b6BI+b6EiAAG6FD8PcxWCy
         4LqNpXSvbi9QUvjY7h0MPngRtadfwX0lFC52qMJFWht6LJjU/+26oCr15Hz50ZPI8Q7q
         i0ww==
X-Gm-Message-State: AOJu0YxKzE2HL0NX/FxSvEB0t4PbMfRIVl4R6X+4SG1MP0SVWyX/TYMP
	dLplgTMdwN6CdQFPJOQWZtNXRwGSv4i9hpmROjxw
X-Google-Smtp-Source: AGHT+IHMoKGvKa4AMWUVyX/1cyXeHeRidw56IWtbc9g8rU6zPI85JhvVS9L2x4ccxIckhnDu0UaFDg==
X-Received: by 2002:adf:ee12:0:b0:31f:f99c:600a with SMTP id y18-20020adfee12000000b0031ff99c600amr9224928wrn.46.1696251198987;
        Mon, 02 Oct 2023 05:53:18 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 1/2] Remove CoInstaller from INF
Date: Mon,  2 Oct 2023 13:53:07 +0100
Message-ID: <20231002125309.977-1-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Windows 11 22H2 WHQL requires INF files pass "InfVerif /k", which highlights
several issues
- PnpLockdown=1 needs to be specified
- CoInstallers are no longer allowed

The CoInstaller has several functions that will need alternative solutions:
- The AllowUpdate mechanism is no longer possible
- The safety checks that ensure interface versionings remain compatible

Interface safety checks need to be handled by changes to child device bindings,
and assuming upgrade via emulated devices is safe.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/xenhid.inf | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/src/xenhid.inf b/src/xenhid.inf
index 94b0bec..90efc9a 100644
--- a/src/xenhid.inf
+++ b/src/xenhid.inf
@@ -38,20 +38,16 @@ Provider=%Vendor%
 CatalogFile=xenhid.cat
 DriverVer=@INF_DATE@,@MAJOR_VERSION@.@MINOR_VERSION@.@MICRO_VERSION@.@BUILD_NUMBER@
 DriverPackageDisplayName=%DiskDesc%
+PnpLockdown=1
 
 [DestinationDirs] 
 DefaultDestDir=12 
-CoInst_CopyFiles=11
 
 [SourceDisksNames]
 0=%DiskDesc%
 
 [SourceDisksFiles]
 xenhid.sys=0,,
-xenhid_coinst.dll=0,,
-
-[CoInst_CopyFiles]
-xenhid_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenhid_coinst.dll
 
 [Manufacturer] 
 %Vendor%=Inst,NT@INF_ARCH@
@@ -85,13 +81,6 @@ AddReg = XenHid_Parameters
 HKR,"Parameters",,0x00000010
 HKR,"Parameters","RequestKey",0x00000000,%RequestKey%
 
-[XenHid_Inst.CoInstallers]
-CopyFiles=CoInst_CopyFiles
-AddReg=CoInst_AddReg
-
-[CoInst_AddReg]
-HKR,,CoInstallers32,0x00010000,"xenhid_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,Entry"
-
 [Strings] 
 
 Vendor="@VENDOR_NAME@"
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 12:53:25 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 12:53:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611524.951068 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIQP-0006BE-9l; Mon, 02 Oct 2023 12:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611524.951068; Mon, 02 Oct 2023 12:53:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnIQP-0006B7-6j; Mon, 02 Oct 2023 12:53:25 +0000
Received: by outflank-mailman (input) for mailman id 611524;
 Mon, 02 Oct 2023 12:53:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1v1V=FQ=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qnIQM-0005ms-UC
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 12:53:23 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa1f6f95-6122-11ee-878e-cb3800f73035;
 Mon, 02 Oct 2023 14:53:20 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-32336a30d18so8276765f8f.2
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 05:53:21 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 r17-20020adfda51000000b00327c79ca7c6sm3125055wrl.80.2023.10.02.05.53.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Oct 2023 05:53:19 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa1f6f95-6122-11ee-878e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1696251200; x=1696856000; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/kGWElaSaifmIjPe47JyeziGrDYLd0DU/2v8fO0nW9s=;
        b=g7PkHpphZ7+K/n8N2w4SdTO+jnJ4w9zxZhUlziwGHKNrVsjxY6t9owki4gJmYQGoJo
         RRtaXrIWgO+gp2qmO5kKr+oxx1Srzdxp5cCMHmAp+L7QdKu9yiSPv3y/5k5ThDie1zex
         wWivVC0EVm/a1aK9GtoDDUfRiLv8mjchFasRc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696251200; x=1696856000;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/kGWElaSaifmIjPe47JyeziGrDYLd0DU/2v8fO0nW9s=;
        b=abhxxqY/3fgvwunHSqCxhYyu6MbtOmD/dbZkoRYlwxT0hxUHO7ksstGclsrxPOLK8J
         D82IonIVmWc4dYDOR0WFO7DCZliAK1kch+SrwDzLtmnGhhR52REatbaRYkbLMPRYM4Dv
         Ri3qfXnH3wsT8Q9v7GE/evNy48txNvkVxmsf/M/fx4nlObrZt8yjebcOzvC1BANq0m4/
         ylapLx/htGC8zFMVdyMZVMXbR/PtFyGDOzmj+0vGhwVh0vc9Q0rvA+jci0qFto58pc2u
         rFNaYzFp78zMnVD+fqsuUCaewPx23LTOkT/3G6q9Drf143lWy4peYorzZ6PF7ol7RLJF
         VWtA==
X-Gm-Message-State: AOJu0YyLEPmarnNu1KB9YHQ6Nmjsmt8l7F9C4Mwyb2zgX5/z3sJ4liW2
	Jy0E0I3ob7vwpIJKpr3EqIXOT0J2c9dZfEAeE6I/
X-Google-Smtp-Source: AGHT+IGrzcAXNXeAb8HJZ41f1Jn2l+wYrDhqu3nXhtZQwuLM0gFCQKAGJFwIb8oxjK/b3Q2jynN2Gg==
X-Received: by 2002:a05:6000:114b:b0:316:fc63:dfed with SMTP id d11-20020a056000114b00b00316fc63dfedmr8331030wrx.39.1696251199870;
        Mon, 02 Oct 2023 05:53:19 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH 2/2] Delete CoInstaller code
Date: Mon,  2 Oct 2023 13:53:08 +0100
Message-ID: <20231002125309.977-2-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
In-Reply-To: <20231002125309.977-1-owen.smith@cloud.com>
References: <20231002125309.977-1-owen.smith@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With the CoInstaller removed from the INF file, delete the CoInstaller
source code and projects.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/coinst/coinst.c                           | 593 ------------------
 src/coinst/xenhid_coinst.def                  |  38 --
 src/coinst/xenhid_coinst.rc                   |  58 --
 vs2015/package/package.vcxproj                |   3 -
 vs2015/xenhid.sln                             |  27 -
 vs2015/xenhid_coinst/xenhid_coinst.vcxproj    |  62 --
 .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
 vs2017/package/package.vcxproj                |   3 -
 vs2017/xenhid.sln                             |  27 -
 vs2017/xenhid_coinst/xenhid_coinst.vcxproj    |  62 --
 .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
 vs2019/package/package.vcxproj                |   3 -
 vs2019/xenhid.sln                             |  27 -
 vs2019/xenhid_coinst/xenhid_coinst.vcxproj    |  65 --
 .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
 vs2022/package/package.vcxproj                |   3 -
 vs2022/xenhid.sln                             |  27 -
 vs2022/xenhid_coinst/xenhid_coinst.vcxproj    |  65 --
 .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
 19 files changed, 1095 deletions(-)
 delete mode 100644 src/coinst/coinst.c
 delete mode 100644 src/coinst/xenhid_coinst.def
 delete mode 100644 src/coinst/xenhid_coinst.rc
 delete mode 100644 vs2015/xenhid_coinst/xenhid_coinst.vcxproj
 delete mode 100644 vs2015/xenhid_coinst/xenhid_coinst.vcxproj.user
 delete mode 100644 vs2017/xenhid_coinst/xenhid_coinst.vcxproj
 delete mode 100644 vs2017/xenhid_coinst/xenhid_coinst.vcxproj.user
 delete mode 100644 vs2019/xenhid_coinst/xenhid_coinst.vcxproj
 delete mode 100644 vs2019/xenhid_coinst/xenhid_coinst.vcxproj.user
 delete mode 100644 vs2022/xenhid_coinst/xenhid_coinst.vcxproj
 delete mode 100644 vs2022/xenhid_coinst/xenhid_coinst.vcxproj.user

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
deleted file mode 100644
index 2e2e2fa..0000000
--- a/src/coinst/coinst.c
+++ /dev/null
@@ -1,593 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, 
- * with or without modification, are permitted provided 
- * that the following conditions are met:
- * 
- * *   Redistributions of source code must retain the above 
- *     copyright notice, this list of conditions and the 
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above 
- *     copyright notice, this list of conditions and the 
- *     following disclaimer in the documentation and/or other 
- *     materials provided with the distribution.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
- * SUCH DAMAGE.
- */
-
-#include <windows.h>
-#include <setupapi.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <strsafe.h>
-#include <malloc.h>
-#include <assert.h>
-
-#include <version.h>
-
-#define stringify_literal(_text) #_text
-#define stringify(_text) stringify_literal(_text)
-#define __MODULE__ stringify(PROJECT)
-
-__user_code;
-
-#define MAXIMUM_BUFFER_SIZE 1024
-
-#define SERVICES_KEY "SYSTEM\\CurrentControlSet\\Services"
-
-static VOID
-#pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024'
-__Log(
-    IN  const CHAR  *Format,
-    IN  ...
-    )
-{
-    TCHAR               Buffer[MAXIMUM_BUFFER_SIZE];
-    va_list             Arguments;
-    size_t              Length;
-    SP_LOG_TOKEN        LogToken;
-    DWORD               Category;
-    DWORD               Flags;
-    HRESULT             Result;
-
-    va_start(Arguments, Format);
-    Result = StringCchVPrintf(Buffer, MAXIMUM_BUFFER_SIZE, Format, Arguments);
-    va_end(Arguments);
-
-    if (Result != S_OK && Result != STRSAFE_E_INSUFFICIENT_BUFFER)
-        return;
-
-    Result = StringCchLength(Buffer, MAXIMUM_BUFFER_SIZE, &Length);
-    if (Result != S_OK)
-        return;
-
-    LogToken = SetupGetThreadLogToken();
-    Category = TXTLOG_VENDOR;
-    Flags = TXTLOG_WARNING;
-
-    SetupWriteTextLog(LogToken, Category, Flags, Buffer);
-    Length = __min(MAXIMUM_BUFFER_SIZE - 1, Length + 2);
-
-    __analysis_assume(Length < MAXIMUM_BUFFER_SIZE);
-    __analysis_assume(Length >= 2);
-    Buffer[Length] = '\0';
-    Buffer[Length - 1] = '\n';
-    Buffer[Length - 2] = '\r';
-
-    OutputDebugString(Buffer);
-}
-
-#define Log(_Format, ...) \
-        __Log(__MODULE__ "|" __FUNCTION__ ": " _Format, __VA_ARGS__)
-
-static FORCEINLINE PTCHAR
-__GetErrorMessage(
-    IN  DWORD   Error
-    )
-{
-    PTCHAR      Message;
-    ULONG       Index;
-
-    if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                       FORMAT_MESSAGE_FROM_SYSTEM |
-                       FORMAT_MESSAGE_IGNORE_INSERTS,
-                       NULL,
-                       Error,
-                       MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                       (LPTSTR)&Message,
-                       0,
-                       NULL))
-        return NULL;
-
-    for (Index = 0; Message[Index] != '\0'; Index++) {
-        if (Message[Index] == '\r' || Message[Index] == '\n') {
-            Message[Index] = '\0';
-            break;
-        }
-    }
-
-    return Message;
-}
-
-static FORCEINLINE const CHAR *
-__FunctionName(
-    IN  DI_FUNCTION Function
-    )
-{
-#define _NAME(_Function)        \
-        case DIF_ ## _Function: \
-            return #_Function;
-
-    switch (Function) {
-    _NAME(INSTALLDEVICE);
-    _NAME(REMOVE);
-    _NAME(SELECTDEVICE);
-    _NAME(ASSIGNRESOURCES);
-    _NAME(PROPERTIES);
-    _NAME(FIRSTTIMESETUP);
-    _NAME(FOUNDDEVICE);
-    _NAME(SELECTCLASSDRIVERS);
-    _NAME(VALIDATECLASSDRIVERS);
-    _NAME(INSTALLCLASSDRIVERS);
-    _NAME(CALCDISKSPACE);
-    _NAME(DESTROYPRIVATEDATA);
-    _NAME(VALIDATEDRIVER);
-    _NAME(MOVEDEVICE);
-    _NAME(DETECT);
-    _NAME(INSTALLWIZARD);
-    _NAME(DESTROYWIZARDDATA);
-    _NAME(PROPERTYCHANGE);
-    _NAME(ENABLECLASS);
-    _NAME(DETECTVERIFY);
-    _NAME(INSTALLDEVICEFILES);
-    _NAME(ALLOW_INSTALL);
-    _NAME(SELECTBESTCOMPATDRV);
-    _NAME(REGISTERDEVICE);
-    _NAME(NEWDEVICEWIZARD_PRESELECT);
-    _NAME(NEWDEVICEWIZARD_SELECT);
-    _NAME(NEWDEVICEWIZARD_PREANALYZE);
-    _NAME(NEWDEVICEWIZARD_POSTANALYZE);
-    _NAME(NEWDEVICEWIZARD_FINISHINSTALL);
-    _NAME(INSTALLINTERFACES);
-    _NAME(DETECTCANCEL);
-    _NAME(REGISTER_COINSTALLERS);
-    _NAME(ADDPROPERTYPAGE_ADVANCED);
-    _NAME(ADDPROPERTYPAGE_BASIC);
-    _NAME(TROUBLESHOOTER);
-    _NAME(POWERMESSAGEWAKE);
-    default:
-        break;
-    }
-
-    return "UNKNOWN";
-
-#undef  _NAME
-}
-
-static BOOLEAN
-AllowUpdate(
-    IN  PTCHAR      DriverName,
-    OUT PBOOLEAN    Allow
-    )
-{
-    TCHAR           ServiceKeyName[MAX_PATH];
-    HKEY            ServiceKey;
-    HRESULT         Result;
-    HRESULT         Error;
-    DWORD           ValueLength;
-    DWORD           Value;
-    DWORD           Type;
-
-    Log("====> (%s)", DriverName);
-
-    Result = StringCbPrintf(ServiceKeyName,
-                            MAX_PATH,
-                            SERVICES_KEY "\\%s",
-                            DriverName);
-    assert(SUCCEEDED(Result));
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         ServiceKeyName,
-                         0,
-                         KEY_READ,
-                         &ServiceKey);
-    if (Error != ERROR_SUCCESS) {
-        if (Error == ERROR_FILE_NOT_FOUND) {
-            Value = 1;
-            goto done;
-        }
-
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    ValueLength = sizeof (Value);
-
-    Error = RegQueryValueEx(ServiceKey,
-                            "AllowUpdate",
-                            NULL,
-                            &Type,
-                            (LPBYTE)&Value,
-                            &ValueLength);
-    if (Error != ERROR_SUCCESS) {
-        if (Error == ERROR_FILE_NOT_FOUND) {
-            Type = REG_DWORD;
-            Value = 1;
-        } else {
-            SetLastError(Error);
-            goto fail2;
-        }
-    }
-
-    if (Type != REG_DWORD) {
-        SetLastError(ERROR_BAD_FORMAT);
-        goto fail3;
-    }
-
-    RegCloseKey(ServiceKey);
-
-done:
-    if (Value == 0) {
-        Log("DISALLOWED");
-        *Allow = FALSE;
-    }
-
-    Log("<====");
-
-    return TRUE;
-
-fail3:
-    Log("fail3");
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(ServiceKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-AllowInstall(
-    OUT PBOOLEAN    Allow
-    )
-{
-    BOOLEAN         Success;
-    HRESULT         Error;
-
-    Log("====>");
-
-    *Allow = TRUE;
-
-    Success = AllowUpdate("XENHID", Allow);
-    if (!Success)
-        goto fail1;
-
-    Log("<====");
-
-    return TRUE;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static FORCEINLINE HRESULT
-__DifInstallPreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-    BOOLEAN                         Success;
-    BOOLEAN                         Allow;
-
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("====>");
-
-    Success = AllowInstall(&Allow);
-    if (!Success)
-        goto fail1;
-
-    if (!Allow) {
-        SetLastError(ERROR_ACCESS_DENIED);
-        goto fail2;
-    }
-
-    Log("<====");
-
-    return NO_ERROR;
-
-fail2:
-    Log("fail2");
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-static FORCEINLINE HRESULT
-__DifInstallPostProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE HRESULT
-DifInstall(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-
-    if (!Context->PostProcessing) {
-        Error = __DifInstallPreProcess(DeviceInfoSet, DeviceInfoData, Context);
-        if (Error == NO_ERROR)
-            Error = ERROR_DI_POSTPROCESSING_REQUIRED; 
-    } else {
-        Error = Context->InstallResult;
-        
-        if (Error == NO_ERROR) {
-            (VOID) __DifInstallPostProcess(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            PTCHAR  Message;
-
-            Message = __GetErrorMessage(Error);
-            Log("NOT RUNNING (__DifInstallPreProcess Error: %s)", Message);
-            LocalFree(Message);
-        }
-    }
-
-    return Error;
-}
-
-static FORCEINLINE HRESULT
-__DifRemovePreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static FORCEINLINE HRESULT
-__DifRemovePostProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("<===>");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE HRESULT
-DifRemove(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-
-    if (!Context->PostProcessing) {
-        Error = __DifRemovePreProcess(DeviceInfoSet, DeviceInfoData, Context);
-
-        if (Error == NO_ERROR)
-            Error = ERROR_DI_POSTPROCESSING_REQUIRED; 
-    } else {
-        Error = Context->InstallResult;
-        
-        if (Error == NO_ERROR) {
-            (VOID) __DifRemovePostProcess(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            PTCHAR  Message;
-
-            Message = __GetErrorMessage(Error);
-            Log("NOT RUNNING (__DifRemovePreProcess Error: %s)", Message);
-            LocalFree(Message);
-        }
-    }
-
-    return Error;
-}
-
-DWORD CALLBACK
-Entry(
-    IN  DI_FUNCTION                 Function,
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-
-    Log("%s (%s) ===>",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    if (!Context->PostProcessing) {
-        Log("%s PreProcessing",
-            __FunctionName(Function));
-    } else {
-        Log("%s PostProcessing (%08x)",
-            __FunctionName(Function),
-            Context->InstallResult);
-    }
-
-    switch (Function) {
-    case DIF_INSTALLDEVICE: {
-        SP_DRVINFO_DATA         DriverInfoData;
-        BOOLEAN                 DriverInfoAvailable;
-
-        DriverInfoData.cbSize = sizeof (DriverInfoData);
-        DriverInfoAvailable = SetupDiGetSelectedDriver(DeviceInfoSet,
-                                                       DeviceInfoData,
-                                                       &DriverInfoData) ?
-                              TRUE :
-                              FALSE;
-
-        // The NET class installer will call DIF_REMOVE even in the event of
-        // a NULL driver add. However, the default installer (for the NULL
-        // driver) then fails for some reason so we squash the error in
-        // post-processing.
-        if (DriverInfoAvailable) {
-            Error = DifInstall(DeviceInfoSet, DeviceInfoData, Context);
-        } else {
-            if (!Context->PostProcessing) {
-                Error = ERROR_DI_POSTPROCESSING_REQUIRED;
-            } else {
-                Error = NO_ERROR;
-            }
-        }
-        break;
-    }
-    case DIF_REMOVE:
-        Error = DifRemove(DeviceInfoSet, DeviceInfoData, Context);
-        break;
-    default:
-        if (!Context->PostProcessing) {
-            Error = NO_ERROR;
-        } else {
-            Error = Context->InstallResult;
-        }
-
-        break;
-    }
-
-    Log("%s (%s) <===",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    return (DWORD)Error;
-}
-
-DWORD CALLBACK
-Version(
-    IN  HWND        Window,
-    IN  HINSTANCE   Module,
-    IN  PTCHAR      Buffer,
-    IN  INT         Reserved
-    )
-{
-    UNREFERENCED_PARAMETER(Window);
-    UNREFERENCED_PARAMETER(Module);
-    UNREFERENCED_PARAMETER(Buffer);
-    UNREFERENCED_PARAMETER(Reserved);
-
-    Log("%s (%s)",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR);
-
-    return NO_ERROR;
-}
-
-static FORCEINLINE const CHAR *
-__ReasonName(
-    IN  DWORD       Reason
-    )
-{
-#define _NAME(_Reason)          \
-        case DLL_ ## _Reason:   \
-            return #_Reason;
-
-    switch (Reason) {
-    _NAME(PROCESS_ATTACH);
-    _NAME(PROCESS_DETACH);
-    _NAME(THREAD_ATTACH);
-    _NAME(THREAD_DETACH);
-    default:
-        break;
-    }
-
-    return "UNKNOWN";
-
-#undef  _NAME
-}
-
-BOOL WINAPI
-DllMain(
-    IN  HINSTANCE   Module,
-    IN  DWORD       Reason,
-    IN  PVOID       Reserved
-    )
-{
-    UNREFERENCED_PARAMETER(Module);
-    UNREFERENCED_PARAMETER(Reserved);
-
-    Log("%s (%s): %s",
-        MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR,
-        DAY_STR "/" MONTH_STR "/" YEAR_STR,
-        __ReasonName(Reason));
-
-    return TRUE;
-}
diff --git a/src/coinst/xenhid_coinst.def b/src/coinst/xenhid_coinst.def
deleted file mode 100644
index 71d8f65..0000000
--- a/src/coinst/xenhid_coinst.def
+++ /dev/null
@@ -1,38 +0,0 @@
-; Copyright (c) Xen Project.
-; Copyright (c) Cloud Software Group, Inc.
-; All rights reserved.
-; 
-; Redistribution and use in source and binary forms, 
-; with or without modification, are permitted provided 
-; that the following conditions are met:
-; 
-; *   Redistributions of source code must retain the above 
-;     copyright notice, this list of conditions and the 
-;     following disclaimer.
-; *   Redistributions in binary form must reproduce the above 
-;     copyright notice, this list of conditions and the 
-;     following disclaimer in the documentation and/or other 
-;     materials provided with the distribution.
-; 
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
-; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
-; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
-; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
-; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
-; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
-; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
-; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
-; SUCH DAMAGE.
-
-LIBRARY  XENBUS_COINST
-
-EXPORTS   
-   Entry 
-   Version
-
-   DllMain PRIVATE
diff --git a/src/coinst/xenhid_coinst.rc b/src/coinst/xenhid_coinst.rc
deleted file mode 100644
index f9dba02..0000000
--- a/src/coinst/xenhid_coinst.rc
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms,
- * with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * *   Redistributions of source code must retain the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer.
- * *   Redistributions in binary form must reproduce the above
- *     copyright notice, this list of conditions and the
- *     following disclaimer in the documentation and/or other
- *     materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-
-#include <windows.h>
-#include <ntverp.h>
-
-#undef VER_COMPANYNAME_STR
-#undef VER_PRODUCTNAME_STR
-#undef VER_PRODUCTVERSION
-#undef VER_PRODUCTVERSION_STR
-
-#include <version.h>
-
-#define VER_COMPANYNAME_STR         VENDOR_NAME_STR
-#define VER_LEGALCOPYRIGHT_STR      COPYRIGHT_STR
-
-#define VER_PRODUCTNAME_STR         "XENHID_COINST"
-#define VER_PRODUCTVERSION          MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
-#define VER_PRODUCTVERSION_STR      MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
-
-#define VER_INTERNALNAME_STR 	    "XENHID_COINST.DLL"
-#define VER_FILEVERSION_STR 	    MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
-#define VER_FILEDESCRIPTION_STR     "XENHID_COINST"
-#define VER_ORIGINALFILENAME_STR    "XENHID_COINST.DLL"
-#define VER_FILETYPE VFT_APP
-#define VER_FILESUBTYPE 0
-
-#include "common.ver"
diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj
index e38197e..eb91e8f 100644
--- a/vs2015/package/package.vcxproj
+++ b/vs2015/package/package.vcxproj
@@ -41,9 +41,6 @@
     <ProjectReference Include="..\xenhid\xenhid.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenhid_coinst\xenhid_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenhid.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2015/xenhid.sln b/vs2015/xenhid.sln
index 4a4e1cc..4df6423 100644
--- a/vs2015/xenhid.sln
+++ b/vs2015/xenhid.sln
@@ -9,17 +9,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid", "xenhid\xenhid.vcx
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid_coinst", "xenhid_coinst\xenhid_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -50,26 +43,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2015/xenhid_coinst/xenhid_coinst.vcxproj b/vs2015/xenhid_coinst/xenhid_coinst.vcxproj
deleted file mode 100644
index 46df4c3..0000000
--- a/vs2015/xenhid_coinst/xenhid_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenhid_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenhid_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenhid_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2015/xenhid_coinst/xenhid_coinst.vcxproj.user b/vs2015/xenhid_coinst/xenhid_coinst.vcxproj.user
deleted file mode 100644
index eca4a5d..0000000
--- a/vs2015/xenhid_coinst/xenhid_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenhid.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2017/package/package.vcxproj b/vs2017/package/package.vcxproj
index 3235f40..ad3a796 100644
--- a/vs2017/package/package.vcxproj
+++ b/vs2017/package/package.vcxproj
@@ -41,9 +41,6 @@
     <ProjectReference Include="..\xenhid\xenhid.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenhid_coinst\xenhid_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenhid.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2017/xenhid.sln b/vs2017/xenhid.sln
index c69467d..f6a901c 100644
--- a/vs2017/xenhid.sln
+++ b/vs2017/xenhid.sln
@@ -6,17 +6,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid", "xenhid\xenhid.vcx
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid_coinst", "xenhid_coinst\xenhid_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -47,26 +40,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2017/xenhid_coinst/xenhid_coinst.vcxproj b/vs2017/xenhid_coinst/xenhid_coinst.vcxproj
deleted file mode 100644
index c24037c..0000000
--- a/vs2017/xenhid_coinst/xenhid_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenhid_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenhid_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenhid_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2017/xenhid_coinst/xenhid_coinst.vcxproj.user b/vs2017/xenhid_coinst/xenhid_coinst.vcxproj.user
deleted file mode 100644
index eca4a5d..0000000
--- a/vs2017/xenhid_coinst/xenhid_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenhid.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2019/package/package.vcxproj b/vs2019/package/package.vcxproj
index 7ad6b3c..7e38f72 100644
--- a/vs2019/package/package.vcxproj
+++ b/vs2019/package/package.vcxproj
@@ -46,9 +46,6 @@
     <ProjectReference Include="..\xenhid\xenhid.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenhid_coinst\xenhid_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenhid.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2019/xenhid.sln b/vs2019/xenhid.sln
index c69467d..f6a901c 100644
--- a/vs2019/xenhid.sln
+++ b/vs2019/xenhid.sln
@@ -6,17 +6,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid", "xenhid\xenhid.vcx
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid_coinst", "xenhid_coinst\xenhid_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -47,26 +40,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2019/xenhid_coinst/xenhid_coinst.vcxproj b/vs2019/xenhid_coinst/xenhid_coinst.vcxproj
deleted file mode 100644
index 76ae9a6..0000000
--- a/vs2019/xenhid_coinst/xenhid_coinst.vcxproj
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenhid_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenhid_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenhid_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2019/xenhid_coinst/xenhid_coinst.vcxproj.user b/vs2019/xenhid_coinst/xenhid_coinst.vcxproj.user
deleted file mode 100644
index eca4a5d..0000000
--- a/vs2019/xenhid_coinst/xenhid_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenhid.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
diff --git a/vs2022/package/package.vcxproj b/vs2022/package/package.vcxproj
index c8a592b..71fc0af 100644
--- a/vs2022/package/package.vcxproj
+++ b/vs2022/package/package.vcxproj
@@ -46,9 +46,6 @@
     <ProjectReference Include="..\xenhid\xenhid.vcxproj">
       <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\xenhid_coinst\xenhid_coinst.vcxproj">
-      <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project>
-    </ProjectReference>
     <FilesToPackage Include="..\xenhid.inf" />
   </ItemGroup>
   <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
diff --git a/vs2022/xenhid.sln b/vs2022/xenhid.sln
index c69467d..f6a901c 100644
--- a/vs2022/xenhid.sln
+++ b/vs2022/xenhid.sln
@@ -6,17 +6,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid", "xenhid\xenhid.vcx
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenhid_coinst", "xenhid_coinst\xenhid_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}"
 	ProjectSection(ProjectDependencies) = postProject
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
 		{C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18}
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}
 	EndProjectSection
 EndProject
 Global
@@ -47,26 +40,6 @@ Global
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
 		{65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
-		{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
 		{73768CC9-DB26-4297-9EC8-1042F815EB15}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2022/xenhid_coinst/xenhid_coinst.vcxproj b/vs2022/xenhid_coinst/xenhid_coinst.vcxproj
deleted file mode 100644
index 76ae9a6..0000000
--- a/vs2022/xenhid_coinst/xenhid_coinst.vcxproj
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
-    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <EnablePREfast>true</EnablePREfast>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
-      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <ModuleDefinitionFile>../../src/coinst/xenhid_coinst.def</ModuleDefinitionFile>
-      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <FilesToPackage Include="$(TargetPath)" />
-    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenhid_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenhid_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2022/xenhid_coinst/xenhid_coinst.vcxproj.user b/vs2022/xenhid_coinst/xenhid_coinst.vcxproj.user
deleted file mode 100644
index eca4a5d..0000000
--- a/vs2022/xenhid_coinst/xenhid_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <SignMode>TestSign</SignMode>
-    <TestCertificate>..\..\src\xenhid.pfx</TestCertificate>
-    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-  </PropertyGroup>
-</Project>
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 15:55:43 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 15:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611686.951232 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLGn-000525-3D; Mon, 02 Oct 2023 15:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611686.951232; Mon, 02 Oct 2023 15:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLGn-00051y-0M; Mon, 02 Oct 2023 15:55:41 +0000
Received: by outflank-mailman (input) for mailman id 611686;
 Mon, 02 Oct 2023 15:55:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLGm-00051s-9C
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 15:55:40 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21560658-613c-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 17:55:38 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4065dea9a33so31541465e9.3
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 08:55:38 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 u6-20020a05600c00c600b004064741f855sm7569133wmm.47.2023.10.02.08.55.36
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 08:55:36 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21560658-613c-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262137; x=1696866937; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=iHpFre3pEhthTEXhRA/jFJEa+tzVIRHmlWuLHrKZlQ8=;
        b=XLqLYtswGmWiyAcEW/Xug+OiVlhn14t2gEkhPCYzGrDzVhAOlX0O/qMfB7+A1sz5l6
         kSIHlYjb8AJax1XW3OdPNNYedgTJjEBt0zop5rnfcz8bfiU292LfXHMN5Eh8i4o0vSAG
         91G5fc+Mp5paUi4CNpD2LMbxZeiMawaqEMEb2dLfd2HZ0KvdRnoSeXa2+YNuCoi4rUfG
         HeJ8M5OEs5D+9i7OVkpjtNkmSpgupTm/54PZhmvU/ADozG0mje+vLVCArMJeBXv8NcTg
         TP4UnGcIxKmt+Fx5/QReS11+RqO1lnpyXCEKIRmBskLz6cU/QyHIxsH8zWIz20sTElae
         Dhcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262137; x=1696866937;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iHpFre3pEhthTEXhRA/jFJEa+tzVIRHmlWuLHrKZlQ8=;
        b=lEldSyAAlzuITnqzKr6SIfpHpgWBzxGHE7ISX3iO6G2uU3bbPx8DFRYBnfEa9JrBS3
         EZ1lzzASjlDGNacNZZbr77D7bv52vz1EiFAdF4zHVr3+h4+PktpBUqEmuXuw9L34YKnc
         CU4O+nuUJ4HnvMc17S7p7s5DBSRf76BtbJY5HFgZ7IEN4UhoIS6XGkc+TL4yXW31SiMV
         WH+RdWNAUuVj3QwgvUkMefsue3jeHL4zWBEV4mujgh+C/T+TNjskRP5F97TmX+vkPXZt
         fMOTXgdOvGuH5gkkto/O7P/a/09hiNABsutsaXork1dmmL5ATXxLZ4gFL3LcCpZMdUVG
         G8Gw==
X-Gm-Message-State: AOJu0YypKBgixOdHSiLaa9IB5G4PN6QXtrSeYdBh3RWeYYky3zD2Zv84
	CnmjQJGF3UTXBk3kTwsQdmEvSmNEuC+7KA==
X-Google-Smtp-Source: AGHT+IEWMlxVPubfqO5Ac4Lnb7StFFg8x5D76OhrZAS7mA89Svd0h5UgNu+FBNwOUQiDT2/6ND3kTA==
X-Received: by 2002:a05:600c:2199:b0:401:bf56:8ba6 with SMTP id e25-20020a05600c219900b00401bf568ba6mr9354938wme.28.1696262137445;
        Mon, 02 Oct 2023 08:55:37 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <08d13a96-840f-41dd-a9e6-5ea2ee5ad578@xen.org>
Date: Mon, 2 Oct 2023 16:55:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/5] Fix Length calculation in PdoQueryId
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125207.270-1-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125207.270-1-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:52, Owen Smith wrote:
> Decrease Length by the string length of the current ID before moving
> the Buffer value to the end of the current ID. Without this, Length
> is not decreased, leading to potential issues with the next call to
> RtlStringCbPrintfW.
> Note: the second chunk it to maintain consistent ordering of operations
> for clarity, and has no functional change.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/xenvkbd/pdo.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 15:56:56 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 15:56:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611692.951236 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLI0-0005oi-7V; Mon, 02 Oct 2023 15:56:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611692.951236; Mon, 02 Oct 2023 15:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLI0-0005ob-4g; Mon, 02 Oct 2023 15:56:56 +0000
Received: by outflank-mailman (input) for mailman id 611692;
 Mon, 02 Oct 2023 15:56:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLHz-0005oV-NW
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 15:56:55 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e45f74a-613c-11ee-98d2-6d05b1d4d9a1;
 Mon, 02 Oct 2023 17:56:54 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-40652e570d9so45458785e9.1
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 08:56:53 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 u6-20020a05600c00c600b004064741f855sm7569133wmm.47.2023.10.02.08.56.52
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 08:56:52 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e45f74a-613c-11ee-98d2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262213; x=1696867013; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=wu6uwDzJz/5yZzA+mTRReU5hqZd7PY7FAiGPZTKeX5Q=;
        b=ZMbhzSOODVmwGhZzdx4xwvaT3uY6EltB4Y68uiwhvJhLL8fc3AhXIlCtQ+PNR2UICN
         ceGs1/3RwLdyHtuX/KhntEAuSmR8fJgTq3djMpP5RU0I8nLV5JmlfcvjEcwWiQ1t+ydw
         weqPUL5zLlDpmz29ctps2vT99Jbws1o/dn8cKeJ8iCxzAI/olQSI3EGP7GgOTrv9LPf9
         Ks1LLHVrpgfPSzfSXYkh/w/YZQqfMW72EF/BcdDEvDq/uVJCFnzPwomgo+8NF7k00cV8
         Z69MFQaiNjzIm5fDUO1cwB+LOsuGFIwFfwtIu5Kdx/XYqc/lH8xAe8x70utn5MFTAb3l
         rHCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262213; x=1696867013;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wu6uwDzJz/5yZzA+mTRReU5hqZd7PY7FAiGPZTKeX5Q=;
        b=aww0Gt7SYXmGKDaZFUz7yzcmhlb1rbruWZw85rbxOlzxWugF2LKfykd7gNLGABIb1O
         ESoRDg0Ah2FBAhU5GtdeDHAQjBuxaGDzpmQY6bJCGItHfB2Fkl45OBle5Hdy1BVbcWAH
         9Zu6lI5cd5u4MFLFU3At1gwe0z++X2GKNOSKvwbaJg4T5TFDE/Wh3mhhB/DKuFQ9rnW0
         wDbmhn6E2kUX9VoeNtMjvyPhCW6XHzNPbM3q6I1xxytq4DsFdGVzmgCzji6lZ/20BCwr
         U9iWSGfrkg2nDXchVJ4GvP7eD8MTBWzlSe8jDLYuoLRtNUDb8aR3IFxmodViAJbBWHkA
         cP/w==
X-Gm-Message-State: AOJu0YzKUnZf2s9ItJdm6SoLY0jypHg3ael+cop+hee4ZutNlpvnGOxo
	dN9hu0tK4sQ6oVfxENZAC6GpGcSq3mHuHQ==
X-Google-Smtp-Source: AGHT+IGpCKbtud+wlZOooiQSQm0rR/gpB9KVSw+zddzBi2qof3t7ETFwEBVcOlrZh4XHzV45da7cKg==
X-Received: by 2002:a7b:c858:0:b0:405:4a78:a892 with SMTP id c24-20020a7bc858000000b004054a78a892mr10475260wml.9.1696262212933;
        Mon, 02 Oct 2023 08:56:52 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <9060ddad-46cc-4549-b7e4-1d7639a23aed@xen.org>
Date: Mon, 2 Oct 2023 16:56:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/5] Remove REV from DeviceID
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125207.270-1-owen.smith@cloud.com>
 <20231002125207.270-2-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125207.270-2-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:52, Owen Smith wrote:
> Driver upgrades use HardwareIDs (or CompatibleIDs) to match the child INF DDInstall
> section (stored as matching device id), but use the DeviceID to generate the device
> instance path. By keeping the device instance path the same over upgrades, the network
> stack should identify this as an upgrade, rather than 'replacement hardware', and
> not generate a new network connection, which would require network settings to be
> copied from the existing network connection to the new network connection.
> 
> Note: Adds a strict requirement on child INF DDInstall sections, to specify the full
> hardware ID (including revision) to guarantee interface versions are correctly supported
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/xenvkbd/pdo.c | 10 ++--------
>   1 file changed, 2 insertions(+), 8 deletions(-)
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 15:57:50 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 15:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611699.951239 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLIs-0005v5-Ag; Mon, 02 Oct 2023 15:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611699.951239; Mon, 02 Oct 2023 15:57:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLIs-0005uy-88; Mon, 02 Oct 2023 15:57:50 +0000
Received: by outflank-mailman (input) for mailman id 611699;
 Mon, 02 Oct 2023 15:57:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLIr-0005oV-Kb
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 15:57:49 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f66dd31-613c-11ee-98d2-6d05b1d4d9a1;
 Mon, 02 Oct 2023 17:57:49 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40566f8a093so136716055e9.3
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 08:57:49 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 u6-20020a05600c00c600b004064741f855sm7569133wmm.47.2023.10.02.08.57.47
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 08:57:48 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f66dd31-613c-11ee-98d2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262268; x=1696867068; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ASWPqvUKiXKZcLrQCHgwBSCd0HQSfENwJa2ljQsjhVE=;
        b=YD6MFMc/B2i2fZonl1Js+3j2qeGmmo0ODEqh1bkfJ6MVCerV9wH1hWg9azfvogki1v
         QQ+v4NDlIUqFgl8sZqSRv/JRxZHCDSGaT9MonqufjRlUZga+/kPcR2BC30WTtGIaLJkv
         wiJqLVDqB3qB245wijwtIO1n3XRgw2dGKUgz0mnaH6aVy85ebmiDsCvtYP417zvB7zR9
         l1LUzxYUz2d0VYEJPJE1Y9XeyTtaPu6OKrYcqZKj77KW2qCFn3VQIn7abAmCPTP+qLus
         2mdrj6G+Fm1TIEPY3XcgkztXSJbkwQ51dlsfVy4hIyDJrg9cq4V5IH6dnEX6OnX8lBoT
         YrGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262268; x=1696867068;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ASWPqvUKiXKZcLrQCHgwBSCd0HQSfENwJa2ljQsjhVE=;
        b=ZNItMJn/rUcg8a6+P8611l2hXacYRCfom5NKJuj7lpZnmKFnzU4AXQfW2tcoO5yBB3
         fXaYmaWEHJQfyFnO5pvAWV42Ywg7gDUP3dAZ1IjDmgNnzDdn0yqBYkY3s4uM1ULnk9mq
         SuhiWjvD4D0C/Q5Tb9D8QsDPjltdtJ8FJX4jCU2BjLClegFpmWE2bXKAo27g6DXCjSno
         SromLwsL/nfA7UMoA8WqjGd7/4xaG5ZgHu+f5P+s7MQqItjIynMWka4USZWBw54XtNgD
         wej4g13vbyO8A6MdLf/lAw4uWhf2Y8mE/Ma0ppie40CffoBs8L26TW0bIq5oFkcOAzaR
         njMg==
X-Gm-Message-State: AOJu0YyhCkOnSCycBphumkVqgoLFQNKW+jlPfzEIzmhTVtKTEbf0upPU
	WHKPVtVJ0tSVAyrJJmvWvvP3W3sOqSLMRQ==
X-Google-Smtp-Source: AGHT+IFrJ9Os9tu8NsxSC21VaE6t3V4jsO+IhmeizpbUG3z/HRV0dxzBqe8STu5JOFotRqAMJ0cDgw==
X-Received: by 2002:a05:600c:229a:b0:402:cc5c:c98 with SMTP id 26-20020a05600c229a00b00402cc5c0c98mr10137702wmf.13.1696262268486;
        Mon, 02 Oct 2023 08:57:48 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <7d3a31a2-d549-4e75-bc2d-34f0634d1c46@xen.org>
Date: Mon, 2 Oct 2023 16:57:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 3/5] Remove unplug_interface.h
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125207.270-1-owen.smith@cloud.com>
 <20231002125207.270-3-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125207.270-3-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:52, Owen Smith wrote:
> XenVkbd doesnt use the UNPLUG interface, so remove query interface calls
> and all references to Unplugs
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   include/unplug_interface.h | 116 -------------------------------------
>   src/xenvkbd/fdo.c          |  21 -------
>   src/xenvkbd/fdo.h          |   2 -
>   src/xenvkbd/pdo.c          |  13 -----
>   4 files changed, 152 deletions(-)
>   delete mode 100644 include/unplug_interface.h
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 16:00:17 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 16:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611707.951243 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLLF-0007Os-HR; Mon, 02 Oct 2023 16:00:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611707.951243; Mon, 02 Oct 2023 16:00:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLLF-0007Ol-Ex; Mon, 02 Oct 2023 16:00:17 +0000
Received: by outflank-mailman (input) for mailman id 611707;
 Mon, 02 Oct 2023 16:00:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLLE-0007Of-8f
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 16:00:16 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c564766b-613c-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 18:00:14 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40537481094so171137075e9.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 09:00:14 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adfee84000000b003197c7d08ddsm7657558wro.71.2023.10.02.09.00.11
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 09:00:12 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c564766b-613c-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262413; x=1696867213; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Zbhfbpkq6Fa2reRXlV1xaVlolZgyfuWSWdt8fNpD9Ec=;
        b=UccPGUiX2dYeLrR9xsh4Wcashbinn5RENwnGDMEa6d7FG2QXuHZPQkmSwf4IYkNR+Y
         YI4qwczEVAx/TExJYh6QmuybElT300lR3tUVwnATWxar+K7rQ0mIHOCdWQHPffiKXVMm
         RY6xrG5PY20onrgYAaujp9QPZTnJhz8W+x8EKVVGTchHf1vf2oPDG6cNn8NsUZDdH6Wl
         bsNleOQn0pc0LlSs/ukh6bhGlMAuOf45k/8r4jtvwfpMn1RaVrCVppWJL03QmRTbE8K+
         SakcDfh2pwRF7sl137YEdkffAhR+qTaeGAhThrJELkgA/0cZtXeHUyfmEY5u0WVPSmgB
         oBvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262413; x=1696867213;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Zbhfbpkq6Fa2reRXlV1xaVlolZgyfuWSWdt8fNpD9Ec=;
        b=rAx1nH0gUq8fPF6mjgGd8bmMRM148LA/jA8ZtGdguw3dMNKsq+g+vRp/39gKdFqY61
         8uKpCAbFg1xJH4HbVq9wcmZaqyHklMnmne2t40H8SDEASv8mSWvrs6dR8cBCLlDKQPop
         23ldGBkR5N3lcrXZdXz2co0L/W4KlXuql8fYuzXfUb0UrZ8g6HYHoThPRgAlF4NqaeX/
         Gc7wl7B/hiDxfBjqoz5pNUIm80workl0Kw8XGiCeiuVe0qYaorbVP7v1RzXjnZgLNlaU
         rrgVM4D4d+zm1F8r9UCeFEvvyxRTbhQCiBqlhiPc9O0B25e52xkJ6FdgiHUBwc4BIGAe
         vdRg==
X-Gm-Message-State: AOJu0Yw0yXnHu3vXqHyRBIy8q7u1R+Io7wi+vBXOrlNgln8WwYSOCXww
	Mw7TwoGl4YzLug6k6ugquKU3suDB0c2Vow==
X-Google-Smtp-Source: AGHT+IGpAC28LtiDtWM60q3BN0SUF6Ip/0FYRkohI7jlzCiLnfqq05vsmPSSuNiFuOGI4D87zoJZQg==
X-Received: by 2002:a5d:460c:0:b0:320:121:2300 with SMTP id t12-20020a5d460c000000b0032001212300mr9897174wrq.1.1696262412662;
        Mon, 02 Oct 2023 09:00:12 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <de71689b-b446-43ee-83d2-b9eeb861daf7@xen.org>
Date: Mon, 2 Oct 2023 17:00:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 4/5] Remove CoInstaller from INF
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125207.270-1-owen.smith@cloud.com>
 <20231002125207.270-4-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125207.270-4-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:52, Owen Smith wrote:
> Windows 11 22H2 WHQL requires INF files pass "InfVerif /k", which highlights
> several issues
> - PnpLockdown=1 needs to be specified
> - CoInstallers are no longer allowed
> 
> The CoInstaller has several functions that will need alternative solutions:
> - The AllowUpdate mechanism is no longer possible
> - The safety checks that ensure interface versionings remain compatible
> 
> Interface safety checks need to be handled by changes to child device bindings.
> 
> Also updates the INF bindings to require XenBus with CoInstaller removed to
> maintain consistent CoInstaller removal versioning.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/xenvkbd.inf | 19 ++++---------------
>   1 file changed, 4 insertions(+), 15 deletions(-)
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 16:01:00 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 16:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611714.951247 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLLv-0007Tn-L0; Mon, 02 Oct 2023 16:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611714.951247; Mon, 02 Oct 2023 16:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLLv-0007Tf-I1; Mon, 02 Oct 2023 16:00:59 +0000
Received: by outflank-mailman (input) for mailman id 611714;
 Mon, 02 Oct 2023 16:00:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLLu-0007T2-8g
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 16:00:58 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfceea9b-613c-11ee-98d2-6d05b1d4d9a1;
 Mon, 02 Oct 2023 18:00:57 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-405361bba99so165730705e9.2
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 09:00:57 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adfee84000000b003197c7d08ddsm7657558wro.71.2023.10.02.09.00.55
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 09:00:56 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfceea9b-613c-11ee-98d2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262457; x=1696867257; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=yfer9rcK944jiMLhM5HL+wKfn5gGpSDeM+Ms6ZKptvk=;
        b=YTMXOfg+8DTokqx1FvaEWL4jsHceKdQOOQFw9jTdvfR0HIBGWX8a2hTkOqjJf9TaA1
         xxcGQ/NISffhWoZeggqAA/dUUVD+1BD1rQ1Aut1T86Q9Bws9aNkMaUArjPKcEmtG8vsQ
         gzs/ghLkhdUNrKRJPtItLy3JIPEucWN6QLkCiZlPp4SneSW50vLqV98dfyr2WbGmbN3M
         K9qvQYDK1rG4pwknhMHWQDOIDswoe6+jep03HWmZi4PiYiDNBllz6El0MXG7obAFIFOH
         swQtChJqLVSjtz/PvqBJ+Pgn8WQahgxytUelFme0dsQheTZi3uQJY+EUwOowGdM1PsO3
         dBNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262457; x=1696867257;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yfer9rcK944jiMLhM5HL+wKfn5gGpSDeM+Ms6ZKptvk=;
        b=iLgaMTSakXracYuywmZ77zG5VbBngYoLTacbnznYUnUl3ZNZ/+Y4UdPvxbCqZiRdJ0
         PXFbijHzo93vz65vS5Pf1+7BIxmKcUKAupEzZEKG/bju5YTSkWzn7/A0wWd1ic94JzXl
         sVBMdNTvwoCDRD2awRjVjitheueo7yhkFz4RSB24VXJANjbrB61uo0TcHi4pytm32bMW
         6HydB1ydU0QNM+1lUUkPSH4lOcjlHe+b0413yw3+9g73yDhl1OZp2v9Gal1qxa0adMcI
         dJKQa42Ont3GaOvIasaGCOs5ZP5mTEPRCIqITSLoOaPGSV8bicx1c0rSKo+8f+V+yN1l
         2DTg==
X-Gm-Message-State: AOJu0YzPMAL2HxntELFa7JZ0M6/Trd2ZfKVxlD9xCixdkLn6K1Ss2an9
	A99K8GlRHd/INZrmKsijZF9DlITt6ha1Mw==
X-Google-Smtp-Source: AGHT+IGND4D32rk7hg889dTMC4JUXYomd6hbCbns9VfgqviPeRXmgOCdhpWUYz5TYBhlukkTVIcvcg==
X-Received: by 2002:adf:fa90:0:b0:31a:d9bc:47a2 with SMTP id h16-20020adffa90000000b0031ad9bc47a2mr11167516wrr.53.1696262456909;
        Mon, 02 Oct 2023 09:00:56 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <3db311e5-8b21-4fd5-ac52-8e962ac1f1c6@xen.org>
Date: Mon, 2 Oct 2023 17:00:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 5/5] Delete CoInstaller code
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125207.270-1-owen.smith@cloud.com>
 <20231002125207.270-5-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125207.270-5-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:52, Owen Smith wrote:
> With the CoInstaller removed from the INF file, delete the CoInstaller
> source code and projects.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/coinst/coinst.c                           | 1364 -----------------
>   src/coinst/xenvkbd_coinst.def                 |   38 -
>   src/coinst/xenvkbd_coinst.rc                  |   58 -
>   vs2015/package/package.vcxproj                |    3 -
>   vs2015/xenvkbd.sln                            |   27 -
>   vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   62 -
>   .../xenvkbd_coinst.vcxproj.user               |    8 -
>   vs2017/package/package.vcxproj                |    3 -
>   vs2017/xenvkbd.sln                            |   27 -
>   vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   62 -
>   .../xenvkbd_coinst.vcxproj.user               |    8 -
>   vs2019/package/package.vcxproj                |    3 -
>   vs2019/xenvkbd.sln                            |   27 -
>   vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   65 -
>   .../xenvkbd_coinst.vcxproj.user               |    8 -
>   vs2022/package/package.vcxproj                |    3 -
>   vs2022/xenvkbd.sln                            |   27 -
>   vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj  |   65 -
>   .../xenvkbd_coinst.vcxproj.user               |    8 -
>   19 files changed, 1866 deletions(-)
>   delete mode 100644 src/coinst/coinst.c
>   delete mode 100644 src/coinst/xenvkbd_coinst.def
>   delete mode 100644 src/coinst/xenvkbd_coinst.rc
>   delete mode 100644 vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj
>   delete mode 100644 vs2015/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
>   delete mode 100644 vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj
>   delete mode 100644 vs2017/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
>   delete mode 100644 vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj
>   delete mode 100644 vs2019/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
>   delete mode 100644 vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj
>   delete mode 100644 vs2022/xenvkbd_coinst/xenvkbd_coinst.vcxproj.user
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 16:09:12 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 16:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611721.951252 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLTp-0001Sn-8G; Mon, 02 Oct 2023 16:09:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611721.951252; Mon, 02 Oct 2023 16:09:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLTp-0001Sg-5I; Mon, 02 Oct 2023 16:09:09 +0000
Received: by outflank-mailman (input) for mailman id 611721;
 Mon, 02 Oct 2023 16:09:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLTo-0001Sa-Bo
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 16:09:08 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 031d59b4-613e-11ee-9b0d-b553b5be7939;
 Mon, 02 Oct 2023 18:09:06 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-307d58b3efbso14707791f8f.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 09:09:06 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 z5-20020adfe545000000b003177074f830sm9994378wrm.59.2023.10.02.09.09.05
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 09:09:05 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 031d59b4-613e-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262946; x=1696867746; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=vuSnuTcv8NrbJLiqbStzWKeREfQ4VuHZJDqis7B4sWo=;
        b=mfrA62lqZ0C2LJg4eISvfnPWN9/yfw0N6MOBW7Z+tf8D4Ru0/pNNBpxcGLYKUqpe5X
         YcQ50NeGfeTCrZ1s1horn2TfByqlGT5sO4YE//ZFKYjSCR2LoGT9RJSPakzFVLG2nLhk
         7Ei8/zbk5BNX8JP3XV9mgxPidLlC+JjQ4JPx8CoDwzTCUJNeEpFdaTipARXL++XoEr0e
         eqz23HRrQsxHwO8SHvaw1dIIeOE9Y9UGeVowxejq9rumDXOLRKr+9Mt3ldzlglw/gind
         kWVGMcblgaFerBAhtdBDaUxi6TMVKMdmbnHyNvtnrEswu1kgRv9M+QO4bmoqplrl35Aw
         +sQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262946; x=1696867746;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vuSnuTcv8NrbJLiqbStzWKeREfQ4VuHZJDqis7B4sWo=;
        b=YQhIPPBEtOI5ILNSqebp70zEi1RTrWFsjodNakggkXPu7+72sG8+pjMU0JHl7TFjOx
         8azyEgJDmw8xSOydVRBQ8cvjYXx98vhOCWW5Er+44AIq4XnLl65JLyWfBWC6O7DntLjQ
         R2s1QRexKbdmLt6xaOBWEwoqEckEuT2dF5c8y5fdrnHbRx9vVhH4xJagkvLjS+BlsPuN
         qwSFhmdxwuU9EOViywcwRg9xA7hwV2HVjk/4Uorpy1yBsWM7zyv+sDHYX5oYtIPYnghh
         lbzGR592K8woCBHbzQ496N4EHDvgvJyqg33WaBkIw1J7hghZd3SbYLO8FHX2COrg53Nn
         ygJA==
X-Gm-Message-State: AOJu0Yylxqtd1XSK7OxXsYBbU8+3kGWKYR+awN2W8V0PPFI8IC6iXhKv
	/O9PczEpTvz1lH8NGdagr+dkm+OLKV3j1w==
X-Google-Smtp-Source: AGHT+IFmb0BTtiQwwD1agJuVUwUlq3N1fVzvgGCBi8ELuBUdv4ksL72sV/vZ1Ha0uglr3PmiznHSrQ==
X-Received: by 2002:a5d:4006:0:b0:317:50b7:2ce3 with SMTP id n6-20020a5d4006000000b0031750b72ce3mr10033982wrp.51.1696262945673;
        Mon, 02 Oct 2023 09:09:05 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <00d8f075-3f3a-4357-8787-76a4fe4551a9@xen.org>
Date: Mon, 2 Oct 2023 17:09:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/2] Remove CoInstaller from INF
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125309.977-1-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125309.977-1-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:53, Owen Smith wrote:
> Windows 11 22H2 WHQL requires INF files pass "InfVerif /k", which highlights
> several issues
> - PnpLockdown=1 needs to be specified
> - CoInstallers are no longer allowed
> 
> The CoInstaller has several functions that will need alternative solutions:
> - The AllowUpdate mechanism is no longer possible
> - The safety checks that ensure interface versionings remain compatible
> 
> Interface safety checks need to be handled by changes to child device bindings,
> and assuming upgrade via emulated devices is safe.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/xenhid.inf | 13 +------------
>   1 file changed, 1 insertion(+), 12 deletions(-)
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Mon Oct 02 16:09:39 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Oct 2023 16:09:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.611725.951256 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLUJ-0001gp-Ba; Mon, 02 Oct 2023 16:09:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 611725.951256; Mon, 02 Oct 2023 16:09:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qnLUJ-0001gh-8n; Mon, 02 Oct 2023 16:09:39 +0000
Received: by outflank-mailman (input) for mailman id 611725;
 Mon, 02 Oct 2023 16:09:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Rb=FQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qnLUI-0001gb-Bx
 for win-pv-devel@lists.xenproject.org; Mon, 02 Oct 2023 16:09:38 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15792e38-613e-11ee-98d2-6d05b1d4d9a1;
 Mon, 02 Oct 2023 18:09:37 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-31427ddd3fbso15433967f8f.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 02 Oct 2023 09:09:37 -0700 (PDT)
Received: from [192.168.7.196] (54-240-197-236.amazon.com. [54.240.197.236])
 by smtp.gmail.com with ESMTPSA id
 z5-20020adfe545000000b003177074f830sm9994378wrm.59.2023.10.02.09.09.36
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Oct 2023 09:09:36 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15792e38-613e-11ee-98d2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1696262977; x=1696867777; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=lho4EPKoEU3ZXm4Nf4cb4BlAfflZN2mWnE3OXfSiNVk=;
        b=jbn6PrqGdib34nuiFQ7clYS07VuxC4GjPghTHtJEP7qQbcF+38JuWQGSODt2uVflyW
         H5dnqQe9meA/isxgMbRSzIoTktSi2xrTGNI0gUeKSdjeUageCSej3piXnAX423Osjgds
         AgpW8FHBjmahfL+Of6YmreHvF5c7veHt/3K0rSG6nTxCn23bJzCbWK1vY0juIyMy90ZV
         6gxGuEiYQAF0oQtn0HaXYzJpdfOqn6YydtS/g7FKW25JWniHvurY3Hf9IP4cPRwz3REW
         bX7NJsA5fy4qynjJ4iRVhLJsTk0HYlGlKkOUBaDTSaiHjzOx2NNH2yVq7KGtHPqX5FJF
         2tEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1696262977; x=1696867777;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lho4EPKoEU3ZXm4Nf4cb4BlAfflZN2mWnE3OXfSiNVk=;
        b=kE7mvmEXU0YGRL5vuCYmfq6UQIjf3C/fwJ3cIn7wfvo4yZ6kJtspUQPArq18R/dgc0
         IfZ9GhtKkKtwDKHBtVMWbEpN1DngFswILz8eEUArBlUXxdMFLxOayFpDOo14IexrPAos
         h1KIbc1zRWMveSTBD0E0o5zuzBHdvX817P8FFnYJ3uMQk/+u1WlcwT7/dkE7Y5dz1Uov
         59QoQFQvZ8DCZJu88yLNj7C3shFPJ3UX7Owwvjc7wBHEheVBip6xWh2M/eXvNaIQigvF
         B1OlMmmFiYEm7C9FDMKYfm+/rbM1cdZtpXtaZ9y8o1V1dn/7wVVTvs4UYEoeL0uEBPE+
         JSWw==
X-Gm-Message-State: AOJu0YzReVJtXkskdfHw1mvLByaCLgW6nze3FC8Gskay06RZmpqGWJft
	8dQt/LGOQjs4fkdaVKrqusibQmTvbP0dMg==
X-Google-Smtp-Source: AGHT+IGewm5rpIeGOoH3XGSlECWA3EPotl5MK7vxXDS3YfufIDJoCbkqVyHVrYO5DxeWPE+H4gA/VA==
X-Received: by 2002:a5d:5704:0:b0:323:82f7:f313 with SMTP id a4-20020a5d5704000000b0032382f7f313mr10266014wrv.3.1696262976595;
        Mon, 02 Oct 2023 09:09:36 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <8bbb167d-6e0f-458c-8794-57fdaf6c1e6e@xen.org>
Date: Mon, 2 Oct 2023 17:09:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/2] Delete CoInstaller code
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231002125309.977-1-owen.smith@cloud.com>
 <20231002125309.977-2-owen.smith@cloud.com>
Organization: Xen Project
In-Reply-To: <20231002125309.977-2-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/10/2023 13:53, Owen Smith wrote:
> With the CoInstaller removed from the INF file, delete the CoInstaller
> source code and projects.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/coinst/coinst.c                           | 593 ------------------
>   src/coinst/xenhid_coinst.def                  |  38 --
>   src/coinst/xenhid_coinst.rc                   |  58 --
>   vs2015/package/package.vcxproj                |   3 -
>   vs2015/xenhid.sln                             |  27 -
>   vs2015/xenhid_coinst/xenhid_coinst.vcxproj    |  62 --
>   .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
>   vs2017/package/package.vcxproj                |   3 -
>   vs2017/xenhid.sln                             |  27 -
>   vs2017/xenhid_coinst/xenhid_coinst.vcxproj    |  62 --
>   .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
>   vs2019/package/package.vcxproj                |   3 -
>   vs2019/xenhid.sln                             |  27 -
>   vs2019/xenhid_coinst/xenhid_coinst.vcxproj    |  65 --
>   .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
>   vs2022/package/package.vcxproj                |   3 -
>   vs2022/xenhid.sln                             |  27 -
>   vs2022/xenhid_coinst/xenhid_coinst.vcxproj    |  65 --
>   .../xenhid_coinst/xenhid_coinst.vcxproj.user  |   8 -
>   19 files changed, 1095 deletions(-)
>   delete mode 100644 src/coinst/coinst.c
>   delete mode 100644 src/coinst/xenhid_coinst.def
>   delete mode 100644 src/coinst/xenhid_coinst.rc
>   delete mode 100644 vs2015/xenhid_coinst/xenhid_coinst.vcxproj
>   delete mode 100644 vs2015/xenhid_coinst/xenhid_coinst.vcxproj.user
>   delete mode 100644 vs2017/xenhid_coinst/xenhid_coinst.vcxproj
>   delete mode 100644 vs2017/xenhid_coinst/xenhid_coinst.vcxproj.user
>   delete mode 100644 vs2019/xenhid_coinst/xenhid_coinst.vcxproj
>   delete mode 100644 vs2019/xenhid_coinst/xenhid_coinst.vcxproj.user
>   delete mode 100644 vs2022/xenhid_coinst/xenhid_coinst.vcxproj
>   delete mode 100644 vs2022/xenhid_coinst/xenhid_coinst.vcxproj.user
> 

Acked-by: Paul Durrant <paul@xen.org>



From win-pv-devel-bounces@lists.xenproject.org Wed Oct 18 09:14:57 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Oct 2023 09:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.618457.962117 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qt2dj-0002VZ-7M; Wed, 18 Oct 2023 09:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 618457.962117; Wed, 18 Oct 2023 09:14:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qt2dj-0002VS-4r; Wed, 18 Oct 2023 09:14:55 +0000
Received: by outflank-mailman (input) for mailman id 618457;
 Wed, 18 Oct 2023 09:14:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2aDg=GA=cloud.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1qt2dh-0002TP-Jk
 for win-pv-devel@lists.xenproject.org; Wed, 18 Oct 2023 09:14:53 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c94d8c00-6d96-11ee-98d4-6d05b1d4d9a1;
 Wed, 18 Oct 2023 11:14:51 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9adb9fa7200so1373286166b.0
 for <win-pv-devel@lists.xenproject.org>; Wed, 18 Oct 2023 02:14:48 -0700 (PDT)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 gt23-20020a170906f21700b0099bc2d1429csm1272998ejb.72.2023.10.18.02.14.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Oct 2023 02:14:44 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c94d8c00-6d96-11ee-98d4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1697620488; x=1698225288; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Xfilb1pqxsJFOLzPbbEOykFMTe4yZk46ZTCFd8r3rPg=;
        b=SjHOjX04L6Oh7l51tstzJR0TWA0hQzwfA0DTJ9sx3sUBRbwyo+VVftBNn3p1iilAfX
         paZd5WbnlQc95x7kxkfqLEBS2E8F6TUfJacOVZ0gzZpLyNTuN07aPhpqZBnYQ6t3APm4
         hPHKM/ttC4zVfGDWpspwmrjkZ4KLmwfbbFh34=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1697620488; x=1698225288;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Xfilb1pqxsJFOLzPbbEOykFMTe4yZk46ZTCFd8r3rPg=;
        b=kK2i4tjrjqJTod1CFDqQlkWBXYfDGoGeSWQle2oUKC2w8rUqwZSCmhru7lm047cM4T
         z6FRHYXe6Xmj3cE/l6Ou0KY4aq+ViPTpHwzeVa4FAanXBqx/l5/arFF9+D/SmVuXPcLZ
         SfdtIQCqela5dsl97tCEJMDW9S4n2axPmHL2FWf6ufccBS5Doh6FJAvPynxlPqs5OPVC
         M8aGxqNADGaSCf7XUAIimOB6bsOEXlX8TSSePvSTnBgznHjFdQGu9Jc4w6kHiYTk1+jE
         qn4rT1GI1wPX5x7xhVth8V66CK6e/xqbYFZ+wqF4V9N7HTr2o/yFFdrtJyQKvcty7rM3
         QHKQ==
X-Gm-Message-State: AOJu0Yy7taZdGBGs5do7I+DILpNJOw4BZQ7e8835imgXEleXwWehMaqS
	Y9h14jOoBrmrvPddF44c/n1Xh43gYyO1GZBOsQ==
X-Google-Smtp-Source: AGHT+IG93pGK37tWETUTj1S6YFqKoARB+dRbyYkvcM0FmbZof1OxMkWP5LKd/UlLWtoCFlEGxy5dQQ==
X-Received: by 2002:a17:907:3e13:b0:9a9:f042:deb9 with SMTP id hp19-20020a1709073e1300b009a9f042deb9mr4492195ejc.19.1697620485171;
        Wed, 18 Oct 2023 02:14:45 -0700 (PDT)
From: Owen Smith <owen.smith@cloud.com>
To: win-pv-devel@lists.xenproject.org
Cc: Owen Smith <owen.smith@cloud.com>
Subject: [PATCH] Reference XenBus_Unplug section
Date: Wed, 18 Oct 2023 10:14:32 +0100
Message-ID: <20231018091432.1991-1-owen.smith@cloud.com>
X-Mailer: git-send-email 2.41.0.windows.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

9daf0cc470c failed to add the XenBus_Unplug section to AddReg, which
would result in a XenBus upgrade failing to clear the unplug keys, leading
to a 0x7B bugcheck. Add the AddReg reference to correct this issue.

Signed-off-by: Owen Smith <owen.smith@cloud.com>
---
 src/xenbus.inf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/xenbus.inf b/src/xenbus.inf
index bfe0025..73a2b11 100644
--- a/src/xenbus.inf
+++ b/src/xenbus.inf
@@ -89,7 +89,7 @@ StartType=%SERVICE_BOOT_START%
 ErrorControl=%SERVICE_ERROR_NORMAL% 
 ServiceBinary=%12%\xenbus.sys 
 LoadOrderGroup="Boot Bus Extender"
-AddReg = XenBus_Parameters, XenBus_Interrupts
+AddReg = XenBus_Parameters, XenBus_Interrupts, XenBus_Unplug
 
 [XenBus_Parameters]
 HKR,"Parameters",,0x00000010
-- 
2.41.0.windows.3



From win-pv-devel-bounces@lists.xenproject.org Wed Oct 25 08:41:11 2023
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 25 Oct 2023 08:41:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.622717.969800 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qvZRt-0008Kb-BE; Wed, 25 Oct 2023 08:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 622717.969800; Wed, 25 Oct 2023 08:41:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1qvZRt-0008KU-8Z; Wed, 25 Oct 2023 08:41:09 +0000
Received: by outflank-mailman (input) for mailman id 622717;
 Wed, 25 Oct 2023 08:41:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AAMM=GH=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qvZRr-0008KO-Si
 for win-pv-devel@lists.xenproject.org; Wed, 25 Oct 2023 08:41:07 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c97ebee-7312-11ee-98d5-6d05b1d4d9a1;
 Wed, 25 Oct 2023 10:41:06 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-32deb2809daso2752901f8f.3
 for <win-pv-devel@lists.xenproject.org>; Wed, 25 Oct 2023 01:41:06 -0700 (PDT)
Received: from [192.168.16.6] (54-240-197-232.amazon.com. [54.240.197.232])
 by smtp.gmail.com with ESMTPSA id
 t16-20020a05600001d000b0032da35baf7bsm11597098wrx.113.2023.10.25.01.41.05
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Oct 2023 01:41:05 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c97ebee-7312-11ee-98d5-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698223266; x=1698828066; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:reply-to
         :references:to:content-language:subject:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=VZJ67uV1Ehyb4yTd2VW1nu21pWnco0D654QFhFovFmw=;
        b=MH4GD3KEaet4WJNtO/vylPXKJmgD+lgwIKruaFOvAKi7L0OBvr8uebkP1EXqsLh44v
         Df15gNY4q2/p0y3d2gtPw5D6YGmjwuVyj/rdXJb7KBVcmskd05esudadPgRNN8KISiqr
         bWE7uccId00WSeVMt2R9GlbQjZ32gcE+pyCPgZIWbRt+WOh8WiFmNIZ3VM98qxLwtL/1
         y3VKuxHHID7Hef9fd2/pb/FzDmikZF6dkbgDWZOjjyeNS8qen59zy9IS4CKJ5EqbSyNG
         QbVv9RtoH4F8n7PeOmyFuvSn6v/erqUnupXKzeFxxDgo4zcuEsu8rLTUVQGCCyMYYdYb
         rTwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698223266; x=1698828066;
        h=content-transfer-encoding:in-reply-to:organization:reply-to
         :references:to:content-language:subject:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VZJ67uV1Ehyb4yTd2VW1nu21pWnco0D654QFhFovFmw=;
        b=WxP4cumQjAj4YB4MB5jhdffZNIeCGFWoOIMv9xQM7jNQ9eOvZLOwxe73X42HzHM+BN
         6bk/oTUrSLlLlKhngqgVWTuJsLl7K7NYws7LJWDcrz+DTyoSM4FOhlDNntIX1QgEWebg
         XfBImk0qL/Y99MzXGZH7XGsWhcDjSRiu8WjLCW8+C9VA/8IQGtwoZPgCQN0GOTb4/Fgx
         lUFT2Rr0KW/j9xsKyg9zWyqN4k43COoTd8VHSOu25nPMKLFPR/3uXMI1rBX2d/d1vS7M
         +xgEO0GsoXKqmYbOhHQjQKZrmrTd9ru8sFD32SmwDvLSIMuOJFXQRZuiTpf1ux9e4b4t
         IlNw==
X-Gm-Message-State: AOJu0YyzVTyzvGtjOBrYDX0F3EWuh0m5yTuJruJoEO0pRu3GzlTRGITu
	rgKzoVo7qI2yaX9v9w2So+MN+/uBt9LvCA==
X-Google-Smtp-Source: AGHT+IHU/Ti4/+uoWaIaxHiuNsApY0ujA9v9SFldYXs3tG0iuJqCysHc2xS/od5ksRssIvE7mSw+AA==
X-Received: by 2002:adf:e54d:0:b0:32d:7162:7ffe with SMTP id z13-20020adfe54d000000b0032d71627ffemr9925900wrm.69.1698223265614;
        Wed, 25 Oct 2023 01:41:05 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <773c876b-efef-4725-a4bc-184a0c93fe8b@xen.org>
Date: Wed, 25 Oct 2023 09:41:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Reference XenBus_Unplug section
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20231018091432.1991-1-owen.smith@cloud.com>
Reply-To: paul@xen.org
Organization: Xen Project
In-Reply-To: <20231018091432.1991-1-owen.smith@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 18/10/2023 10:14, Owen Smith wrote:
> 9daf0cc470c failed to add the XenBus_Unplug section to AddReg, which
> would result in a XenBus upgrade failing to clear the unplug keys, leading
> to a 0x7B bugcheck. Add the AddReg reference to correct this issue.
> 
> Signed-off-by: Owen Smith <owen.smith@cloud.com>
> ---
>   src/xenbus.inf | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



