3.2.4.2.29.8 EnumFileScreenExceptions (Opnum 14)
The EnumFileScreenExceptions method returns all the file screen exceptions from the List of Persisted File Screen Exceptions (section 3.2.1.3) that fall under the specified path.
-
[id(FSRM_DISPID_FILESCREEN_MANAGER | 0x06)] HRESULT EnumFileScreenExceptions( [in, defaultvalue(L"")] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection** fileScreenExceptions );
path: Contains the path for which to limit the return of file screen exceptions. Supports wildcards.
options: Contains the FsrmEnumOptions (section 2.2.1.2.5) to use when enumerating the file screen exception.
fileScreenExceptions: Pointer to an IFsrmCommittableCollection interface pointer (section 3.2.4.2.3) that upon completion contains pointers to every file screen exception belonging to a path that is part of the specified 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 exception has not been applied to the specified directory.
0x80070057
E_INVALIDARG
The fileScreenExceptions 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 fileScreenExceptions 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 Exception Instances (section 3.2.1.3).
Populate it with Non-Persisted File Screen Exception Instances (section 3.2.1.3.2.2) copied from the Persisted File Screen Exceptions (section 3.2.1.3.2.1) in the List of Persisted File Screen Exceptions according to the following rules:
If path ends with "\*", the server MUST populate this new List of Non-Persisted File Screen Exception Instances with a copy of every Persisted File Screen Exception from the List of Persisted File Screen Exceptions that belongs to an immediate subdirectory of path.
If path ends with "\...", the server MUST populate this new List of Non-Persisted File Screen Exception Instances with a copy of every Persisted File Screen Exception from the List of Persisted File Screen Exceptions that recursively belongs to a subdirectory of path.
If path does not end with "\*" or "\...", the server MUST populate this new List of Non-Persisted File Screen Exception Instances with a copy of the only Persisted File Screen Exception for path.
If a file screen exception does not exist for path, the server MUST return S_OK and MUST set fileScreenExceptions to an empty IFsrmCommittableCollection.
Populate fileScreenExceptions with the IFsrmFileScreenException interface pointer (section 3.2.4.2.28) of every Non-Persisted File Screen Exception Instance in this List of Non-Persisted File Screen Exception Instances.