ReactOS 0.4.16-dev-311-g9382aa2
mmc.h
Go to the documentation of this file.
1/*++
2
3Copyright (C) Microsoft Corporation. All rights reserved.
4
5Module Name:
6
7 mmc.h
8
9Abstract:
10
11 Functions for MMC area.
12
13Author:
14
15Environment:
16
17 kernel mode only
18
19Notes:
20
21
22Revision History:
23
24--*/
25
26#ifndef __MMC_H__
27#define __MMC_H__
28
30VOID
31DeviceDeallocateMmcResources(
32 _In_ WDFDEVICE Device
33 );
34
37DeviceAllocateMmcResources(
38 _In_ WDFDEVICE Device
39 );
40
43DeviceUpdateMmcCapabilities(
44 _In_ WDFDEVICE Device
45 );
46
49DeviceGetConfigurationWithAlloc(
50 _In_ WDFDEVICE Device,
56 );
57
60DeviceGetConfiguration(
61 _In_ WDFDEVICE Device,
68 );
69
71VOID
72DeviceUpdateMmcWriteCapability(
76 BOOLEAN const CurrentOnly, // TRUE == can drive write now, FALSE == can drive ever write
80 );
81
84MmcDataFindFeaturePage(
86 PGET_CONFIGURATION_HEADER FeatureBuffer,
89 );
90
92VOID
93MmcDataFindProfileInProfiles(
94 _In_ FEATURE_DATA_PROFILE_LIST const* ProfileHeader,
98 );
99
104 FEATURE_PROFILE_TYPE const Profile
105 );
106
111 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension
112 );
113
118 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
119 _In_ BOOLEAN UseLegacyNominalPerformance
120 );
121
122#endif // __MMC_H__
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
#define MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS
Definition: cdromp.h:50
Definition: bufpool.h:45
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define APC_LEVEL
Definition: env_spec_w32.h:695
ULONG const BOOLEAN const _Out_ PBOOLEAN Writable
Definition: mmc.h:77
_Outptr_result_bytebuffer_all_ BytesReturned PGET_CONFIGURATION_HEADER _Out_ PULONG FEATURE_NUMBER const ULONG const RequestedType
Definition: mmc.h:56
ULONG const BOOLEAN const _Out_ PBOOLEAN _Out_ PFEATURE_NUMBER ValidationSchema
Definition: mmc.h:78
MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS LONGLONG DeviceRetryTimeGuessBasedOnProfile(FEATURE_PROFILE_TYPE const Profile)
ULONG const BOOLEAN const CurrentOnly
Definition: mmc.h:76
_In_ FEATURE_PROFILE_TYPE const _In_ BOOLEAN const _Out_ PBOOLEAN Found
Definition: mmc.h:98
ULONG const FEATURE_NUMBER const Feature
Definition: mmc.h:89
MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS LONGLONG DeviceRetryTimeDetectionBasedOnGetPerformance(_In_ PCDROM_DEVICE_EXTENSION DeviceExtension, _In_ BOOLEAN UseLegacyNominalPerformance)
_Outptr_result_bytebuffer_all_ BytesReturned PGET_CONFIGURATION_HEADER _Out_ PULONG FEATURE_NUMBER const StartingFeature
Definition: mmc.h:54
_In_ ULONG const _Out_ PULONG ValidBytes
Definition: mmc.h:65
ULONG const BOOLEAN const _Out_ PBOOLEAN _Out_ PFEATURE_NUMBER _Out_ PULONG BlockingFactor
Definition: mmc.h:80
MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS LONGLONG DeviceRetryTimeDetectionBasedOnModePage2A(_In_ PCDROM_DEVICE_EXTENSION DeviceExtension)
_In_ FEATURE_PROFILE_TYPE const ProfileToFind
Definition: mmc.h:95
#define _Outptr_result_bytebuffer_all_(size)
Definition: ms_sal.h:477
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Ret_range_(l, h)
Definition: no_sal2.h:372
#define _Out_writes_bytes_to_(s, c)
Definition: no_sal2.h:190
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
enum _FEATURE_NUMBER * PFEATURE_NUMBER
enum _FEATURE_NUMBER FEATURE_NUMBER
enum _FEATURE_PROFILE_TYPE FEATURE_PROFILE_TYPE
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * PBOOLEAN
Definition: typedefs.h:53
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
Definition: wdfiotarget.h:1052
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254