WDK Mini Filter Example
|
#include "nc.h"
Go to the source code of this file.
Functions | |
_At_ (OutputString->Buffer, _Post_notnull_) NTSTATUS NcLoadRegistryString(_In_ HANDLE Key | |
BOOLEAN | NcIs8DOT3Compatible (_In_ PUNICODE_STRING TestName, _In_opt_ PUNICODE_STRING LongName) |
PAGED_CODE () | |
if (Status !=STATUS_BUFFER_TOO_SMALL &&Status !=STATUS_BUFFER_OVERFLOW) | |
if (TempMappingBuffer !=NULL) | |
if (TempMappingBuffer==NULL) | |
if (Status==STATUS_BUFFER_TOO_SMALL||Status==STATUS_BUFFER_OVERFLOW) | |
if (!NT_SUCCESS(Status)) | |
if (TempMappingBuffer->Type !=REG_SZ||TempMappingBuffer->DataLength >=MAXUSHORT||TempMappingBuffer->DataLength<=sizeof(WCHAR)) | |
if (OutputStringBuffer==NULL) | |
RtlCopyMemory (OutputStringBuffer, TempMappingBuffer->Data, OutputString->MaximumLength) | |
if (OutputStringBuffer !=NULL) | |
NTSTATUS | NcInitializeMapping (_In_ PUNICODE_STRING RegistryPath) |
Variables | |
_In_ PCWSTR | valueName |
_In_ PCWSTR _Out_ PUNICODE_STRING | OutputString |
ULONG | TempMappingKeyLength = 0 |
UNICODE_STRING | ValueString |
PWCHAR | OutputStringBuffer = NULL |
NTSTATUS | Status |
NcLoadRegistryStringRetry | __pad0__ |
NcLoadRegistryStringRetry | KeyValuePartialInformation |
NcLoadRegistryStringRetry | NULL |
TempMappingBuffer | |
OutputString | MaximumLength = (USHORT)TempMappingBuffer->DataLength - sizeof(WCHAR) |
OutputString | Buffer = OutputStringBuffer |
OutputString | Length = OutputString->MaximumLength |
NcLoadRegistryStringCleanup | __pad1__ |
NcLoadRegistryStringCleanup | NC_TAG |
Function Documentation
◆ _At_()
_At_ | ( | OutputString-> | Buffer, |
_Post_notnull_ | |||
) |
◆ if() [1/8]
◆ if() [2/8]
if | ( | TempMappingBuffer ! | = NULL | ) |
◆ if() [3/8]
if | ( | TempMappingBuffer | = = NULL | ) |
◆ if() [4/8]
◆ if() [5/8]
◆ if() [6/8]
if | ( | TempMappingBuffer->Type ! | = REG_SZ || TempMappingBuffer->DataLength >= MAXUSHORT || TempMappingBuffer->DataLength <= sizeof(WCHAR) | ) |
◆ if() [7/8]
if | ( | OutputStringBuffer | = = NULL | ) |
◆ if() [8/8]
if | ( | OutputStringBuffer ! | = NULL | ) |
◆ NcInitializeMapping()
NTSTATUS NcInitializeMapping | ( | _In_ PUNICODE_STRING | RegistryPath | ) |
◆ NcIs8DOT3Compatible()
BOOLEAN NcIs8DOT3Compatible | ( | _In_ PUNICODE_STRING | TestName, |
_In_opt_ PUNICODE_STRING | LongName | ||
) |
◆ PAGED_CODE()
PAGED_CODE | ( | ) |
◆ RtlCopyMemory()
RtlCopyMemory | ( | OutputStringBuffer | , |
TempMappingBuffer-> | Data, | ||
OutputString-> | MaximumLength | ||
) |
Variable Documentation
◆ __pad0__
◆ __pad1__
◆ Buffer
OutputString Buffer = OutputStringBuffer |
◆ KeyValuePartialInformation
◆ Length
OutputString Length = OutputString->MaximumLength |
◆ MaximumLength
OutputString MaximumLength = (USHORT)TempMappingBuffer->DataLength - sizeof(WCHAR) |
◆ NC_TAG
◆ NULL
◆ OutputString
_In_ PCWSTR _Out_ PUNICODE_STRING OutputString |
Initial value:
{
PKEY_VALUE_PARTIAL_INFORMATION TempMappingBuffer = NULL
◆ OutputStringBuffer
◆ Status
return Status |
Initial value:
= ZwQueryValueKey( Key,
NcLoadRegistryStringRetry KeyValuePartialInformation
Definition: ncinit.c:53
◆ TempMappingBuffer
TempMappingBuffer |
Initial value:
= ExAllocatePoolWithTag( PagedPool,
NC_TAG )
◆ TempMappingKeyLength
◆ valueName
◆ ValueString
Services Overview
Architect, implement and test file system filter drivers for a wide range of functionality. We can offer several levels of assistance to meet your specific.
Contact Us
You are welcome to contact us for salse or partnership.
Sales: sales@easefilter.com
Support: support@easefilter.com
Info: info@easefilter.com