XXX_IOControl Verständnisfrage zum 1. Parameter (DWORD hOpenContext)



  • Hallo,

    ich habe eine Frage zu stream interface Treibern. Gesetzt dem Fall, ich habe eine dll in meinem System laufen, die ein stream interface anbietet.

    Nun holt sich irgend eine exe (--> anderer Prozess) ein handle zu diesem Treiber, indem sie ein CreateFile mit der entsprechenden Abkürzung (z.B. ROH) und dem korrekten Index (z.B. 0) macht.

    Dann ruft diese externe exe DeviceIOControl auf, mit dem Handle was sie durch das CreateFile erhalten hat. Folglich erhält meine dll einen Aufruf in der ROH_IOControl-Funktion.

    Was mir jetzt nicht ganz klar ist, ist der erste Parameter dieser Funktion, nämlich das DWORD hOpenContext, siehe auch http://msdn.microsoft.com/en-us/library/aa919696.aspx. Dorst steht:

    hOpenContext
    [in] Handle to the open context of the device. The XXX_Open (Device Manager) function creates and returns this identifier.

    Ich kann mit dieser Erklärung nicht ganz so viel anfangen. Steht da jetzt das Handle drin, was meine externe exe über das CreateFile erhalten hat? Oder steht da irgend ein Wert drin, der mit meiner exe zusammen hängt? Wenn letzteres zutrifft, dann könnte ich ja anhand dieses Wertes verschiedene Klienten unterscheiden, sofern mehrere exe-Dateien Anfragen bei mir via DeviceIOControl stellen, oder?

    Bin für jede Hilfe dankbar.


Log in to reply