Go to the source code of this file.
|
RTL_GENERIC_COMPARE_RESULTS NTAPI | NpEventTableCompareRoutine (IN PRTL_GENERIC_TABLE Table, IN PVOID FirstStruct, IN PVOID SecondStruct) |
|
PVOID NTAPI | NpEventTableAllocate (IN PRTL_GENERIC_TABLE Table, IN CLONG ByteSize) |
|
VOID NTAPI | NpEventTableDeallocate (IN PRTL_GENERIC_TABLE Table, IN PVOID Buffer) |
|
BOOLEAN NTAPI | NpDeleteEventTableEntry (IN PRTL_GENERIC_TABLE Table, IN PVOID Buffer) |
|
VOID NTAPI | NpDeleteFcb (IN PNP_FCB Fcb, IN PLIST_ENTRY ListEntry) |
|
VOID NTAPI | NpDeleteCcb (IN PNP_CCB Ccb, IN PLIST_ENTRY ListEntry) |
|
VOID NTAPI | NpInitializeVcb (VOID) |
|
NTSTATUS NTAPI | NpCreateRootDcbCcb (IN PNP_ROOT_DCB_FCB *NewRootCcb) |
|
NTSTATUS NTAPI | NpCreateRootDcb (VOID) |
|
NTSTATUS NTAPI | NpCreateFcb (IN PNP_DCB Dcb, IN PUNICODE_STRING PipeName, IN ULONG MaximumInstances, IN LARGE_INTEGER Timeout, IN USHORT NamedPipeConfiguration, IN USHORT NamedPipeType, OUT PNP_FCB *NewFcb) |
|
NTSTATUS NTAPI | NpCreateCcb (IN PNP_FCB Fcb, IN PFILE_OBJECT FileObject, IN UCHAR State, IN UCHAR ReadMode, IN UCHAR CompletionMode, IN ULONG InQuota, IN ULONG OutQuota, OUT PNP_CCB *NewCcb) |
|
◆ NPFS_BUGCHECK_FILE_ID
◆ NpCreateCcb()
Definition at line 304 of file strucsup.c.
312{
317
320
322 if (!CcbNonPaged)
323 {
326 }
327
330
333 Ccb->NonPagedCcb = CcbNonPaged;
339
342 {
346 }
347
350 {
355 }
356
358
359 Fcb->CurrentInstances++;
360 Fcb->ServerOpenCount++;
365}
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
NTSTATUS NTAPI NpUninitializeDataQueue(IN PNP_DATA_QUEUE DataQueue)
NTSTATUS NTAPI NpInitializeDataQueue(IN PNP_DATA_QUEUE DataQueue, IN ULONG Quota)
#define NT_SUCCESS(StatCode)
#define NPFS_NTC_NONPAGED_CCB
#define InsertTailList(ListHead, Entry)
#define ExAllocatePoolWithTag(hernya, size, tag)
NTSTATUS ExInitializeResourceLite(PULONG res)
#define InitializeListHead(ListHead)
#define FILE_PIPE_OUTBOUND
#define FILE_PIPE_INBOUND
#define FILE_PIPE_SERVER_END
struct _FCB::@729::@732 Fcb
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Referenced by NpCreateExistingNamedPipe(), and NpCreateNewNamedPipe().
◆ NpCreateFcb()
Definition at line 210 of file strucsup.c.
217{
223
224 Length = PipeName->Length;
226
228 {
230 }
231
234 {
239 {
241 }
242 }
243
246
248 Fcb->MaximumInstances = MaximumInstances;
253
257 if (!NameBuffer)
258 {
261 }
262
264
265 if (RootPipe)
266 {
269 PipeName->Buffer,
270 PipeName->Length);
271 }
272 else
273 {
275 PipeName->Buffer,
276 PipeName->Length);
277 }
278
280
283 Fcb->FullName.Buffer = NameBuffer;
284
288
291 &
Fcb->PrefixTableEntry))
292 {
294 }
295
296 Fcb->NamedPipeConfiguration = NamedPipeConfiguration;
297 Fcb->NamedPipeType = NamedPipeType;
300}
#define OBJ_NAME_PATH_SEPARATOR
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB * Dcb
#define NpBugCheck(p1, p2, p3)
#define NPFS_NAME_BLOCK_TAG
_In_ ULONG _In_ ULONG _In_ ULONG Length
UNICODE_PREFIX_TABLE PrefixTable
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INVALID_PARAMETER
BOOLEAN NTAPI RtlInsertUnicodePrefix(PUNICODE_PREFIX_TABLE PrefixTable, PUNICODE_STRING Prefix, PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry)
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
Referenced by NpCreateNewNamedPipe().
◆ NpCreateRootDcb()
Definition at line 165 of file strucsup.c.
166{
169
171 {
173 }
174
177 {
179 }
180
184
189
193
195 Dcb->ShortName.MaximumLength =
Dcb->FullName.MaximumLength;
197
200 &
Dcb->PrefixTableEntry))
201 {
203 }
204
206}
#define NPFS_NTC_ROOT_DCB
Referenced by DriverEntry().
◆ NpCreateRootDcbCcb()
◆ NpDeleteCcb()
Definition at line 92 of file strucsup.c.
94{
97
100 {
102 --
Ccb->
Fcb->CurrentInstances;
103
113 if (
Ccb->ClientSession)
114 {
117 }
119 }
121 {
123 }
124
126}
VOID NTAPI NpCheckForNotify(IN PNP_DCB Dcb, IN BOOLEAN SecondList, IN PLIST_ENTRY List)
struct _NP_ROOT_DCB_CCB * PNP_ROOT_DCB_FCB
VOID NTAPI NpUninitializeSecurity(IN PNP_CCB Ccb)
#define RemoveEntryList(Entry)
#define ExDeleteResourceLite(res)
#define FILE_PIPE_CLIENT_END
BOOLEAN NTAPI NpDeleteEventTableEntry(IN PRTL_GENERIC_TABLE Table, IN PVOID Buffer)
RTL_GENERIC_TABLE EventTable
Referenced by NpCommonClose(), NpCreateExistingNamedPipe(), NpCreateNewNamedPipe(), and NpSetClosingPipeState().
◆ NpDeleteEventTableEntry()
◆ NpDeleteFcb()
Definition at line 63 of file strucsup.c.
65{
68
71
75 ListEntry);
76
78
79 if (
Fcb->SecurityDescriptor)
80 {
82 }
83
88}
NTSTATUS NTAPI NpCancelWaiter(IN PNP_WAIT_QUEUE WaitQueue, IN PUNICODE_STRING PipeName, IN NTSTATUS Status, IN PLIST_ENTRY ListEntry)
VOID NTAPI ObDereferenceSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN ULONG Count)
#define STATUS_OBJECT_NAME_NOT_FOUND
VOID NTAPI RtlRemoveUnicodePrefix(PUNICODE_PREFIX_TABLE PrefixTable, PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry)
Referenced by NpCreateNewNamedPipe(), and NpSetClosingPipeState().
◆ NpEventTableAllocate()
◆ NpEventTableCompareRoutine()
◆ NpEventTableDeallocate()
◆ NpInitializeVcb()
Definition at line 130 of file strucsup.c.
131{
133
135
143 0);
145}
VOID NTAPI NpInitializeWaitQueue(IN PNP_WAIT_QUEUE WaitQueue)
VOID NTAPI RtlInitializeGenericTable(IN PRTL_GENERIC_TABLE Table, IN PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine, IN PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine, IN PRTL_GENERIC_FREE_ROUTINE FreeRoutine, IN PVOID TableContext)
RTL_GENERIC_COMPARE_RESULTS NTAPI NpEventTableCompareRoutine(IN PRTL_GENERIC_TABLE Table, IN PVOID FirstStruct, IN PVOID SecondStruct)
PVOID NTAPI NpEventTableAllocate(IN PRTL_GENERIC_TABLE Table, IN CLONG ByteSize)
VOID NTAPI NpEventTableDeallocate(IN PRTL_GENERIC_TABLE Table, IN PVOID Buffer)
VOID NTAPI RtlInitializeUnicodePrefix(PUNICODE_PREFIX_TABLE PrefixTable)
Referenced by DriverEntry().
◆ NpRootDCBName
WCHAR NpRootDCBName[] = L"\\" |
◆ NpVcb
Definition at line 19 of file strucsup.c.
Referenced by DriverEntry(), NpAcquireExclusiveVcb(), NpAcquireSharedVcb(), NpCommonClose(), NpCreateExistingNamedPipe(), NpCreateFcb(), NpCreateRootDcb(), NpDeleteCcb(), NpDeleteFcb(), NpFindPrefix(), NpFsdCreate(), NpInitializeVcb(), NpOpenNamedPipeFileSystem(), NpQueryNameInfo(), NpReleaseVcb(), NpSetDisconnectedPipeState(), NpSetListeningPipeState(), and NpWaitForNamedPipe().