3.2.4.2.29.3 CreateFileScreen (Opnum 9)

The CreateFileScreen method creates a Non-Persisted File Screen Instance (section 3.2.1.3.1.2) on the specified path.

 [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x01)] HRESULT CreateFileScreen(
   [in] BSTR path,
   [out, retval] IFsrmFileScreen** fileScreen
 );

path: Contains the path of the local directory to put the file screen on.

fileScreen: Pointer to an IFsrmFileScreen interface pointer (section 3.2.4.2.27) that upon completion contains a pointer to the newly created file screen. To have the file screen added to the server's List of Persisted File Screens (section 3.2.1.3), the caller MUST call Commit (section 3.2.4.2.27.1). The caller MUST release the file screen when it is done with it.

Return Values: The method MUST return zero on success, or a nonzero error code on failure.

Return value/code

Description

0x80045304

FSRM_E_PATH_NOT_FOUND

The specified path could not be found.

0x80045306

FSRM_E_INVALID_PATH

The content of the path parameter exceeds the maximum length of 260 characters.

0x80070057

E_INVALIDARG

The fileScreen parameter is NULL.

Upon receiving this message, the server MUST validate parameters:

  • Verify that fileScreen is not NULL.

If any validation fails, the server MUST terminate processing and return a nonzero error code.

Upon successful validation of parameters, the server MUST perform the following actions.

  • Create a Non-Persisted File Screen Instance with the File Screen.Folder path property set to the specified path.

    • Set FSRM Base Object.Id to a GUID.

    • Set Blocked file groups to an empty list.

    • Set Notifications to an empty list.

    • Set File screen mode to Hard screen.

    • Set Template id to an empty string.

  • Set fileScreen to the IFsrmFileScreen interface pointer of the newly created Non-Persisted File Screen Instance.

The new Non-Persisted File Screen Instance MUST NOT be associated with an existing Persisted File Screen (section 3.2.1.3.1.1).