コード例 #1
0
    private static void ReadAsyncCallback(IAsyncResult ar)
    {
        FileAsyncState state  = ar.AsyncState as FileAsyncState;
        int            length = state.src.EndRead(ar);

        state.dst.Write(state.buffer, 0, length);
        if (length < FileAsyncState.MAX_READ)
        {
            if (state.autoClose)
            {
                state.src.Close();
                state.dst.Close();
            }
            state.isDone = true;
            return;
        }

        state.src.BeginRead(state.buffer, 0, FileAsyncState.MAX_READ, ReadAsyncCallback, state);
    }
コード例 #2
0
 public static void CopyAsync(FileAsyncState state)
 {
     state.src.BeginRead(state.buffer, 0, FileAsyncState.MAX_READ, ReadAsyncCallback, state);
 }