¿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.