CloseHandle: Unterschied zwischen den Versionen
Aus API-Wiki
K |
|||
(13 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Diese Funktion | + | Diese Funktion schließt ein Kernelobjekthandle, z.B. eine Datei oder einen Datenkanal. Kanäle können zu einem COM- oder LPT-Port, ein Gerät, einem Dienst oder einer Console geöffnet worden sein. |
− | < | + | <syntaxhighlight lang="vb"> |
− | Declare Function CloseHandle Lib "kernel32 | + | ' VB 5/6 |
+ | Declare Function CloseHandle Lib "kernel32.dll" ( _ | ||
ByVal hObject As Long) As Long | ByVal hObject As Long) As Long | ||
− | </ | + | </syntaxhighlight> |
+ | <syntaxhighlight lang="vbnet"> | ||
+ | ' VB.NET | ||
+ | <DllImport("kernel32.dll", SetLastError:=True)> _ | ||
+ | Public Shared Function CloseHandle(ByVal hObject As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean | ||
+ | End Function | ||
+ | </syntaxhighlight> | ||
− | + | ==Übergabe== | |
''hObject'' | ''hObject'' | ||
− | : | + | :hObject erwartet ein gültiges Kernelobjekthandle als Übergabe (z.B. von [[CreateFile]]). |
− | + | ==Rückgabe== | |
− | War die Funktion erfolgreich, so erfolgt eine Übergabe | + | War die Funktion erfolgreich, so erfolgt eine Übergabe eines Wertes ungleich 0. |
− | Sollte die Funktion fehlschlagen, so kann die Fehlerursache | + | Sollte die Funktion fehlschlagen, so kann die Fehlerursache mittels [[Err.LastDLLError]] festgestellt werden. |
− | + | ==Beispiel== | |
− | < | + | <syntaxhighlight lang="vb"> |
Dim CloseResult as Long | Dim CloseResult as Long | ||
CloseResult = CloseHandle(FileHandle) | CloseResult = CloseHandle(FileHandle) | ||
− | If CloseResult | + | If CloseResult = 0 Then |
MsgBox "Fehler beim Schließen des Objektes!", vbCritical, "Fehler!" | MsgBox "Fehler beim Schließen des Objektes!", vbCritical, "Fehler!" | ||
End If | End If | ||
− | </ | + | </syntaxhighlight> |
− | |||
+ | [[Kategorie:Dateien und Laufwerke]] | ||
[[Kategorie:Kernel]] | [[Kategorie:Kernel]] | ||
+ | [[Kategorie:Funktionen]] |
Aktuelle Version vom 7. Oktober 2016, 21:22 Uhr
Diese Funktion schließt ein Kernelobjekthandle, z.B. eine Datei oder einen Datenkanal. Kanäle können zu einem COM- oder LPT-Port, ein Gerät, einem Dienst oder einer Console geöffnet worden sein.
' VB 5/6
Declare Function CloseHandle Lib "kernel32.dll" ( _
ByVal hObject As Long) As Long
' VB.NET
<DllImport("kernel32.dll", SetLastError:=True)> _
Public Shared Function CloseHandle(ByVal hObject As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function
Übergabe
hObject
- hObject erwartet ein gültiges Kernelobjekthandle als Übergabe (z.B. von CreateFile).
Rückgabe
War die Funktion erfolgreich, so erfolgt eine Übergabe eines Wertes ungleich 0. Sollte die Funktion fehlschlagen, so kann die Fehlerursache mittels Err.LastDLLError festgestellt werden.
Beispiel
Dim CloseResult as Long
CloseResult = CloseHandle(FileHandle)
If CloseResult = 0 Then
MsgBox "Fehler beim Schließen des Objektes!", vbCritical, "Fehler!"
End If