<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Remove Gerätetreiber]]></title><description><![CDATA[<p>Hallo,</p>
<p>weis jemand wie man mittels der SetupApi Gerätetreiber deinstallieren kann?<br />
In der Dokumentation des DDK ist nicht viel zu finden.</p>
<p>Es geht um Netzwerkkarten- und Modemeinträge.<br />
Ich dachte das dies über den Inf-File möglich wäre.<br />
Hier ein Codebeispiel für meinen Ansatz. aber irgendwie will er nicht.</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
PSP_DEVICE_INTERFACE_DETAIL_DATA pspdidd;
PSP_DEVINFO_DATA           pdevData;
PSP_DEVINFO_DATA           drvData;
HDEVINFO hDevInfo;
GUID ClassGUID;
TCHAR ClassName[MAX_CLASS_NAME_LEN];
LPTSTR INFFile = argv[1];
CString strInfClassID;
BOOL isInstall = FALSE;
ZeroMemory((PVOID)&amp;spdid, sizeof(spdid));
spdid.cbSize = sizeof(spdid);

// Use the INF File to extract the Class GUID.
if(!SetupDiGetINFClass(INFFile,&amp;ClassGUID,ClassName,sizeof(ClassName),0))
{
    return DisplayError(TEXT(&quot;GetINFClass&quot;));
}

// GUID aus Inffile einlesen
LPOLESTR InfBuffer;

StringFromCLSID( ClassGUID, &amp;InfBuffer );
strInfClassID = InfBuffer;
CoTaskMemFree(InfBuffer);

hDevInfo = SetupDiGetClassDevs(&amp;ClassGUID, NULL, NULL, NULL);

if(hDevInfo == INVALID_HANDLE_VALUE)
{
  printf(&quot;SetupDiGetClassDevs nicht gefunden.\n &quot;);

}

if (!SetupDiGetSelectedDriver(hDevInfo, pdevData, &amp;drvData))
{
   printf(&quot;SetupDiGetSelectedDriver Failed.\n&quot;);
}
else
{
   if(SetupDiCallClassInstaller(DIF_REMOVE, hDevInfo,&amp;drvData))
   {  
        printf(&quot;Driver remove.\n&quot;);
   }
   else
   {
        printf(&quot;Driver not remove.\n&quot;);
   }

}

return 0;
}
</code></pre>
<p>Kann jemand helfen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>P.Prescher<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/119737/remove-gerätetreiber</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 01:18:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/119737.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 05 Sep 2005 08:20:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Remove Gerätetreiber on Mon, 05 Sep 2005 08:20:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>weis jemand wie man mittels der SetupApi Gerätetreiber deinstallieren kann?<br />
In der Dokumentation des DDK ist nicht viel zu finden.</p>
<p>Es geht um Netzwerkkarten- und Modemeinträge.<br />
Ich dachte das dies über den Inf-File möglich wäre.<br />
Hier ein Codebeispiel für meinen Ansatz. aber irgendwie will er nicht.</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
PSP_DEVICE_INTERFACE_DETAIL_DATA pspdidd;
PSP_DEVINFO_DATA           pdevData;
PSP_DEVINFO_DATA           drvData;
HDEVINFO hDevInfo;
GUID ClassGUID;
TCHAR ClassName[MAX_CLASS_NAME_LEN];
LPTSTR INFFile = argv[1];
CString strInfClassID;
BOOL isInstall = FALSE;
ZeroMemory((PVOID)&amp;spdid, sizeof(spdid));
spdid.cbSize = sizeof(spdid);

// Use the INF File to extract the Class GUID.
if(!SetupDiGetINFClass(INFFile,&amp;ClassGUID,ClassName,sizeof(ClassName),0))
{
    return DisplayError(TEXT(&quot;GetINFClass&quot;));
}

// GUID aus Inffile einlesen
LPOLESTR InfBuffer;

StringFromCLSID( ClassGUID, &amp;InfBuffer );
strInfClassID = InfBuffer;
CoTaskMemFree(InfBuffer);

hDevInfo = SetupDiGetClassDevs(&amp;ClassGUID, NULL, NULL, NULL);

if(hDevInfo == INVALID_HANDLE_VALUE)
{
  printf(&quot;SetupDiGetClassDevs nicht gefunden.\n &quot;);

}

if (!SetupDiGetSelectedDriver(hDevInfo, pdevData, &amp;drvData))
{
   printf(&quot;SetupDiGetSelectedDriver Failed.\n&quot;);
}
else
{
   if(SetupDiCallClassInstaller(DIF_REMOVE, hDevInfo,&amp;drvData))
   {  
        printf(&quot;Driver remove.\n&quot;);
   }
   else
   {
        printf(&quot;Driver not remove.\n&quot;);
   }

}

return 0;
}
</code></pre>
<p>Kann jemand helfen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>P.Prescher<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/865160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865160</guid><dc:creator><![CDATA[P.Prescher]]></dc:creator><pubDate>Mon, 05 Sep 2005 08:20:49 GMT</pubDate></item></channel></rss>