ReactOS 0.4.16-dev-311-g9382aa2
acdispat.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Name: acdispat.h - dispatcher (parser to interpreter interface)
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2022, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
29 *
30 * NO WARRANTY
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
42 */
43
44#ifndef _ACDISPAT_H_
45#define _ACDISPAT_H_
46
47
48#define NAMEOF_LOCAL_NTE "__L0"
49#define NAMEOF_ARG_NTE "__A0"
50
51
52/*
53 * dsargs - execution of dynamic arguments for static objects
54 */
57 ACPI_OPERAND_OBJECT *ObjDesc);
58
61 ACPI_OPERAND_OBJECT *ObjDesc);
62
65 ACPI_OPERAND_OBJECT *RgnDesc);
66
69 ACPI_OPERAND_OBJECT *ObjDesc);
70
73 ACPI_OPERAND_OBJECT *ObjDesc);
74
75
76/*
77 * dscontrol - support for execution control opcodes
78 */
81 ACPI_WALK_STATE *WalkState,
83
86 ACPI_WALK_STATE *WalkState,
88
89
90/*
91 * dsopcode - support for late operand evaluation
92 */
95 ACPI_WALK_STATE *WalkState,
97
100 ACPI_WALK_STATE *WalkState,
102
105 ACPI_WALK_STATE *WalkState,
107
110 ACPI_WALK_STATE *WalkState,
112 ACPI_OPERAND_OBJECT *ObjDesc);
113
116 ACPI_WALK_STATE *WalkState,
118
121 ACPI_HANDLE ObjHandle);
122
123
124/*
125 * dsexec - Parser/Interpreter interface, method execution callbacks
126 */
129 ACPI_WALK_STATE *WalkState,
130 ACPI_OPERAND_OBJECT *ResultObj);
131
134 ACPI_WALK_STATE *WalkState,
135 ACPI_PARSE_OBJECT **OutOp);
136
140
141
142/*
143 * dsfield - Parser/Interpreter interface for AML fields
144 */
148 ACPI_NAMESPACE_NODE *RegionNode,
149 ACPI_WALK_STATE *WalkState);
150
154 ACPI_NAMESPACE_NODE *RegionNode,
155 ACPI_WALK_STATE *WalkState);
156
160 ACPI_NAMESPACE_NODE *RegionNode,
161 ACPI_WALK_STATE *WalkState);
162
166 ACPI_WALK_STATE *WalkState);
167
171 ACPI_WALK_STATE *WalkState);
172
173
174/*
175 * dsload - Parser/Interpreter interface
176 */
179 ACPI_WALK_STATE *WalkState,
180 UINT32 PassNumber);
181
182/* dsload - pass 1 namespace load callbacks */
183
186 ACPI_WALK_STATE *WalkState,
187 ACPI_PARSE_OBJECT **OutOp);
188
191 ACPI_WALK_STATE *WalkState);
192
193
194/* dsload - pass 2 namespace load callbacks */
195
198 ACPI_WALK_STATE *WalkState,
199 ACPI_PARSE_OBJECT **OutOp);
200
203 ACPI_WALK_STATE *WalkState);
204
205
206/*
207 * dsmthdat - method data (locals/args)
208 */
211 UINT8 Type,
213 ACPI_OPERAND_OBJECT *SrcDesc,
214 ACPI_WALK_STATE *WalkState);
215
220 ACPI_WALK_STATE *WalkState,
222
223void
225 ACPI_WALK_STATE *WalkState);
226
229 ACPI_OPERAND_OBJECT *ObjDesc);
230
233 UINT8 Type,
235 ACPI_WALK_STATE *WalkState,
236 ACPI_OPERAND_OBJECT **DestDesc);
237
241 UINT32 MaxParamCount,
242 ACPI_WALK_STATE *WalkState);
243
246 UINT8 Type,
248 ACPI_WALK_STATE *WalkState,
250
251void
253 ACPI_WALK_STATE *WalkState);
254
255
256/*
257 * dsmethod - Parser/Interpreter interface - control method parsing
258 */
262 ACPI_OPERAND_OBJECT *ObjDesc);
263
267 ACPI_WALK_STATE *WalkState,
269
272 ACPI_WALK_STATE *WalkState,
273 ACPI_OPERAND_OBJECT *ReturnDesc);
274
275void
277 ACPI_OPERAND_OBJECT *MethodDesc,
278 ACPI_WALK_STATE *WalkState);
279
282 ACPI_NAMESPACE_NODE *MethodNode,
283 ACPI_OPERAND_OBJECT *ObjDesc,
284 ACPI_WALK_STATE *WalkState);
285
289 ACPI_WALK_STATE *WalkState);
290
291/*
292 * dsinit
293 */
296 UINT32 TableIndex,
297 ACPI_NAMESPACE_NODE *StartNode);
298
299
300/*
301 * dsobject - Parser/Interpreter interface - object initialization and conversion
302 */
305 ACPI_WALK_STATE *WalkState,
307 ACPI_OPERAND_OBJECT **ObjDescPtr);
308
311 ACPI_WALK_STATE *WalkState,
314 ACPI_OPERAND_OBJECT **ObjDescPtr);
315
318 ACPI_WALK_STATE *WalkState,
320 UINT32 PackageLength,
321 ACPI_OPERAND_OBJECT **ObjDesc);
322
325 ACPI_WALK_STATE *WalkState,
328 ACPI_OPERAND_OBJECT **ObjDesc);
329
332 ACPI_WALK_STATE *WalkState,
335
336
337/*
338 * dspkginit - Package object initialization
339 */
343 ACPI_OPERAND_OBJECT *SourceObject,
345 void *Context);
346
347
348/*
349 * dsutils - Parser/Interpreter interface utility routines
350 */
351void
353 ACPI_WALK_STATE *WalkState);
354
357 ACPI_OPERAND_OBJECT *ReturnDesc,
358 ACPI_WALK_STATE *WalkState,
359 BOOLEAN AddReference);
360
364 ACPI_WALK_STATE *WalkState);
365
366void
369 ACPI_OPERAND_OBJECT *ResultObj,
370 ACPI_WALK_STATE *WalkState);
371
374 ACPI_WALK_STATE *WalkState,
376 UINT32 ArgsRemaining);
377
380 ACPI_WALK_STATE *WalkState,
381 ACPI_PARSE_OBJECT *FirstArg);
382
385 ACPI_WALK_STATE *WalkState);
386
387void
389 ACPI_WALK_STATE *WalkState);
390
393 ACPI_WALK_STATE *WalkState);
394
395
396/*
397 * dswscope - Scope Stack manipulation
398 */
403 ACPI_WALK_STATE *WalkState);
404
405
408 ACPI_WALK_STATE *WalkState);
409
410void
412 ACPI_WALK_STATE *WalkState);
413
414
415/*
416 * dswstate - parser WALK_STATE management routines
417 */
420 void *Object,
421 ACPI_WALK_STATE *WalkState);
422
425 UINT32 PopCount,
426 ACPI_WALK_STATE *WalkState);
427
431 ACPI_PARSE_OBJECT *Origin,
432 ACPI_OPERAND_OBJECT *MthDesc,
434
437 ACPI_WALK_STATE *WalkState,
439 ACPI_NAMESPACE_NODE *MethodNode,
440 UINT8 *AmlStart,
441 UINT32 AmlLength,
443 UINT8 PassNumber);
444
445void
447 UINT32 PopCount,
448 ACPI_WALK_STATE *WalkState);
449
450void
452 ACPI_WALK_STATE *WalkState);
453
457
458void
460 ACPI_WALK_STATE *WalkState,
462
465 ACPI_WALK_STATE *WalkState);
466
470
474 ACPI_WALK_STATE *WalkState);
475
479 ACPI_WALK_STATE *WalkState);
480
481
482/*
483 * dsdebug - parser debugging routines
484 */
485void
488 ACPI_WALK_STATE *WalkState,
490
491#endif /* _ACDISPAT_H_ */
unsigned short UINT16
unsigned char BOOLEAN
unsigned char UINT8
unsigned int UINT32
Type
Definition: Type.h:7
ACPI_STATUS AcpiDsStoreObjectToLocal(UINT8 Type, UINT32 Index, ACPI_OPERAND_OBJECT *SrcDesc, ACPI_WALK_STATE *WalkState)
Definition: dsmthdat.c:585
ACPI_STATUS AcpiDsGetPackageArguments(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: dsargs.c:344
ACPI_STATUS AcpiDsRestartControlMethod(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT *ReturnDesc)
Definition: dsmethod.c:685
void AcpiDsObjStackPopAndDelete(UINT32 PopCount, ACPI_WALK_STATE *WalkState)
Definition: dswstate.c:441
ACPI_STATUS AcpiDsCreateField(ACPI_PARSE_OBJECT *Op, ACPI_NAMESPACE_NODE *RegionNode, ACPI_WALK_STATE *WalkState)
Definition: dsfield.c:534
ACPI_STATUS AcpiDsScopeStackPush(ACPI_NAMESPACE_NODE *Node, ACPI_OBJECT_TYPE Type, ACPI_WALK_STATE *WalkState)
Definition: dswscope.c:107
ACPI_STATUS AcpiDsBuildInternalPackageObj(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *op, UINT32 PackageLength, ACPI_OPERAND_OBJECT **ObjDesc)
Definition: dspkginit.c:94
ACPI_STATUS AcpiDsAutoSerializeMethod(ACPI_NAMESPACE_NODE *Node, ACPI_OPERAND_OBJECT *ObjDesc)
Definition: dsmethod.c:94
ACPI_STATUS AcpiDsMethodError(ACPI_STATUS Status, ACPI_WALK_STATE *WalkState)
Definition: dsmethod.c:223
void AcpiDsTerminateControlMethod(ACPI_OPERAND_OBJECT *MethodDesc, ACPI_WALK_STATE *WalkState)
Definition: dsmethod.c:779
void AcpiDsPushWalkState(ACPI_WALK_STATE *WalkState, ACPI_THREAD_STATE *Thread)
Definition: dswstate.c:526
ACPI_STATUS AcpiDsGetBufferFieldArguments(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: dsargs.c:196
ACPI_STATUS AcpiDsMethodDataGetValue(UINT8 Type, UINT32 Index, ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT **DestDesc)
Definition: dsmthdat.c:406
ACPI_STATUS AcpiDsResultStackClear(ACPI_WALK_STATE *WalkState)
ACPI_STATUS AcpiDsCreateNode(ACPI_WALK_STATE *WalkState, ACPI_NAMESPACE_NODE *Node, ACPI_PARSE_OBJECT *Op)
Definition: dsobject.c:302
ACPI_STATUS AcpiDsGetPredicateValue(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT *ResultObj)
Definition: dswexec.c:94
ACPI_STATUS AcpiDsEvalTableRegionOperands(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dsopcode.c:519
void AcpiDsDeleteResultIfNotUsed(ACPI_PARSE_OBJECT *Op, ACPI_OPERAND_OBJECT *ResultObj, ACPI_WALK_STATE *WalkState)
Definition: dsutils.c:359
ACPI_STATUS AcpiDsEvalBufferFieldOperands(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dsopcode.c:321
ACPI_STATUS AcpiDsLoad1EndOp(ACPI_WALK_STATE *WalkState)
Definition: dswload.c:443
void AcpiDsMethodDataDeleteAll(ACPI_WALK_STATE *WalkState)
Definition: dsmthdat.c:153
ACPI_STATUS AcpiDsExecBeginOp(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT **OutOp)
Definition: dswexec.c:234
ACPI_STATUS AcpiDsScopeStackPop(ACPI_WALK_STATE *WalkState)
Definition: dswscope.c:192
ACPI_STATUS AcpiDsEvalBankFieldOperands(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dsopcode.c:755
ACPI_STATUS AcpiDsCreateBankField(ACPI_PARSE_OBJECT *Op, ACPI_NAMESPACE_NODE *RegionNode, ACPI_WALK_STATE *WalkState)
Definition: dsfield.c:748
void AcpiDsClearOperands(ACPI_WALK_STATE *WalkState)
Definition: dsutils.c:453
ACPI_STATUS AcpiDsGetBufferArguments(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: dsargs.c:294
ACPI_STATUS AcpiDsInitializeObjects(UINT32 TableIndex, ACPI_NAMESPACE_NODE *StartNode)
Definition: dsinit.c:204
ACPI_STATUS AcpiDsBeginMethodExecution(ACPI_NAMESPACE_NODE *MethodNode, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_WALK_STATE *WalkState)
Definition: dsmethod.c:352
ACPI_WALK_STATE * AcpiDsCreateWalkState(ACPI_OWNER_ID OwnerId, ACPI_PARSE_OBJECT *Origin, ACPI_OPERAND_OBJECT *MthDesc, ACPI_THREAD_STATE *Thread)
Definition: dswstate.c:600
ACPI_STATUS AcpiDsMethodDataInitArgs(ACPI_OPERAND_OBJECT **Params, UINT32 MaxParamCount, ACPI_WALK_STATE *WalkState)
Definition: dsmthdat.c:213
void AcpiDsMethodDataInit(ACPI_WALK_STATE *WalkState)
Definition: dsmthdat.c:100
void AcpiDsClearImplicitReturn(ACPI_WALK_STATE *WalkState)
Definition: dsutils.c:73
ACPI_STATUS AcpiDsCreateOperands(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *FirstArg)
Definition: dsutils.c:753
ACPI_STATUS AcpiDsLoad1BeginOp(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT **OutOp)
Definition: dswload.c:144
ACPI_STATUS AcpiDsMethodDataGetNode(UINT8 Type, UINT32 Index, ACPI_WALK_STATE *WalkState, ACPI_NAMESPACE_NODE **Node)
Definition: dsmthdat.c:275
ACPI_STATUS AcpiDsCreateBufferField(ACPI_PARSE_OBJECT *Op, ACPI_WALK_STATE *WalkState)
Definition: dsfield.c:165
ACPI_STATUS AcpiDsCreateIndexField(ACPI_PARSE_OBJECT *Op, ACPI_NAMESPACE_NODE *RegionNode, ACPI_WALK_STATE *WalkState)
Definition: dsfield.c:842
ACPI_STATUS AcpiDsLoad2EndOp(ACPI_WALK_STATE *WalkState)
Definition: dswload2.c:418
ACPI_STATUS AcpiDsGetRegionArguments(ACPI_OPERAND_OBJECT *RgnDesc)
Definition: dsargs.c:395
BOOLEAN AcpiDsIsMethodValue(ACPI_OPERAND_OBJECT *ObjDesc)
ACPI_STATUS AcpiDsCreateOperand(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Arg, UINT32 ArgsRemaining)
Definition: dsutils.c:497
ACPI_STATUS AcpiDsInitCallbacks(ACPI_WALK_STATE *WalkState, UINT32 PassNumber)
Definition: dswload.c:73
ACPI_STATUS AcpiDsEvalRegionOperands(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dsopcode.c:408
BOOLEAN AcpiDsDoImplicitReturn(ACPI_OPERAND_OBJECT *ReturnDesc, ACPI_WALK_STATE *WalkState, BOOLEAN AddReference)
Definition: dsutils.c:123
ACPI_STATUS AcpiDsResultPop(ACPI_OPERAND_OBJECT **Object, ACPI_WALK_STATE *WalkState)
Definition: dswstate.c:78
ACPI_STATUS AcpiDsInitAmlWalk(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op, ACPI_NAMESPACE_NODE *MethodNode, UINT8 *AmlStart, UINT32 AmlLength, ACPI_EVALUATE_INFO *Info, UINT8 PassNumber)
Definition: dswstate.c:662
ACPI_STATUS AcpiDsBuildInternalObject(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op, ACPI_OPERAND_OBJECT **ObjDescPtr)
Definition: dsobject.c:72
ACPI_STATUS AcpiDsObjStackPush(void *Object, ACPI_WALK_STATE *WalkState)
Definition: dswstate.c:342
ACPI_STATUS AcpiDsInitFieldObjects(ACPI_PARSE_OBJECT *Op, ACPI_WALK_STATE *WalkState)
Definition: dsfield.c:617
ACPI_STATUS AcpiDsBuildInternalBufferObj(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op, UINT32 BufferLength, ACPI_OPERAND_OBJECT **ObjDescPtr)
Definition: dsobject.c:188
ACPI_STATUS AcpiDsResolveOperands(ACPI_WALK_STATE *WalkState)
Definition: dsutils.c:412
ACPI_STATUS AcpiDsExecBeginControlOp(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dscontrol.c:71
ACPI_STATUS AcpiDsObjStackPop(UINT32 PopCount, ACPI_WALK_STATE *WalkState)
Definition: dswstate.c:391
ACPI_STATUS AcpiDsInitializeRegion(ACPI_HANDLE ObjHandle)
Definition: dsopcode.c:82
ACPI_WALK_STATE * AcpiDsPopWalkState(ACPI_THREAD_STATE *Thread)
Definition: dswstate.c:555
ACPI_STATUS AcpiDsInitObjectFromOp(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op, UINT16 Opcode, ACPI_OPERAND_OBJECT **ObjDesc)
Definition: dsobject.c:373
ACPI_STATUS AcpiDsEvalDataObjectOperands(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op, ACPI_OPERAND_OBJECT *ObjDesc)
Definition: dsopcode.c:637
ACPI_STATUS AcpiDsGetBankFieldArguments(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: dsargs.c:245
ACPI_STATUS AcpiDsCallControlMethod(ACPI_THREAD_STATE *Thread, ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dsmethod.c:531
ACPI_WALK_STATE * AcpiDsGetCurrentWalkState(ACPI_THREAD_STATE *Thread)
Definition: dswstate.c:494
ACPI_STATUS AcpiDsExecEndOp(ACPI_WALK_STATE *State)
Definition: dswexec.c:392
ACPI_STATUS AcpiDsInitPackageElement(UINT8 ObjectType, ACPI_OPERAND_OBJECT *SourceObject, ACPI_GENERIC_STATE *State, void *Context)
Definition: dspkginit.c:369
void AcpiDsDumpMethodStack(ACPI_STATUS Status, ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dsdebug.c:249
ACPI_STATUS AcpiDsMethodDataGetEntry(UINT16 Opcode, UINT32 Index, ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT ***Node)
ACPI_STATUS AcpiDsExecEndControlOp(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT *Op)
Definition: dscontrol.c:177
void AcpiDsScopeStackClear(ACPI_WALK_STATE *WalkState)
Definition: dswscope.c:67
ACPI_STATUS AcpiDsEvaluateNamePath(ACPI_WALK_STATE *WalkState)
Definition: dsutils.c:845
ACPI_STATUS AcpiDsResultPush(ACPI_OPERAND_OBJECT *Object, ACPI_WALK_STATE *WalkState)
Definition: dswstate.c:160
BOOLEAN AcpiDsIsResultUsed(ACPI_PARSE_OBJECT *Op, ACPI_WALK_STATE *WalkState)
Definition: dsutils.c:187
void AcpiDsDeleteWalkState(ACPI_WALK_STATE *WalkState)
Definition: dswstate.c:780
ACPI_STATUS AcpiDsLoad2BeginOp(ACPI_WALK_STATE *WalkState, ACPI_PARSE_OBJECT **OutOp)
Definition: dswload2.c:74
UINT32 ACPI_OBJECT_TYPE
Definition: actypes.h:685
UINT32 ACPI_STATUS
Definition: actypes.h:460
UINT16 ACPI_OWNER_ID
Definition: actypes.h:486
UINT op
Definition: effect.c:236
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
_Must_inspect_result_ _In_opt_ PVOID OwnerId
Definition: fsrtlfuncs.h:907
Status
Definition: gdiplustypes.h:25
_In_ PVOID _In_ ULONG Opcode
Definition: hubbusif.h:331
ObjectType
Definition: metafile.c:81
Definition: dlist.c:348
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3771
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:308