3 Copyright (C) Microsoft Corporation. All rights reserved.
11 Functions for MMC area.
29 _IRQL_requires_max_(APC_LEVEL
)
31 DeviceDeallocateMmcResources(
35 _IRQL_requires_max_(PASSIVE_LEVEL
)
37 DeviceAllocateMmcResources(
41 _IRQL_requires_max_(PASSIVE_LEVEL
)
43 DeviceUpdateMmcCapabilities(
47 _IRQL_requires_max_(PASSIVE_LEVEL
)
49 DeviceGetConfigurationWithAlloc(
50 _In_ WDFDEVICE Device
,
51 _Outptr_result_bytebuffer_all_(*BytesReturned
)
52 PGET_CONFIGURATION_HEADER
* Buffer
,
53 _Out_ PULONG BytesReturned
,
54 FEATURE_NUMBER
const StartingFeature
,
55 ULONG
const RequestedType
58 _IRQL_requires_max_(PASSIVE_LEVEL
)
60 DeviceGetConfiguration(
61 _In_ WDFDEVICE Device
,
62 _Out_writes_bytes_to_(BufferSize
, *ValidBytes
)
63 PGET_CONFIGURATION_HEADER Buffer
,
64 _In_ ULONG
const BufferSize
,
65 _Out_ PULONG ValidBytes
,
66 _In_ FEATURE_NUMBER
const StartingFeature
,
67 _In_ ULONG
const RequestedType
70 _IRQL_requires_max_(APC_LEVEL
)
72 DeviceUpdateMmcWriteCapability(
73 _In_reads_bytes_(BufferSize
)
74 PGET_CONFIGURATION_HEADER Buffer
,
75 ULONG
const BufferSize
,
76 BOOLEAN
const CurrentOnly
, // TRUE == can drive write now, FALSE == can drive ever write
77 _Out_ PBOOLEAN Writable
,
78 _Out_ PFEATURE_NUMBER ValidationSchema
,
79 _Out_ PULONG BlockingFactor
82 _IRQL_requires_max_(APC_LEVEL
)
84 MmcDataFindFeaturePage(
85 _In_reads_bytes_(Length
)
86 PGET_CONFIGURATION_HEADER FeatureBuffer
,
88 FEATURE_NUMBER
const Feature
91 _IRQL_requires_max_(APC_LEVEL
)
93 MmcDataFindProfileInProfiles(
94 _In_ FEATURE_DATA_PROFILE_LIST
const* ProfileHeader
,
95 _In_ FEATURE_PROFILE_TYPE
const ProfileToFind
,
96 _In_ BOOLEAN
const CurrentOnly
,
100 _IRQL_requires_max_(APC_LEVEL
)
101 _Ret_range_(-1,MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS
)
103 DeviceRetryTimeGuessBasedOnProfile(
104 FEATURE_PROFILE_TYPE
const Profile
107 _IRQL_requires_max_(APC_LEVEL
)
108 _Ret_range_(-1,MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS
)
110 DeviceRetryTimeDetectionBasedOnModePage2A(
111 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension
114 _IRQL_requires_max_(APC_LEVEL
)
115 _Ret_range_(-1,MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS
)
117 DeviceRetryTimeDetectionBasedOnGetPerformance(
118 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension
,
119 _In_ BOOLEAN UseLegacyNominalPerformance