| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/shared/ |
Upload File : |
/*++
Copyright (c) 1996-1999 Microsoft Corporation
Module Name:
fttypes.h
Abstract:
This header file defines types and structures for the FT API
and the IOCTLs used to implement the FT API.
Notes:
Revision History:
--*/
#if !defined( _FT_TYPES_DEFINITION_ )
#define _FT_TYPES_DEFINITION_ 1
#if _MSC_VER > 1000
#pragma once
#endif
#include <winapifamily.h>
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
//
// The logical disk id type is used to uniquely identify a logical disk. It
// needs to be unique in the universe.
//
typedef LONGLONG FT_LOGICAL_DISK_ID, *PFT_LOGICAL_DISK_ID;
#if (NTDDI_VERSION < NTDDI_VISTA)
//
// This enumerated type defines all of the different types of logical
// disks that can be constructed with this API.
//
typedef enum _FT_LOGICAL_DISK_TYPE {
FtPartition,
FtVolumeSet,
FtStripeSet,
FtMirrorSet,
FtStripeSetWithParity,
FtRedistribution
} FT_LOGICAL_DISK_TYPE, *PFT_LOGICAL_DISK_TYPE;
//
// This enumerated type defines all of the possible states that members
// of an FT set can have.
//
typedef enum _FT_MEMBER_STATE {
FtMemberHealthy,
FtMemberRegenerating,
FtMemberOrphaned
} FT_MEMBER_STATE, *PFT_MEMBER_STATE;
//
// This is the structure needed for the configuration information of
// a logical disk type of 'FtPartition'.
//
typedef struct _FT_PARTITION_CONFIGURATION_INFORMATION {
ULONG Signature;
ULONG DiskNumber;
LONGLONG ByteOffset;
} FT_PARTITION_CONFIGURATION_INFORMATION, *PFT_PARTITION_CONFIGURATION_INFORMATION;
//
// This is the structure needed for the configuration information of
// a logical disk type of 'FtStripeSet'.
//
typedef struct _FT_STRIPE_SET_CONFIGURATION_INFORMATION {
ULONG StripeSize;
} FT_STRIPE_SET_CONFIGURATION_INFORMATION, *PFT_STRIPE_SET_CONFIGURATION_INFORMATION;
//
// This is the structure needed for the configuration information of
// a logical disk type of 'FtMirrorSet'.
//
typedef struct _FT_MIRROR_SET_CONFIGURATION_INFORMATION {
LONGLONG MemberSize;
} FT_MIRROR_SET_CONFIGURATION_INFORMATION, *PFT_MIRROR_SET_CONFIGURATION_INFORMATION;
//
// This is the structure needed for the configuration information of
// a logical disk type of 'FtStripeSetWithParity'.
//
typedef struct _FT_STRIPE_SET_WITH_PARITY_CONFIGURATION_INFORMATION {
LONGLONG MemberSize;
ULONG StripeSize;
} FT_STRIPE_SET_WITH_PARITY_CONFIGURATION_INFORMATION, *PFT_STRIPE_SET_WITH_PARITY_CONFIGURATION_INFORMATION;
//
// This is the structure needed for the configuration information of
// a logical disk type of 'FtRedistribution'.
//
typedef struct _FT_REDISTRIBUTION_CONFIGURATION_INFORMATION {
ULONG StripeSize;
USHORT FirstMemberWidth;
USHORT SecondMemberWidth;
} FT_REDISTRIBUTION_CONFIGURATION_INFORMATION, *PFT_REDISTRIBUTION_CONFIGURATION_INFORMATION;
//
// This is the structure needed for the state of a logical disk type of
// 'FtStripeSetWithParity' or 'FtMirrorSet'.
//
typedef struct _FT_MIRROR_AND_SWP_STATE_INFORMATION {
BOOLEAN IsDirty;
BOOLEAN IsInitializing;
USHORT UnhealthyMemberNumber;
FT_MEMBER_STATE UnhealthyMemberState;
} FT_MIRROR_AND_SWP_STATE_INFORMATION, *PFT_MIRROR_AND_SWP_STATE_INFORMATION;
//
// This is the structure needed for the state of a logical disk type of
// 'FtRedistribution'.
//
typedef struct _FT_REDISTRIBUTION_STATE_INFORMATION {
LONGLONG BytesRedistributed;
} FT_REDISTRIBUTION_STATE_INFORMATION, *PFT_REDISTRIBUTION_STATE_INFORMATION;
#endif // < NTDDI_VISTA
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#endif