ReactOS 0.4.16-dev-199-g898cc56
bdasup.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _BDA_PIN_PAIRING
 
struct  _BDA_FILTER_TEMPLATE
 
struct  _KSM_PIN_PAIR
 
struct  _KSM_PIN
 

Macros

#define STDMETHODCALLTYPE   __stdcall
 

Typedefs

typedef GUIDPGUID
 
typedef ULONG BDA_TOPOLOGY_JOINT
 
typedef ULONGPBDA_TOPOLOGY_JOINT
 
typedef struct _BDA_PIN_PAIRING BDA_PIN_PAIRING
 
typedef struct _BDA_PIN_PAIRINGPBDA_PIN_PAIRING
 
typedef struct _BDA_FILTER_TEMPLATE BDA_FILTER_TEMPLATE
 
typedef struct _BDA_FILTER_TEMPLATEPBDA_FILTER_TEMPLATE
 
typedef struct _KSM_PIN_PAIR KSM_PIN_PAIR
 
typedef struct _KSM_PIN_PAIRPKSM_PIN_PAIR
 
typedef struct _KSM_PIN KSM_PIN
 
typedef struct _KSM_PINPKSM_PIN
 

Functions

_Must_inspect_result_ _IRQL_requires_ (PASSIVE_LEVEL) BdaCheckChanges(_In_ PIRP Irp)
 Sends a synchronous IOCTL to the specified device object.
 
_Must_inspect_result_ _In_ KSPROPERTY _Out_writes_bytes_ (OutputBufferLenFromIrp(Irp)) ULONG *pulProperty)
 

Variables

_Must_inspect_result_ _In_ const KSFILTER_DESCRIPTOR * pFilterDescriptor
 
_Must_inspect_result_ _In_ const KSFILTER_DESCRIPTOR _In_ const BDA_FILTER_TEMPLATEpBdaFilterTemplate
 
_Must_inspect_result_ _In_ const KSFILTER_DESCRIPTOR _In_ const BDA_FILTER_TEMPLATE _Out_opt_ PKSFILTERFACTORY * ppKSFilterFactory
 
_Must_inspect_result_ _In_ ULONG ulPinType
 
_Must_inspect_result_ _In_ ULONG _Out_opt_ ULONGpulPinId
 
_Must_inspect_result_ _In_ ULONG InputPinId
 
_Must_inspect_result_ _In_ ULONG _In_ ULONG OutputPinId
 
_Must_inspect_result_ _Out_opt_ BDA_CHANGE_STATEpChangeState
 
_Must_inspect_result_ _In_ KSMETHODpKSMethod
 
_Must_inspect_result_ _In_ KSMETHOD _Out_opt_ ULONGpulPinFactoryID
 
_Must_inspect_result_ _In_ KSMETHOD PVOID pvIgnored
 
_Must_inspect_result_ _In_ KSP_BDA_NODE_PINpProperty
 
_Must_inspect_result_ _In_ KSP_BDA_NODE_PIN _Out_opt_ ULONGpulControllingPinId
 
_Must_inspect_result_ _In_ KSPROPERTYpKSProperty
 
_Must_inspect_result_ _In_ KSPROPERTY _Out_opt_ ULONGpulProperty
 
_Must_inspect_result_ _In_ KSPROPERTY _Out_opt_ BDANODE_DESCRIPTORpNodeDescriptorProperty
 
_Must_inspect_result_ _In_ KSP_NODE _Out_opt_ GUIDpguidProperty
 
_Must_inspect_result_ _In_ KSPROPERTY _Out_opt_ KSTOPOLOGY_CONNECTIONpConnectionProperty
 

Macro Definition Documentation

◆ STDMETHODCALLTYPE

#define STDMETHODCALLTYPE   __stdcall

Definition at line 9 of file bdasup.h.

Typedef Documentation

◆ BDA_FILTER_TEMPLATE

◆ BDA_PIN_PAIRING

◆ BDA_TOPOLOGY_JOINT

Definition at line 17 of file bdasup.h.

◆ KSM_PIN

◆ KSM_PIN_PAIR

◆ PBDA_FILTER_TEMPLATE

◆ PBDA_PIN_PAIRING

◆ PBDA_TOPOLOGY_JOINT

Definition at line 17 of file bdasup.h.

◆ PGUID

typedef GUID* PGUID

Definition at line 12 of file bdasup.h.

◆ PKSM_PIN

◆ PKSM_PIN_PAIR

Function Documentation

◆ _IRQL_requires_()

_Must_inspect_result_ _IRQL_requires_ ( PASSIVE_LEVEL  )

Sends a synchronous IOCTL to the specified device object.

Parameters
[in]IoControlCodeThe IOCTL to send to the device.
[in]DeviceObjectPointer to the device object that will handle the IOCTL.
[in]InputBufferOptional pointer to a buffer containing input data for the IOCTL. When specified, the buffer should be at least of InputBufferLength size.
[in]InputBufferLengthSize in bytes, of the buffer pointed by InputBuffer.
[out]OutputBufferOptional pointer to a buffer that will receive output data from the IOCTL. When specified, the buffer should be at least of OutputBufferLength size.
[in]OutputBufferLengthSize in bytes, of the buffer pointed by OutputBuffer.
[in]FileObjectOptional pointer to a file object that may be necessary for the IOCTL.
Returns
An NTSTATUS code indicating success or failure of this function.
Note
Must be called at PASSIVE_LEVEL with all APCs enabled.

