3.1.4.1 Application Writes to a Mailslot

The application provides the following:

TargetName: The 16-character NetBIOS name of the target to which the mailslot message MUST be sent. The name MAY be a "unique name" or a "group name" as specified in [RFC1001] section 5.2.

MailslotName: The name of the mailslot on the target server to which the message MUST be delivered.

Message: The mailslot message to be sent. The maximum length of the message is limited by the underlying transport protocol.

On receipt of a request from a higher-layer application to send a mailslot message, the client mailslot implementation MUST package the data to be sent and the destination mailslot name in a SMB_COM_TRANSACTION data structure by filling in the various fields, as specified in section 2.2.1. The MailslotName in the SMB_COM_TRANSACTION request MUST be of the form "\MAILSLOT\MailslotName."

The client MUST send the SMB_COM_TRANSACTION request to TargetName using the "send datagram" primitive described in [RFC1001] section 5.4.  The NetBIOS datagram service on the client machine determines whether the supplied TargetName is a "unique" or "group" name by using one of the mechanisms described in [RFC1001] section 15.1.2 and section 15.3.  Based on the type of name, it sends a NetBIOS datagram to the target(s) as described in [RFC1001] section 17. <13>

The Remote Mailslot Protocol itself does not provide for multi-packet segmentation. As a result, if the invoking application specifies data that is too large to be handled by the NetBIOS datagram service, the request MUST be failed with an implementation-specific error.