16.16 Ein sichereres Datei-Handle erhalten
Problem
Sie möchten bei der Arbeit mit einem nicht-verwalteten Datei-Handle mehr Sicherheit, als ein einfacher IntPtr
bieten kann.
Lösung
Nutzen Sie ein Microsoft.Win32.SafeHandles.SafeFileHandle
-Objekt, um ein vorhandenes nicht-verwaltetes Datei-Handle einzuhüllen:
public static void WriteToFileHandle(IntPtr hFile) { // Das Datei-Handle in ein sicheres Handle-Wrapper-Objekt einhüllen. using (Microsoft.Win32.SafeHandles.SafeFileHandle safeHFile = new Microsoft.Win32.SafeHandles.SafeFileHandle(hFile, true)) { // Über das übergebene sichere Datei-Handle ein FileStream-Objekt öffnen. using (FileStream fileStream = new FileStream(safeHFile, FileAccess.ReadWrite)) { // Um ausstehende nicht-verwaltete Aktionen ...
Get C# Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.