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

Function Ext2ProcessGlobalProperty

Ext4Fsd/devctl.c:231–356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

229extern CHAR gDate[];
230
231NTSTATUS
232Ext2ProcessGlobalProperty(
233 IN PDEVICE_OBJECT DeviceObject,
234 IN PEXT2_VOLUME_PROPERTY3 Property3,
235 IN ULONG Length
236)
237{
238 PEXT2_VOLUME_PROPERTY3 Property2 = (PVOID)Property3;
239 PEXT2_VOLUME_PROPERTY Property = (PVOID)Property3;
240 struct nls_table * PageTable = NULL;
241
242 NTSTATUS Status = STATUS_SUCCESS;
243 BOOLEAN GlobalDataResourceAcquired = FALSE;
244
245 __try {
246
247 if (Length < 8 || !IsFlagOn(Property->Flags, EXT2_FLAG_VP_SET_GLOBAL)) {
248 Status = STATUS_INVALID_PARAMETER;
249 __leave;
250 }
251
252 /* query Ext2Fsd's version and built date/time*/
253 if (Property->Command == APP_CMD_QUERY_VERSION) {
254 PEXT2_VOLUME_PROPERTY_VERSION PVPV =
255 (PEXT2_VOLUME_PROPERTY_VERSION) Property;
256
257 if (Length < sizeof(EXT2_VOLUME_PROPERTY_VERSION)) {
258 Status = STATUS_INVALID_PARAMETER;
259 __leave;
260 }
261
262 RtlZeroMemory(&PVPV->Date[0], 0x20);
263 RtlZeroMemory(&PVPV->Time[0], 0x20);
264 RtlZeroMemory(&PVPV->Version[0],0x1C);
265 strncpy(&PVPV->Version[0], gVersion, 0x1B);
266 strncpy(&PVPV->Date[0], gDate, 0x1F);
267 strncpy(&PVPV->Time[0], gTime, 0x1F);
268 __leave;
269 }
270
271 /* must be property query/set commands */
272 if (Property->Command == APP_CMD_SET_PROPERTY) {
273 if (Length < sizeof(EXT2_VOLUME_PROPERTY)) {
274 Status = STATUS_INVALID_PARAMETER;
275 __leave;
276 }
277 } else if (Property->Command == APP_CMD_SET_PROPERTY2) {
278 if (Length < sizeof(EXT2_VOLUME_PROPERTY2)) {
279 Status = STATUS_INVALID_PARAMETER;
280 __leave;
281 }
282 } else if (Property->Command == APP_CMD_SET_PROPERTY3) {
283 if (Length < sizeof(EXT2_VOLUME_PROPERTY3)) {
284 Status = STATUS_INVALID_PARAMETER;
285 __leave;
286 }
287 } else {
288 Status = STATUS_INVALID_PARAMETER;

Callers 1

Ext2ProcessUserPropertyFunction · 0.85

Calls 2

strncpyFunction · 0.85
load_nlsFunction · 0.85

Tested by

no test coverage detected