MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2ParseRegistryVolumeParams

Function Ext2ParseRegistryVolumeParams

Ext4Fsd/memory.c:2015–2151  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2013}
2014
2015VOID
2016Ext2ParseRegistryVolumeParams(
2017 IN PUNICODE_STRING Params,
2018 OUT PEXT2_VOLUME_PROPERTY3 Property
2019)
2020{
2021 WCHAR Codepage[CODEPAGE_MAXLEN];
2022 WCHAR Prefix[HIDINGPAT_LEN];
2023 WCHAR Suffix[HIDINGPAT_LEN];
2024 USHORT MountPoint[4];
2025 UCHAR DrvLetter[4];
2026 WCHAR wUID[8], wGID[8], wEUID[8], wEGID[8];
2027 CHAR sUID[8], sGID[8], sEUID[8], sEGID[8];
2028
2029 BOOLEAN bWriteSupport = FALSE,
2030 bCheckBitmap = FALSE,
2031 bCodeName = FALSE,
2032 bMountPoint = FALSE;
2033 BOOLEAN bUID = 0, bGID = 0, bEUID = 0, bEGID = 0;
2034
2035 struct {
2036 PWCHAR Name; /* parameters name */
2037 PBOOLEAN bExist; /* is it contained in params */
2038 USHORT Length; /* parameter value length */
2039 PWCHAR uValue; /* value buffer in unicode */
2040 PCHAR aValue; /* value buffer in ansi */
2041 } ParamPattern[] = {
2042 /* writing support */
2043 {READING_ONLY, &Property->bReadonly, 0, NULL, NULL},
2044 {WRITING_SUPPORT, &bWriteSupport, 0, NULL, NULL},
2045 {EXT3_FORCEWRITING, &Property->bExt3Writable, 0, NULL, NULL},
2046
2047 /* need check bitmap */
2048 {CHECKING_BITMAP, &bCheckBitmap, 0, NULL, NULL},
2049 /* codepage */
2050 {CODEPAGE_NAME, &bCodeName, CODEPAGE_MAXLEN,
2051 &Codepage[0], Property->Codepage},
2052 /* filter prefix and suffix */
2053 {HIDING_PREFIX, &Property->bHidingPrefix, HIDINGPAT_LEN,
2054 &Prefix[0], Property->sHidingPrefix},
2055 {HIDING_SUFFIX, &Property->bHidingSuffix, HIDINGPAT_LEN,
2056 &Suffix[0], Property->sHidingSuffix},
2057 {MOUNT_POINT, &bMountPoint, 4,
2058 &MountPoint[0], &DrvLetter[0]},
2059
2060 {UID, &bUID, 8, &wUID[0], &sUID[0],},
2061 {GID, &bGID, 8, &wGID[0], &sGID[0]},
2062 {EUID, &bEUID, 8, &wEUID[0], &sEUID[0]},
2063 {EGID, &bEGID, 8, &wEGID[0], &sEGID[0]},
2064
2065 /* end */
2066 {NULL, NULL, 0, NULL}
2067 };
2068
2069 USHORT i, j, k;
2070
2071 RtlZeroMemory(Codepage, sizeof(WCHAR) * CODEPAGE_MAXLEN);
2072 RtlZeroMemory(Prefix, sizeof(WCHAR) * HIDINGPAT_LEN);

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected