¿Es este código PInvoke correcto y confiable?

Inesta pregunt He buscado una solución simple para desbloquear archivos. Gracias a todos los comentarios y respuestas, he encontrado una solución simple por PInvokingDeleteFile.

Funciona, pero debido a que nunca he usado operaciones de archivos a través de PInvoke (Win32), no sé si hay algunas dificultades o si hay otro método para llamar aDeleteFile para eliminar la secuencia alternativa de un archivo.

Lo que tampoco sé es si tengo que ajustar la llamada en un try / catch o si es suficiente solo para mirar el resultado booleano. En mis pruebas, no se plantearon excepciones, pero no sé qué sucederá en el mundo real.

public class FileUnblocker {

    [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool DeleteFile(string name );

    public bool Unblock(string fileName) {
        return DeleteFile(fileName+ ":Zone.Identifier");
    }
}

¿Parece confiable este código?

Actualiza
Había publicado un método incompleto (el método de desbloqueo no concatenaba el literal "Zone.Identifier" con el nombre del archivo). He corregido esto ahora, lo siento.

Respuestas a la pregunta(3)

Su respuesta a la pregunta