Windows Networking API/Redirector OS Design Development (Windows Embedded CE 6.0)

1/6/2010

The Windows Networking API/Redirector implementation in Windows Embedded CE provides functions to establish and terminate network connections and to access files on servers supporting the Common Internet File System (CIFS). Access to this data is made possible by way of the networking API (WNet).

WNet communicates through the CIFS (also called Server Message Block or SMB) redirector to the remote host. A CIFS redirector enables one computer to access files on another. An application can use WNet functions to manage network connections anywhere in the network hierarchy.

An application can also access network resources using the Universal Naming Convention (UNC). UNC is a system for naming files on a network so that a file on a computer has the same path when accessed from any other computer — for example, \\Servername\Sharename\Filename.ext, where Servername is the server name and Sharename is a directory on Servername that contains the file Filename.ext. Most of the standard Windows Embedded CE file APIs, such as CreateFile, work with UNC path names.

Note

The dwDesiredAccess parameter of CreateFile cannot be set to 0 for Redirector. If an application passes 0 in this parameter, the call results in an ERROR_INVALID_PARAMETER error.

The Windows Embedded CE WNet API is similar to WNet for Windows-based desktop operating systems with the following exceptions:

  • Windows Embedded CE does not support drive letters. The WNet API supports mapping a remote UNC name to a local name, whereas for desktop operating systems the local name is drive-based, for example H:<path>. Windows Embedded CE local names can take any form, for example \Myshare\Path. Local names can be up to 64 characters in length, thus expanding the number of mapped network resources beyond 26.
  • The only network provider currently supported is the Microsoft Windows Network.
  • No connections are automatically restored when a device is warm booted. A persistent connection is stored in the registry and the connection appears in the list of resources. This data is enumerated and retrieved by calling the WNetOpenEnum function with the dwScope parameter set to RESOURCE_REMEMBERED, and then calling WNetEnumResource on the returned handle.
  • Windows Embedded CE does not expose APIs for mail slots.
  • Windows Embedded CE does not support named pipes.
  • Windows Embedded CE supports only a subset of the full WNet API. For example, the WNet function WNetGetLastError is not supported. This function is redundant because supported WNet functions do not return extended error data. The user can use the GetLastError function. All WNet functions return an ERROR_XXX value. This is not the same as Microsoft Windows NT, which returns WN_XXX error values. ERROR _XXX error values are mapped to the appropriate WN_XXX error codes for backward compatibility.
  • LAN Manager functions are not exposed.
  • Windows Embedded CE does not support the concept of a computer or device belonging to a specific network context.

Modules and Components

The following table shows the components and modules that implement Windows Networking API/Redirector.

Item Module Component

Windows Networking API/Redirector (SMB/CIFS)

redir

None

OS Design Information

The following table shows operating system design information for Windows Networking API/Redirector.

Concept Description

Dependencies

TCP\IP, Winsock, and NDIS

Hardware considerations

Modem or network interface card (NIC)

Windows Networking API/Redirector Implementation Considerations

The following table shows the Sysgen variable for the Windows Networking API/Redirector.

Sysgen variable Description

SYSGEN_REDIR

When this variable is set, the Windows Networking API/Redirector (SMB/CIFS) Catalog item is included in the OS design.

See Also

Other Resources

Windows Networking API/Redirector