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.