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