IFSMgr_UseAdd( pioreq pir, int proId, netuse_info *pinfo )
This service is called by an FSD to perform a network use operation to connect to a network resource. This service is normally not necessary to use. Most connections are done by the IFS manager directly. This is needed only for certain private apis that the IFS manager does not understand.
pir
Supplies pointer to IOREQ structure. If a NULL is passed in for the IOREQ pointer, the IFS manager allocates an IOREQ structure for the duration of this call. In this case, the caller also needs to pass in the pinfo parameter so that the IOREQ structure can be appropriately initialized. The IOREQ structure is freed before return from the service.
IOREQ Structure: | |
Value | Meaning |
ir_data | Supplies flat pointer to use_info_2 structure described below. |
Use_Info_2 Structure: | |
Value | Meaning The fields that need to be initialized are described below. All other fields should be set to zero. |
ui2_local | Supplies the ASCIIZ string the resource is to be connected to viz. a device name or driveletter. |
ui2_remote | Supplies the ASCIIZ resource name that is to be connected. |
ui2_password | Supplies the ASCIIZ string for the password of the resource, if any. This pointer should be NULL if there is no password for this resource. |
ui2_asg_type | Supplies resource type for connection. |
Connection Resource Type Values: One of the following resource types will be specified. | |
Value | Meaning |
USE_WILDCARD | Wild card resource type. |
USE_DISKDEV | Disk resource. |
USE_SPOOLDEV | Spooled printer resource. |
USE_CHARDEV | Character device resource. |
USE_IPC | Interprocess communication resource. |
ui2_res_type
Supplies resource name type.
Resource Name Type Values: | |
Value | Meaning |
USE_RES_UNC | Resource name is UNC. Currently, this is the only supported flag and ui2_res_type must always be set to this. |
ir_flags
Supplies the connection status. This field has only 2 values: 1 if the connection should be set up disconnected, 0 if it should be set up connected.
ir_conflags
Supplies the source of the connection. This must be set to a non-zero value because the connection is not via a normal api level call.
proId
Supplies the provider id of the provider requesting the connection.
pinfo
Supplies an optional pointer to a netuse_info structure. This should only be passed in if the provider has no IOREQ available i.e. NULL is passed in the pir field. The fields that need to be initialized are described below. All other fields should be set to zero.
Netuse_Info Structure: | |
Value | Meaning |
nu_data | Suplies a pointer to a use_info_2 struct that is initialized as described above. |
nu_flags | Supplies flags for the request. |
FSD_NETAPI_USEOEM | This flag is set if you are passing in OEM strings, otherwise strings are assumed to be ANSI. |
FSD_NETAPI_STATIC | This flag is set for a connection that will only be removed at shutdown time. |
FSD_NETAPI_USELFN | This flag specifies that the remote name passed in should be treated as a long name. Otherwise, it is treated as a short name. |
nu_rsvd | Must be set to 0xff always. |
IOREQ Structure: | |
ir_error | Returns 0 if no error, errorcode otherwise. |