HideDefaultLUs method of the MSISCSITARGET_ControllerConfigurationService class

Hides a list of SCSI logical units, such as RAID volumes or tape drives, through a list of target ports on a default view CIM_SCSIProtocolController (SPC).

This method is inherited from the CIM_ControllerConfigurationService class.

Syntax

uint32 HideDefaultLUs(
  [out]     CIM_ConcreteJob Ref            Job,
  [in]      string                         LUNames[],
  [in]      string                         TargetPortIDs[],
  [in, out] CIM_SCSIProtocolController Ref ProtocolControllers[]
);

Parameters

Job [out]

On return contains a reference to the job if one is created. NULL if no job is created or it has completed.

LUNames [in]

Specifies the IDs of existing logical unit instances to use. The logical unit instances must already exist. The members of this array must match the Name property of CIM_LogicalDevice instances that represent SCSI logical units. For more information on when this parameter may be NULL, see Remarks.

TargetPortIDs [in]

Specifies the IDs of target ports to use. For more information on when this parameter may be NULL, see Remarks.

ProtocolControllers [in, out]

Contains an array of references to CIM_SCSIProtocolController instances.

On input, this must contain exactly one SPC. On return this is an array of references to the SPCs created or modified as the result of processing the request.

The implementation will attempt to remove associations, LUNames and TargetPortIDs, from this SPC. The implementation may need to create new SPCs with a subset of the remaining associations.

Return value

This method returns one of the following values.

Success (0)

Not Supported (1)

Unspecified Error (2)

Timeout (3)

Failed (4)

Invalid Parameter (5)

DMTF Reserved (6 4095)

Method Parameters Checked - Job Started (4096)

Invalid logical unit ID (4097)

Invalid target port ID (4098)

Maximum Map Count Error (4099)

Method Reserved (4100 32767)

Vendor Specific (32768 65535)

Remarks

When hiding logical units, there are two scenarios that the implementation must support. Each scenario requires a different combination of parameters. Other vendor-specific scenarios are allowed.

  • Remove logical units from a default view

    The LUNames parameter must not be NULL and that the TargetPortIDs parameter must be NULL.

  • Remove target port IDs from a default view

    This scenario is only possible if the CIM_ProtocolControllerMaskingCapabilities.PortsPerView property has the value Multiple Ports Per View.

    The LUNames parameter must be NULL.

If both the LUNames and TargetIDs parameters are non-null and the CIM_ProtocolControllerMaskingCapabilities.MaximumMapCount is zero, then the instrumentation must create new SPCs and change associations as necessary to meet the client request and maintain the relevant SCSI rules.

For example:

  • An SPC may not be exposed through a particular host/target port pair that is in use by another SPC. That is, an SPC together with its associated logical units and ports correspond to the logical unit inventory provided by SCSI REPORT LUNS and INQUIRY commands.
  • Each logical device associated to an SPC must have a unique ProtocolControllerForUnit.DeviceNumber logical unit number.

If both the LUNames and TargetIDs parameters are non-null and the CIM_ProtocolControllerMaskingCapabilities.MaximumMapCount is greater than zero, then any client request that cannot be honored by changing associations to the specified SPC will return a Maximum Map Count Error error.

The SPC may be automatically deleted when the last logical unit, initiator ID, or target port ID is removed depending on the state of CIM_ProtocolControllerMaskingCapabilites properties. If the SPCAllowsNoLUs property is false, then the SPC is automatically deleted when the last logical unit is removed. If the SPCAllowsNoTargets is false, then the SPC is automatically deleted when the last target port ID is removed. In all other cases, the SPC must be explicitly deleted via the DeleteInstance method.

Requirements

Minimum supported client
None supported
Minimum supported server
Windows Server 2012 R2
Namespace
Root\CIMv2\Storage\iScsiTarget
MOF
SmIscsiTarget.mof
DLL
SmIScsiTargetProv.dll

See also

MSISCSITARGET_ControllerConfigurationService

MSISCSITARGET_ProtocolControllerMaskingCapabilities

MSISCSITARGET_ProtocolControllerForUnit

MSISCSITARGET_ConcreteJob