---
name: "ACE_WIN32_Asynch_Write_File"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_WIN32_Asynch_Write_File"
---

# ACE\_WIN32\_Asynch\_Write\_File(3)

This class is a factory for starting off asynchronous writes on a file.

## NAME

ACE\_WIN32\_Asynch\_Write\_File -

This class is a factory for starting off asynchronous writes on a file.

## SYNOPSIS

```
class ACE_WIN32_Asynch_Write_File :
  public virtual ACE_Asynch_Write_File_Impl,
  public ACE_WIN32_Asynch_Write_Stream
{
  public:
    ACE_WIN32_Asynch_Write_File (ACE_WIN32_Proactor *win32_proactor);
    int write (
        ACE_Message_Block &message_block,
        u_long bytes_to_write,
        u_long offset,
        u_long offset_high,
        const void *act,
        int priority,
        int signal_number = 0
        );
    virtual ~ACE_WIN32_Asynch_Write_File (void);
    int open (
        ACE_Handler &handler,
        ACE_HANDLE handle,
        const void *completion_key,
        ACE_Proactor *proactor
        );
    int cancel (void);
    ACE_Proactor* proactor (void) const;
  private:
    int write (
        ACE_Message_Block &message_block,
        u_long bytes_to_write,
        const void *act,
        int priority,
        int signal_number = 0
        );
};
```

## DESCRIPTION

These classes only works on Win32 platforms.

The implementation of ACE\_Asynch\_Transmit\_File and ACE\_Asynch\_Accept are only supported if ACE\_HAS\_WINSOCK2 is defined or you are on WinNT 4.0 or higher.

## Methods belong to ACE\_WIN32\_Asynch\_Operation base class. These

methods are defined here to avoid VC++ warnings. They route the  call to the ACE\_WIN32\_Asynch\_Operation base class.

```
int open (
    ACE_Handler &handler,
    ACE_HANDLE handle,
    const void *completion_key,
    ACE_Proactor *proactor
    );
```

Initializes the factory with information which will be used with each asynchronous call.  If (handle == ACE\_INVALID\_HANDLE), ACE\_Handler::handle will be called on the handler to get the correct handle.

```
int cancel (void);
```

This cancels all pending accepts operations that were issued by the calling thread.  The function does not cancel asynchronous operations issued by other threads.

```
ACE_Proactor* proactor (void) const;
```

Return the underlying proactor.

## AUTHOR

Irfan Pyarali (irfan@cs.wustl.edu), Tim Harrison (harrison@cs.wustl.edu) and Alexander Babu Arulanthu alex@cs.wustl.edu

## LIBRARY

ace
