3.2.4.2.29.5 EnumFileScreens (Opnum 11)
The EnumFileScreens method returns all the file screens from the List of Persisted File Screens (section 3.2.1.3) that fall under the specified path.
-
[id(FSRM_DISPID_FILESCREEN_MANAGER | 0x03)] HRESULT EnumFileScreens( [in, defaultvalue(L"")] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection** fileScreens );
path: Contains the path for which to limit the return of file screens.
options: Contains the FsrmEnumOptions (section 2.2.1.2.5) to use when enumerating the file screens.
fileScreens: Pointer to an IFsrmCommittableCollection interface pointer (section 3.2.4.2.3) that upon completion contains pointers to every file screen belonging to a path related to the path specified by the wildcards entered in path. The caller MUST release the collection when the caller is done with it.
Return Values: The method MUST return zero on success, or a nonzero error code on failure.
-
Return value/code
Description
0x80045301
FSRM_E_NOT_FOUND
A file screen has not been applied to the specified directories.
0x80070057
E_INVALIDARG
The fileScreens parameter is NULL.
0x80045311
FSRM_E_NOT_SUPPORTED
This options parameter contains invalid FsrmEnumOptions (section 2.2.1.2.5) values.
Upon receiving this message, the server MUST validate parameters:
If fileScreens is NULL, the server MUST return E_INVALIDARG.
If options contains FsrmEnumOptions_Asynchronous or any value other than what is specified in section 2.2.1.2.5, the server MUST return FSRM_E_NOT_SUPPORTED.
Upon successful validation of parameters, the server MUST perform the following actions:
Create a new List of Non-Persisted File Screen Instances (section 3.2.1.3).
Populate the List of Non-Persisted File Screen Instances with Non-Persisted File Screen Instances (section 3.2.1.3.1.2) copied from the Persisted File Screens (section 3.2.1.3.1.1) in the List of Persisted File Screens according to the following rules:
If path ends with "\*", the server MUST populate this List of Non-Persisted File Screen Instances with a copy of every Persisted File Screen from the List of Persisted File Screens that belongs to an immediate subdirectory of path.
If path ends with "\...", the server MUST populate this List of Non-Persisted File Screen Instances with a copy of every Persisted File Screen from the List of Persisted File Screens that recursively belongs to a subdirectory of path.
If path does not end with "\*" or "\...", the server MUST populate this List of Non-Persisted File Screen Instances with a copy of only the file screen for path.
If a file screen does not exist for path, the server MUST return S_OK and MUST set fileScreenExceptions to an empty IFsrmCommittableCollection.
Populate fileScreens with the IFsrmFileScreen interface pointer (section 3.2.4.2.27) of every Non-Persisted File Screen Instance in this List of Non-Persisted File Screen Instances.