INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DLL ohne Header



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.10.2011, 08:43 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2011 08:49 von rolfk.)
Beitrag #9

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL ohne Header
(20.10.2011 09:23 )M@rRy schrieb:  Es geht um die w3svc.dll die ich momentan nur über das adsutil.vbs (und das über das cscript) öffne.

Also grundsätzlich gibt es keine Möglichkeit um eine DLL anzurufen, von der man nicht zumindest die Funktionsinterfaces kennt. Die einzige Art und Weise um diese Informationen zu erhalten, wenn man keine Dokumentation oder Header dazu hat, ist die DLL zu dissassemblieren. Das ist ein ziemlich arbeitsintensiver Prozess und im Zeitalter der Informationsfreiheit meistens auch eine illegale Aktion. Zumindest fúr jemanden der in Amerika wohnt oder in nächster Zeit dorthin reisen möchte ist davon nur abzuraten. Cool

Das alles gesagt ist natürlich auch der Nutzen abzuschätzen. Undokumentierte DLL Interfaces sind dies manchmal aus Konkurrenzüberlegungen, aber Microsoft wird sich in dieser Hinsicht wohl etwas zurückhalten da solche Machenschaften in der Vergangenheit ziemlich schwer bebüsst wurden. Ein anderer und viel häufiger vorkommender Grund ist dass das Interface privat ist, weil es kein festes Interface ist, sondern konstant verändern kann. Da es privat ist kann man das tun ohne andere Programmierer zu verärgern. Hat ein Aussenstehender dieses Interface reverse engineered dann hat er halt einfach Pech gehabt.

In diesem spezifischen Fall geht es um eine DLL die Bestandteil der Internet Information Services ist und einen Service implementiert. Ein Service hat meist kein klassisches DLL Interface, sondern wird über COM/DCOM angesprochen. Das sieht man bei einer DLL auch daran, dass DLLRegisterServer() und DLLUnregisterServer() exportiert sind. COM/DCOM ist die Technologie auf der ActiveX aufgebaut ist, aber ist nicht genügend um eine DLL als ActiveX Componente anzusprechen. Das heist das Interface dieser DLL ist NUR durch ein C/C++ Program anzusprechen und auch dann nur wenn man die entsprechenden Interface Definitions (meist IDL Files und daraus generierte C Headers und RPC Proxy Source Files) hat. Diese werden üblicherwiese in einem entsprechendem SDK geliefert, so sie nicht Bestandteil des Microsoft Platform SDKs sind. Oder auch nicht, wenn die DLL als Teil eines grösseren Ganzen aufgefasst wird, das die Funktionen mittels eines übergeordneten Interfaces zur Verfügung stellt.

Die einzigen anderen Funktionen die von dieser DLL exportiert werden sind C++ Objectmethoden, etwas das man mit der LabVIEW Call Library Node grundsätzlich nicht gut aufrufen kann.

Also kann man zusammengefasst sagen: Direkt ansprechen dieser DLL von LabVIEW aus ist ein sinnloses Unterfangen. Sehr wahrscheinlich stellt Microsoft Teile der Funktionalität mittels eines ActiveX Interfaces in einer höher liegenden Komponente zur Verfügung. Welche das ist kann ich Dir nicht sagen, aber es hat sicher mit Internet Information Services (IIS) zu tun. Auch möglich ist das dieser Service nicht nur über ein ActiveX Interface sondern auch über ein Funktions-API ansprechbar ist. Dieses API würde aber meistens ebenfalls durch eine andere Komponente bereitgestellt und nicht die Service DLL selber.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
DLL ohne Header - M@rRy - 20.10.2011, 09:02
RE: DLL ohne Header - GerdW - 20.10.2011, 09:08
RE: DLL ohne Header - M@rRy - 20.10.2011, 09:11
RE: DLL ohne Header - GerdW - 20.10.2011, 09:13
RE: DLL ohne Header - M@rRy - 20.10.2011, 09:20
RE: DLL ohne Header - GerdW - 20.10.2011, 09:22
RE: DLL ohne Header - M@rRy - 20.10.2011, 09:23
RE: DLL ohne Header - rolfk - 24.10.2011 08:43
RE: DLL ohne Header - M@rRy - 21.10.2011, 07:56
RE: DLL ohne Header - M@rRy - 24.10.2011, 08:49

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL Import externe Struktur in Header bekommen hansi9990 15 24.611 30.09.2016 17:20
Letzter Beitrag: hansi9990
  Header nicht LV Kompatibel? hansi9990 5 8.881 02.05.2015 19:38
Letzter Beitrag: hansi9990
  DLL einbinden ohne Header Datei ringfahrer 6 11.730 03.12.2009 16:22
Letzter Beitrag: jg
  externe Header-Files in DLL einbinden Honeygirl24 7 9.132 15.10.2008 21:24
Letzter Beitrag: jg

Gehe zu: