| |

VB.NET - Fortgeschrittene"Es wird kein Proxy verwendet, um die Anfrage an die COM-Komponente zu.." | |  | Autor: m0nst3rkill3r | Datum: 04.02.10 22:44 |
| Hi. Ich checke mit dem Script: http://www.activevb.de/tipps/vbnettipps/tipp0055.html
Ob ein UsbStick ein oder ausgesteckt wurde.
Wenn das passiert sollte meine Festplatte entweder geschlossen oder geöffnet werden.
Das mache ich so
Private Sub myDriveWatcher_DriveCoutChanged(ByVal sender As Object, _
ByVal e As System.IO.DriveInfo) Handles myDriveWatcher.DriveArrived
System.Threading.Thread.Sleep(2000)
If e.TotalSize.ToString = "2104492032".ToString Then
If fes1locked() Then
fes1()
End If
If fes2locked() Then
fes2()
End If
End If
End Sub
Private Sub myDriveWatcher_DriveRemoved(ByVal sender As Object, _
ByVal e As System.IO.DriveInfo) Handles myDriveWatcher.DriveRemoved
System.Threading.Thread.Sleep(2000)
If Not fes1locked() Then
fes1(True)
End If
If Not fes2locked() Then
fes2(True)
End If
End Sub Theorethisch sollte das funktionieren. Meine Sub für das Un/locken ist so:
Sub fes1(Optional ByVal lock As Boolean = False)
If lock Then
Try
Dim classInstance As New ManagementObject( _
"root\CIMV2\Security\MicrosoftVolumeEncryption", _
"Win32_EncryptableVolume.DeviceID='\\?\Volume{37a21c80-dd0f-11de-a20f-806e" & _
"f6e6963}\'", _
Nothing)
' Obtain [in] parameters for the method
Dim inParams As ManagementBaseObject = _
classInstance.GetMethodParameters("Lock")
' Add the input parameters.
inParams("ForceDismount") = True
' Execute the method and obtain the return values.
Dim outParams As ManagementBaseObject = _
classInstance.InvokeMethod("Lock", inParams, Nothing)
Catch ex As Exception
End Try
Else
Try
Dim classInstance As New ManagementObject( _
"root\CIMV2\Security\MicrosoftVolumeEncryption", _
"Win32_EncryptableVolume.DeviceID='\\?\Volume{37a21c80-dd0f-11de-a20f-806" & _
"6f6e6963}\'", _
Nothing)
' Obtain [in] parameters for the method
Dim inParams As ManagementBaseObject = _
classInstance.GetMethodParameters("UnlockWithPassPhrase")
' Add the input parameters.
inParams("PassPhrase") = "pewe"
' Execute the method and obtain the return values.
Dim outParams As ManagementBaseObject = _
classInstance.InvokeMethod("UnlockWithPassPhrase", _
inParams, Nothing)
Catch ex As Exception
End Try
End If
End Sub Jedoch bekomme ich immer:
Der Kontext "0x200f60" wurde getrennt. Es wird kein Proxy verwendet, um die Anfrage an die COM-Komponente zu verarbeiten. Dies kann Datenbeschädigung oder -verlust zur Folge haben. Stellen Sie sicher, dass alle Kontexte/Apartments beibehalten werden, bis die Anwendung alle RuntimeCallableWrappers, die in ihnen vorhandene COM-Komponenten darstellen, vollständig verarbeitet hat, um dieses Problem zu vermeiden.
wie kann ich das Problem lösen?
Grüße
Beitrag wurde zuletzt am 04.02.10 um 22:44:44 editiert. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|