Go to the source code of this file.
|
BOOLEAN | InfOpenFile (PHINF InfHandle, PCSTR FileName, PULONG ErrorLine) |
|
VOID | InfCloseFile (HINF InfHandle) |
|
BOOLEAN | InfFindFirstLine (HINF InfHandle, PCSTR Section, PCSTR Key, PINFCONTEXT Context) |
|
BOOLEAN | InfFindNextLine (PINFCONTEXT ContextIn, PINFCONTEXT ContextOut) |
|
BOOLEAN | InfFindFirstMatchLine (PINFCONTEXT ContextIn, PCSTR Key, PINFCONTEXT ContextOut) |
|
BOOLEAN | InfFindNextMatchLine (PINFCONTEXT ContextIn, PCSTR Key, PINFCONTEXT ContextOut) |
|
LONG | InfGetLineCount (HINF InfHandle, PCSTR Section) |
|
LONG | InfGetFieldCount (PINFCONTEXT Context) |
|
BOOLEAN | InfGetBinaryField (PINFCONTEXT Context, ULONG FieldIndex, PUCHAR ReturnBuffer, ULONG ReturnBufferSize, PULONG RequiredSize) |
|
BOOLEAN | InfGetIntField (PINFCONTEXT Context, ULONG FieldIndex, LONG *IntegerValue) |
|
BOOLEAN | InfGetMultiSzField (PINFCONTEXT Context, ULONG FieldIndex, PCHAR ReturnBuffer, ULONG ReturnBufferSize, PULONG RequiredSize) |
|
BOOLEAN | InfGetStringField (PINFCONTEXT Context, ULONG FieldIndex, PCHAR ReturnBuffer, ULONG ReturnBufferSize, PULONG RequiredSize) |
|
BOOLEAN | InfGetData (PINFCONTEXT Context, PCSTR *Key, PCSTR *Data) |
|
BOOLEAN | InfGetDataField (PINFCONTEXT Context, ULONG FieldIndex, PCSTR *Data) |
|
◆ MAX_INF_STRING_LENGTH
#define MAX_INF_STRING_LENGTH 512 |
◆ STATUS_BAD_SECTION_NAME_LINE
#define STATUS_BAD_SECTION_NAME_LINE (0xC0700001) |
◆ STATUS_NOT_ENOUGH_MEMORY
#define STATUS_NOT_ENOUGH_MEMORY (0xC0700004) |
◆ STATUS_SECTION_NAME_TOO_LONG
#define STATUS_SECTION_NAME_TOO_LONG (0xC0700002) |
◆ STATUS_WRONG_INF_STYLE
#define STATUS_WRONG_INF_STYLE (0xC0700003) |
◆ HINF
◆ INFCONTEXT
◆ PHINF
◆ PINFCONTEXT
◆ InfCloseFile()
Definition at line 1028 of file inffile.c.
1029{
1031
1033
1035 {
1036 return;
1037 }
1038
1040 {
1042 }
1044
1046}
FORCEINLINE VOID FrLdrTempFree(PVOID Allocation, ULONG Tag)
static PINFCACHESECTION InfpCacheFreeSection(PINFCACHESECTION Section)
struct _INFCACHE * PINFCACHE
◆ InfFindFirstLine()
◆ InfFindFirstMatchLine()
Definition at line 1135 of file inffile.c.
1139{
1141
1144
1147
1149 while (CacheLine !=
NULL)
1150 {
1152 {
1153
1154 if (ContextIn != ContextOut)
1155 {
1156 ContextOut->
Inf = ContextIn->
Inf;
1158 }
1160
1162 }
1163
1164 CacheLine = CacheLine->
Next;
1165 }
1166
1168}
struct _INFCACHESECTION * PINFCACHESECTION
struct _INFCACHELINE * Next
◆ InfFindNextLine()
Definition at line 1107 of file inffile.c.
1110{
1112
1113 if ((ContextIn ==
NULL) || (ContextOut ==
NULL))
1115
1118
1122
1123 if (ContextIn != ContextOut)
1124 {
1125 ContextOut->
Inf = ContextIn->
Inf;
1127 }
1129
1131}
struct _INFCACHELINE * PINFCACHELINE
◆ InfFindNextMatchLine()
Definition at line 1172 of file inffile.c.
1176{
1178
1181
1184
1187 {
1189 {
1190
1191 if (ContextIn != ContextOut)
1192 {
1193 ContextOut->
Inf = ContextIn->
Inf;
1195 }
1197
1199 }
1200
1201 CacheLine = CacheLine->
Next;
1202 }
1203
1205}
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
◆ InfGetBinaryField()
Definition at line 1260 of file inffile.c.
1266{
1272
1274 {
1275
1277 }
1278
1281
1283
1286
1289 CacheField = CacheField->
Next;
1290
1292
1295
1296 if (ReturnBuffer !=
NULL)
1297 {
1300
1301
1303 while (CacheField !=
NULL)
1304 {
1306
1308 CacheField = CacheField->
Next;
1309 }
1310 }
1311
1313}
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
_In_ DWORD _In_ DWORD ReturnBufferSize
struct _INFCACHEFIELD * Next
PINFCACHEFIELD FirstField
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
◆ InfGetData()
◆ InfGetDataField()
Definition at line 1515 of file inffile.c.
1519{
1523
1525 {
1526
1528 }
1529
1531
1534
1536 {
1538 }
1539 else
1540 {
1543 CacheField = CacheField->
Next;
1544
1546 }
1547
1549}
◆ InfGetFieldCount()
Definition at line 1250 of file inffile.c.
1251{
1253 return 0;
1254
1256}
◆ InfGetIntField()
◆ InfGetLineCount()
Definition at line 1209 of file inffile.c.
1212{
1215
1216 if ((InfHandle ==
NULL) || (Section ==
NULL))
1217 {
1218
1219 return -1;
1220 }
1221
1223
1224
1225 CacheSection =
Cache->FirstSection;
1226 while (CacheSection !=
NULL)
1227 {
1228
1229
1230
1232 {
1234 }
1235
1236
1237 CacheSection = CacheSection->
Next;
1238 }
1239
1240
1241
1242 return -1;
1243}
◆ InfGetMultiSzField()
Definition at line 1361 of file inffile.c.
1367{
1374
1376 {
1377
1379 }
1380
1383
1385
1388
1391 CacheField = CacheField->
Next;
1392
1393
1394 FieldPtr = CacheField;
1397 {
1399 FieldPtr = FieldPtr->
Next;
1400 }
1402
1405
1406 if (ReturnBuffer !=
NULL)
1407 {
1410
1411
1413 FieldPtr = CacheField;
1414 while (FieldPtr !=
NULL)
1415 {
1417
1419
1421 FieldPtr = FieldPtr->
Next;
1422 }
1424 }
1425
1427}
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
◆ InfGetStringField()
Definition at line 1431 of file inffile.c.
1437{
1443
1445 {
1446
1448 }
1449
1452
1454
1457
1459 {
1461 }
1462 else
1463 {
1466 CacheField = CacheField->
Next;
1467
1469 }
1470
1472
1475
1476 if (ReturnBuffer !=
NULL)
1477 {
1480
1482 }
1483
1485}
◆ InfOpenFile()
Definition at line 918 of file inffile.c.
922{
930
932 *ErrorLine = (
ULONG) - 1;
933
934
935
936
939 {
941 }
942
943
944
945
948 {
951 }
953
954
955
956
958 if (!FileBuffer)
959 {
962 }
963
964
965
966
969 {
973 }
974
975
976
977
979
980
981
982
984
985
986
987
990 {
993 }
994
995
996
997
999
1000
1001
1002
1004 FileBuffer,
1006 ErrorLine);
1008 {
1011 }
1012
1013
1014
1015
1017
1018
1019
1020
1022
1024}
ARC_STATUS ArcClose(ULONG FileId)
ARC_STATUS ArcGetFileInformation(ULONG FileId, FILEINFORMATION *Information)
ARC_STATUS ArcOpen(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
ARC_STATUS ArcRead(ULONG FileId, VOID *Buffer, ULONG N, ULONG *Count)
FORCEINLINE PVOID FrLdrTempAlloc(_In_ SIZE_T Size, _In_ ULONG Tag)
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
static BOOLEAN InfpParseBuffer(PINFCACHE file, PCCHAR buffer, PCCHAR end, PULONG error_line)
#define RtlZeroMemory(Destination, Length)
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
Referenced by LoadReactOSSetup(), and SetupOpenInfFileExW().