Skip to content

Latest commit

 

History

History
161 lines (126 loc) · 5.07 KB

nf-vdshwprv-ivdslun-shrink.md

File metadata and controls

161 lines (126 loc) · 5.07 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NF:vdshwprv.IVdsLun.Shrink
IVdsLun::Shrink (vdshwprv.h)
The IVdsLun::Shrink (vdshwprv.h) method shrinks a LUN by a specified number of bytes.
IVdsLun interface [VDS]
Shrink method
IVdsLun.Shrink
IVdsLun::Shrink
Shrink
Shrink method [VDS]
Shrink method [VDS]
IVdsLun interface
base.ivdslun_shrink
vds/IVdsLun::Shrink
vdshwprv/IVdsLun::Shrink
base\ivdslun_shrink.htm
base
a02f7741-c17a-48f3-a823-292613aa287b
08/08/2022
IVdsLun interface [VDS],Shrink method, IVdsLun.Shrink, IVdsLun::Shrink, Shrink, Shrink method [VDS], Shrink method [VDS],IVdsLun interface, base.ivdslun_shrink, vds/IVdsLun::Shrink, vdshwprv/IVdsLun::Shrink
vdshwprv.h
Windows
Windows Vista [desktop apps only]
Windows Server 2003 [desktop apps only]
Uuid.lib
Windows
19H1
IVdsLun::Shrink
vdshwprv/IVdsLun::Shrink
c++
APIRef
kbSyntax
COM
Uuid.lib
Uuid.dll
IVdsLun.Shrink

IVdsLun::Shrink

-description

[Beginning with Windows 8 and Windows Server 2012, the Virtual Disk Service COM interface is superseded by the Windows Storage Management API.]

Shrinks a LUN by a specified number of bytes.

-parameters

-param ullNumberOfBytesToRemove [in]

The number of bytes by which to shrink the LUN. The number of bytes is not required to be an even multiple of the block or sector size.

-param ppAsync [out]

The address of an IVdsAsync interface pointer. Callers must release the interface. Use this interface to cancel, wait for, or query the status of the operation.

-returns

This method can return standard HRESULT values, such as E_INVALIDARG or E_OUTOFMEMORY, and VDS-specific return values. It can also return converted system error codes using the HRESULT_FROM_WIN32 macro. Errors can originate from VDS itself or from the underlying VDS provider that is being used. Possible return values include the following.

Return code/value Description
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
This return value signals a software or communication problem inside a provider that caches information about the array. Use the IVdsHwProvider::Reenumerate method followed by the IVdsHwProvider::Refresh method to restore the cache.
VDS_E_OBJECT_DELETED
0x8004240BL
The LUN object is no longer present.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
The LUN is in a failed state and is unable to perform the requested operation.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Another operation is in progress; this operation cannot proceed until the previous operation or operations are complete.

-remarks

Implementers must return a pointer to the IVdsAsync interface for this method, regardless of whether the call initiates an asynchronous operation.

After the LUN is shrunk, the caller should use the IOCTL_DISK_UPDATE_PROPERTIES control code to make the updated disk size visible on the computer to which the LUN is unmasked.

Implementers must remove the bytes from the end of the LUN.

-see-also

IVdsAsync

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::Extend