/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: Wdffileobject.h Environment: user mode NOTE: This header is generated by stubwork. To modify contents, add or remove or tags in the corresponding .x and .y template files. --*/ #pragma once #ifndef WDF_EXTERN_C #ifdef __cplusplus #define WDF_EXTERN_C extern "C" #define WDF_EXTERN_C_START extern "C" { #define WDF_EXTERN_C_END } #else #define WDF_EXTERN_C #define WDF_EXTERN_C_START #define WDF_EXTERN_C_END #endif #endif WDF_EXTERN_C_START typedef enum _WDF_FILE_INFORMATION_CLASS { WdfFileInformationDirectory = 1, WdfFileInformationFullDirectory, // 2 WdfFileInformationBothDirectory, // 3 WdfFileInformationBasic, // 4 WdfFileInformationStandard, // 5 WdfFileInformationInternal, // 6 WdfFileInformationEa, // 7 WdfFileInformationAccess, // 8 WdfFileInformationName, // 9 WdfFileInformationRename, // 10 WdfFileInformationLink, // 11 WdfFileInformationNames, // 12 WdfFileInformationDisposition, // 13 WdfFileInformationPosition, // 14 WdfFileInformationFullEa, // 15 WdfFileInformationMode, // 16 WdfFileInformationAlignment, // 17 WdfFileInformationAll, // 18 WdfFileInformationAllocation, // 19 WdfFileInformationEndOfFile, // 20 WdfFileInformationAlternateName, // 21 WdfFileInformationStream, // 22 WdfFileInformationPipe, // 23 WdfFileInformationPipeLocal, // 24 WdfFileInformationPipeRemote, // 25 WdfFileInformationMailslotQuery, // 26 WdfFileInformationMailslotSet, // 27 WdfFileInformationCompression, // 28 WdfFileInformationObjectId, // 29 WdfFileInformationCompletion, // 30 WdfFileInformationMoveCluster, // 31 WdfFileInformationQuota, // 32 WdfFileInformationReparsePoint, // 33 WdfFileInformationNetworkOpen, // 34 WdfFileInformationAttributeTag, // 35 WdfFileInformationTracking, // 36 WdfFileInformationIdBothDirectory, // 37 WdfFileInformationIdFullDirectory, // 38 WdfFileInformationValidDataLength, // 39 WdfFileInformationShortName, // 40 WdfFileInformationIoCompletionNotification, // 41 WdfFileInformationIoStatusBlockRange, // 42 WdfFileInformationIoPriorityHint, // 43 WdfFileInformationSfioReserve, // 44 WdfFileInformationSfioVolume, // 45 WdfFileInformationHardLink, // 46 WdfFileInformationProcessIdsUsingFile, // 47 WdfFileInformationNormalizedName, // 48 WdfFileInformationNetworkPhysicalName, // 49 WdfFileInformationIdGlobalTxDirectory, // 50 WdfFileInformationIsRemoteDevice, // 51 WdfFileInformationAttributeCache, // 52 WdfFileInformationMaximum, } WDF_FILE_INFORMATION_CLASS, *PWDF_FILE_INFORMATION_CLASS; // // WDF Function: WdfFileObjectGetFileName // typedef _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI PUNICODE_STRING (*PFN_WDFFILEOBJECTGETFILENAME)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFFILEOBJECT FileObject ); _IRQL_requires_max_(PASSIVE_LEVEL) PUNICODE_STRING FORCEINLINE WdfFileObjectGetFileName( _In_ WDFFILEOBJECT FileObject ) { return ((PFN_WDFFILEOBJECTGETFILENAME) WdfFunctions[WdfFileObjectGetFileNameTableIndex])(WdfDriverGlobals, FileObject); } // // WDF Function: WdfFileObjectGetDevice // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI WDFDEVICE (*PFN_WDFFILEOBJECTGETDEVICE)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFFILEOBJECT FileObject ); _IRQL_requires_max_(DISPATCH_LEVEL) WDFDEVICE FORCEINLINE WdfFileObjectGetDevice( _In_ WDFFILEOBJECT FileObject ) { return ((PFN_WDFFILEOBJECTGETDEVICE) WdfFunctions[WdfFileObjectGetDeviceTableIndex])(WdfDriverGlobals, FileObject); } // // WDF Function: WdfFileObjectGetInitiatorProcessId // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI ULONG (*PFN_WDFFILEOBJECTGETINITIATORPROCESSID)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFFILEOBJECT FileObject ); _IRQL_requires_max_(DISPATCH_LEVEL) ULONG FORCEINLINE WdfFileObjectGetInitiatorProcessId( _In_ WDFFILEOBJECT FileObject ) { return ((PFN_WDFFILEOBJECTGETINITIATORPROCESSID) WdfFunctions[WdfFileObjectGetInitiatorProcessIdTableIndex])(WdfDriverGlobals, FileObject); } // // WDF Function: WdfFileObjectGetRelatedFileObject // typedef _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI WDFFILEOBJECT (*PFN_WDFFILEOBJECTGETRELATEDFILEOBJECT)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFFILEOBJECT FileObject ); _IRQL_requires_max_(PASSIVE_LEVEL) WDFFILEOBJECT FORCEINLINE WdfFileObjectGetRelatedFileObject( _In_ WDFFILEOBJECT FileObject ) { return ((PFN_WDFFILEOBJECTGETRELATEDFILEOBJECT) WdfFunctions[WdfFileObjectGetRelatedFileObjectTableIndex])(WdfDriverGlobals, FileObject); } WDF_EXTERN_C_END