ReactOS 0.4.15-dev-8052-gc0e3179
fxstringapi.cpp
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation
4
5Module Name:
6
7 FxStringApi.cpp
8
9Abstract:
10
11 This module implements the "C" interface to the collection object.
12
13Author:
14
15
16
17Environment:
18
19 Both kernel and user mode
20
21Revision History:
22
23--*/
24
25#include "fxsupportpch.hpp"
26
27extern "C" {
28// #include "FxStringAPI.tmh"
29}
30
31extern "C" {
32
37WDFEXPORT(WdfStringCreate)(
38 __in
44 __out
45 WDFSTRING* String
46 )
47{
48 DDI_ENTRY();
49
53
55
56 //
57 // Get the parent's globals if it is present
58 //
62
64 StringAttributes->ParentObject,
66 (PVOID*)&pParent,
68 }
69
71
72 *String = NULL;
73
76 return status;
77 }
78
80 if (!NT_SUCCESS(status)) {
81 return status;
82 }
83
86 if (!NT_SUCCESS(status)) {
87 return status;
88 }
89 }
90
92
93 if (pString != NULL) {
94 if (UnicodeString != NULL) {
96 }
97
98 if (NT_SUCCESS(status)) {
100 }
101
102 if (!NT_SUCCESS(status)) {
104 pString = NULL;
105 }
106 }
107 else {
109
112 "Could not allocate WDFSTRING handle, %!STATUS!", status);
113 }
114
115 return status;
116}
117
119VOID
121WDFEXPORT(WdfStringGetUnicodeString)(
122 __in
124 __in
125 WDFSTRING String,
126 __out
128 )
129{
130 DDI_ENTRY();
131
135
137 String,
139 (PVOID*) &pString,
141
143
145 if (!NT_SUCCESS(status)) {
146 return;
147 }
148
151 sizeof(UNICODE_STRING));
152}
153
154} // extern "C"
LONG NTSTATUS
Definition: precomp.h:26
VOID DeleteFromFailedCreate(VOID)
Definition: fxobject.cpp:391
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
Definition: fxobject.cpp:904
PUNICODE_STRING __inline GetUnicodeString(VOID)
Definition: fxstring.hpp:64
_Must_inspect_result_ NTSTATUS Assign(__in PCWSTR SourceString)
Definition: fxstring.cpp:57
#define __in
Definition: dbghelp.h:35
#define __in_opt
Definition: dbghelp.h:38
#define __out
Definition: dbghelp.h:62
#define TRACINGERROR
Definition: dbgtrace.h:63
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define __drv_maxIRQL(irql)
Definition: driverspecs.h:291
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
FxObject * pParent
Definition: fxdpcapi.cpp:86
DriverGlobals
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
Definition: fxglobals.h:597
#define DDI_ENTRY()
Definition: fxglobalskm.h:56
#define WDFEXPORT(a)
Definition: fxmacros.hpp:157
#define FxPointerNotNull(FxDriverGlobals, Ptr)
Definition: fxmacros.hpp:253
NTSTATUS status
Definition: fxstringapi.cpp:52
_Must_inspect_result_ __in_opt PCUNICODE_STRING UnicodeString
Definition: fxstringapi.cpp:41
_Must_inspect_result_ __in_opt PCUNICODE_STRING __in_opt PWDF_OBJECT_ATTRIBUTES __out WDFSTRING * String
Definition: fxstringapi.cpp:47
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), String, FX_TYPE_STRING,(PVOID *) &pString, &pFxDriverGlobals)
_Must_inspect_result_ __in_opt PCUNICODE_STRING __in_opt PWDF_OBJECT_ATTRIBUTES StringAttributes
Definition: fxstringapi.cpp:43
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_ERROR, TRACINGERROR, "Could not allocate WDFSTRING handle, %!STATUS!", status)
FxString * pString
Definition: fxstringapi.cpp:51
PFX_DRIVER_GLOBALS pFxDriverGlobals
Definition: fxstringapi.cpp:50
@ FX_TYPE_OBJECT
Definition: fxtypes.h:45
@ FX_TYPE_STRING
Definition: fxtypes.h:52
_Must_inspect_result_ NTSTATUS __inline FxValidateUnicodeString(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PCUNICODE_STRING String)
_Must_inspect_result_ NTSTATUS __inline FxValidateObjectAttributesForParentHandle(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
Definition: fxverifier.h:158
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
Definition: ps.c:97
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
#define STDCALL
Definition: wdf.h:45
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433