// Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved #pragma once // // Util.h - Shared utilities // #define STR_FROM_bool(x) ( x ? L"TRUE" : L"FALSE" ) _COM_SMARTPTR_TYPEDEF(IDiskQuotaControl, IID_IDiskQuotaControl); #define GET_NOTHING 0x00000000 #define GET_ALL_PROPERTIES 0xFFFFFFFF #define GET_DEVICEID 0x00000001 #define GET_PROVIDER_NAME 0x00000002 #define GET_VOLUME_NAME 0x00000004 #define GET_FILE_SYSTEM 0x00000008 #define GET_VOLUME_SERIAL_NUMBER 0x00000010 #define GET_COMPRESSED 0x00000020 #define GET_SUPPORTS_FILE_BASED_COMPRESSION 0x00000040 #define GET_MAXIMUM_COMPONENT_LENGTH 0x00000080 #define GET_SUPPORTS_DISK_QUOTAS 0x00000100 #define GET_QUOTAS_INCOMPLETE 0x00000200 #define GET_QUOTAS_REBUILDING 0x00000400 #define GET_QUOTAS_DISABLED 0x00000800 #define GET_PERFORM_AUTOCHECK 0x00001000 #define GET_FREE_SPACE 0x00002000 #define GET_SIZE 0x00004000 #define GET_VOL_INFO (GET_VOLUME_NAME | \ GET_FILE_SYSTEM | \ GET_VOLUME_SERIAL_NUMBER | \ GET_COMPRESSED | \ GET_SUPPORTS_FILE_BASED_COMPRESSION | \ GET_MAXIMUM_COMPONENT_LENGTH | \ GET_SUPPORTS_DISK_QUOTAS | \ GET_QUOTAS_INCOMPLETE | \ GET_QUOTAS_REBUILDING | \ GET_QUOTAS_DISABLED | \ GET_PERFORM_AUTOCHECK) #define SPIN_DISK (GET_VOL_INFO | \ GET_FREE_SPACE | \ GET_SIZE) enum { PROP_DEVICEID = 0, PROP_PROVIDER_NAME = 1, PROP_VOLUME_NAME = 2, PROP_FILE_SYSTEM = 3, PROP_VOLUME_SERIAL_NUMBER = 4, PROP_COMPRESSED = 5, PROP_SUPPORTS_FILE_BASED_COMPRESSION = 6, PROP_MAXIMUM_COMPONENT_LENGTH = 7, PROP_SUPPORTS_DISK_QUOTAS = 8, PROP_QUOTAS_INCOMPLETE = 9, PROP_QUOTAS_REBUILDING = 10, PROP_QUOTAS_DISABLED = 11, PROP_PERFORM_AUTOCHECK = 12, PROP_FREE_SPACE = 13, PROP_SIZE = 14, PROP_COUNT = 15 }; // Principal function of this server. HRESULT GetMappedDisksAndData( DWORD dwReqProps, VARIANT* pvarData); HRESULT GetSingleMappedDiskAndData( BSTR bstrDrive, DWORD dwReqProps, VARIANT* pvarData); void GetMappedDriveList( LPWSTR wstrDrives, std::vector<_bstr_t>& vecMappedDrives); HRESULT GetMappedDriveInfo( LPCWSTR wstrDriveName, long lDrivePropArrayDriveIndex, SAFEARRAY* saDriveProps, DWORD dwReqProps); HRESULT GetProviderName( LPCWSTR wstrDriveName, long lDrivePropArrayDriveIndex, SAFEARRAY* saDriveProps); HRESULT GetDriveVolumeInformation( LPCWSTR wstrDriveName, long lDrivePropArrayDriveIndex, SAFEARRAY* saDriveProps); HRESULT GetDriveFreeSpace( LPCWSTR wstrDriveName, long lDrivePropArrayDriveIndex, SAFEARRAY* saDriveProps); BOOLEAN IsVolumeDirty( _bstr_t &bstrtNtDriveName, BOOLEAN *Result); HRESULT SetProperty( long lDrivePropArrayDriveIndex, long lDrivePropArrayPropIndex, LPCWSTR wstrPropValue, SAFEARRAY* saDriveProps);