Definition at line 2121 of file class.c.

13175{
13177
13178 PAGED_CODE();
13179
13180 TracePrint((TRACE_LEVEL_VERBOSE,
13181 TRACE_FLAG_PNP,
13182 "ClassDetermineTokenOperationCommandSupport (%p): Entering function.\n",
13183 DeviceObject));
13184
13185 //
13186 // Send down Inquiry for VPD_THIRD_PARTY_COPY_PAGE and cache away the device parameters
13187 // from WINDOWS_BLOCK_DEVICE_TOKEN_LIMITS_DESCRIPTOR.
13188 //
13190
13191 if (NT_SUCCESS(status)) {
13192
13193 ULONG maxListIdentifier = MaxTokenOperationListIdentifier;
13194
13195 //
13196 // Query the maximum list identifier to use for TokenOperation commands.
13197 //
13198 if (NT_SUCCESS(ClasspGetMaximumTokenListIdentifier(DeviceObject, REG_DISK_CLASS_CONTROL, &maxListIdentifier))) {
13199 if (maxListIdentifier >= MIN_TOKEN_LIST_IDENTIFIERS) {
13200
13201 NT_ASSERT(maxListIdentifier <= MAX_TOKEN_LIST_IDENTIFIERS);
13202 MaxTokenOperationListIdentifier = maxListIdentifier;
13203 }
13204 }
13205
13206 }
13207
13208 TracePrint((TRACE_LEVEL_VERBOSE,
13209 TRACE_FLAG_PNP,
13210 "ClassDetermineTokenOperationCommandSupport (%p): Exiting function with status %x.\n",
13212 status));
13213
13214 return status;
13215}
#define PAGED_CODE()
LONG NTSTATUS
Definition: precomp.h:26
#define REG_DISK_CLASS_CONTROL
Definition: classp.h:218
#define MAX_TOKEN_LIST_IDENTIFIERS
Definition: classp.h:215
#define MIN_TOKEN_LIST_IDENTIFIERS
Definition: classp.h:214
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
ULONG MaxTokenOperationListIdentifier
Definition: class.c:107
_IRQL_requires_same_ NTSTATUS ClasspGetBlockDeviceTokenLimitsInfo(_Inout_ PDEVICE_OBJECT DeviceObject)
Definition: class.c:13220
#define STATUS_SUCCESS
Definition: shellext.h:65
#define TRACE_LEVEL_VERBOSE
Definition: storswtr.h:30
Definition: ps.c:97
uint32_t ULONG
Definition: typedefs.h:59
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
#define NT_ASSERT
Definition: rtlfuncs.h:3324

◆ _Out_writes_bytes_()

_Must_inspect_result_ _In_ KSPROPERTY _Out_writes_bytes_ ( OutputBufferLenFromIrp(Irp )

Variable Documentation

◆ InputPinId

Definition at line 96 of file bdasup.h.

Referenced by BdaCreateTopology().

◆ OutputPinId

Definition at line 97 of file bdasup.h.

Referenced by BdaCreateTopology().

◆ pBdaFilterTemplate

Definition at line 72 of file bdasup.h.

Referenced by BdaCreateFilterFactory(), and BdaInitFilter().

◆ pChangeState

Definition at line 118 of file bdasup.h.

◆ pConnectionProperty

Definition at line 221 of file bdasup.h.

Referenced by BdaPropertyTemplateConnections().

◆ pFilterDescriptor

_Must_inspect_result_ _In_opt_ const KSFILTER_DESCRIPTOR * pFilterDescriptor

Definition at line 71 of file bdasup.h.

Referenced by BdaCreateFilterFactory(), and BdaCreateFilterFactoryEx().

◆ pguidProperty

Definition at line 181 of file bdasup.h.

◆ pKSMethod

Definition at line 132 of file bdasup.h.

Referenced by BdaMethodCreatePin(), and BdaMethodCreateTopology().

◆ pKSProperty

◆ pNodeDescriptorProperty

Definition at line 173 of file bdasup.h.

◆ ppKSFilterFactory

_Must_inspect_result_ _In_ const KSFILTER_DESCRIPTOR _In_ const BDA_FILTER_TEMPLATE _Out_opt_ PKSFILTERFACTORY* ppKSFilterFactory

Definition at line 81 of file bdasup.h.

Referenced by BdaCreateFilterFactoryEx().

◆ pProperty

◆ pulControllingPinId

Definition at line 157 of file bdasup.h.

◆ pulPinFactoryID

Definition at line 133 of file bdasup.h.

Referenced by BdaMethodCreatePin().

◆ pulPinId

Definition at line 89 of file bdasup.h.

Referenced by BdaCreatePin().

◆ pulProperty

◆ pvIgnored

Definition at line 141 of file bdasup.h.

◆ ulPinType

Definition at line 88 of file bdasup.h.

Referenced by BdaCreatePin().