Go to the source code of this file.
|
| NTSTATUS | TdiConnect (PIRP *PendingIrp, PFILE_OBJECT ConnectionObject, PTDI_CONNECTION_INFORMATION ConnectionCallInfo, PTDI_CONNECTION_INFORMATION ConnectionReturnInfo, PIO_COMPLETION_ROUTINE CompletionRoutine, PVOID CompletionContext) |
| | Connect a connection endpoint to a remote peer.
|
| |
| NTSTATUS | TdiOpenConnectionEndpointFile (PUNICODE_STRING DeviceName, PHANDLE ConnectionHandle, PFILE_OBJECT *ConnectionObject) |
| | Opens a connection endpoint file object.
|
| |
| NTSTATUS | TdiCloseDevice (HANDLE Handle, PFILE_OBJECT FileObject) |
| |
| NTSTATUS | TdiDisconnect (PIRP *Irp, PFILE_OBJECT TransportObject, PLARGE_INTEGER Time, USHORT Flags, PIO_COMPLETION_ROUTINE CompletionRoutine, PVOID CompletionContext, PTDI_CONNECTION_INFORMATION RequestConnectionInfo, PTDI_CONNECTION_INFORMATION ReturnConnectionInfo) |
| |
| NTSTATUS | TdiQueryInformation (PFILE_OBJECT FileObject, LONG QueryType, PMDL MdlBuffer) |
| | Query for information.
|
| |
| NTSTATUS | TdiSetEventHandler (PFILE_OBJECT FileObject, LONG EventType, PVOID Handler, PVOID Context) |
| | Sets or resets an event handler.
|
| |
| NTSTATUS | TdiQueryDeviceControl (PFILE_OBJECT FileObject, ULONG IoControlCode, PVOID InputBuffer, ULONG InputBufferLength, PVOID OutputBuffer, ULONG OutputBufferLength, PULONG Return) |
| | Queries a device for information.
|
| |
◆ TdiCloseDevice()
Definition at line 158 of file tditest.c.
161{
164
167
169}
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
#define ObDereferenceObject
Referenced by TdiUnload().
◆ TdiConnect()
Connect a connection endpoint to a remote peer.
- Parameters
-
| ConnectionObject | = Pointer to connection endpoint file object |
| RemoteAddress | = Pointer to remote address |
- Returns
- Status of operation
Definition at line 311 of file tdi.c.
326{
328
330
331 if (!ConnectionObject) {
332 DPRINT(
"Bad connection object.\n");
334 }
335
338 DPRINT(
"Bad device object.\n");
340 }
341
344 ConnectionObject,
349 }
350
353 ConnectionObject,
357 ConnectionCallInfo,
358 ConnectionReturnInfo);
359
361}
static NTSTATUS TdiCall(PIRP Irp, PDEVICE_OBJECT DeviceObject, PKEVENT Event, PIO_STATUS_BLOCK Iosb)
Calls a transport driver device.
PDEVICE_OBJECT NTAPI IoGetRelatedDeviceObject(IN PFILE_OBJECT FileObject)
#define TdiBuildInternalDeviceControlIrp(IrpSubFunction, DeviceObject, FileObject, Event, IoStatusBlock)
#define TdiBuildConnect( Irp, DevObj, FileObj, CompRoutine, Contxt, Time, RequestConnectionInfo, ReturnConnectionInfo)
#define STATUS_INVALID_PARAMETER
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
Referenced by AfdStreamSocketConnect(), AfdStreamSocketSuperConnect(), and WskConnect().
◆ TdiDisconnect()
Definition at line 1260 of file tdi.c.
1268 {
1270
1271 if (!TransportObject) {
1272 DPRINT(
"Bad transport object.\n");
1274 }
1275
1276 DPRINT(
"Called(TransportObject %p)\n", TransportObject);
1277
1280 DPRINT(
"Bad device object.\n");
1282 }
1283
1286 TransportObject,
1289
1291 DPRINT(
"Insufficient resources.\n");
1293 }
1294
1297 TransportObject,
1302 RequestConnectionInfo,
1303 ReturnConnectionInfo);
1304
1306
1308}
static PLARGE_INTEGER Time
#define TdiBuildDisconnect( Irp, DevObj, FileObj, CompRoutine, Contxt, Time, Flags, RequestConnectionInfo, ReturnConnectionInfo)
_Must_inspect_result_ _In_ ULONG Flags
Referenced by DoDisconnect().
◆ TdiOpenConnectionEndpointFile()
Opens a connection endpoint file object.
- Parameters
-
| DeviceName | = Pointer to counted string with name of device |
| ConnectionHandle | = Address of buffer to place connection endpoint file handle |
| ConnectionObject | = Address of buffer to place connection endpoint file object |
- Returns
- Status of operation
Definition at line 258 of file tdi.c.
271{
276
278
279
283
287 if (!EaInfo)
289
292
298
302 EaInfo,
305 ConnectionObject);
308}
static NTSTATUS TdiOpenDevice(PUNICODE_STRING DeviceName, ULONG EaLength, PFILE_FULL_EA_INFORMATION EaInfo, ULONG ShareType, PHANDLE Handle, PFILE_OBJECT *Object)
Opens a device.
#define ExAllocatePoolWithTag(hernya, size, tag)
IN PVCB IN PDIRENT OUT PULONG EaLength
struct _FILE_FULL_EA_INFORMATION * PFILE_FULL_EA_INFORMATION
struct _FILE_FULL_EA_INFORMATION FILE_FULL_EA_INFORMATION
_In_ PKSPIN_CONNECT _In_ ACCESS_MASK _Out_ PHANDLE ConnectionHandle
#define ExFreePoolWithTag(_P, _T)
#define TDI_CONNECTION_CONTEXT_LENGTH
#define TdiConnectionContext
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Referenced by WarmSocketForConnection(), and WskSocket().
◆ TdiQueryDeviceControl()
Queries a device for information.
- Parameters
-
| FileObject | = Pointer to file object |
| IoControlCode | = I/O control code |
| InputBuffer | = Pointer to buffer with input data |
| InputBufferLength | = Length of InputBuffer |
| OutputBuffer | = Address of buffer to place output data |
| OutputBufferLength | = Length of OutputBuffer |
- Returns
- Status of operation
Definition at line 630 of file tdi.c.
650{
656
658 DPRINT(
"Bad file object.\n");
660 }
661
664 DPRINT(
"Bad device object.\n");
666 }
667
669
681
683
684 if (Return)
685 *Return =
Iosb.Information;
686
688}
#define KeInitializeEvent(pEvt, foo, foo2)
PIRP NTAPI IoBuildDeviceIoControlRequest(IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Referenced by TdiQueryInformationEx().
◆ TdiQueryInformation()
Query for information.
- Parameters
-
| FileObject | = Pointer to file object |
| QueryType | = Query type |
| MdlBuffer | = Pointer to MDL buffer specific for query type |
- Returns
- Status of operation
Definition at line 691 of file tdi.c.
704{
709
711 DPRINT(
"Bad file object.\n");
713 }
714
717 DPRINT(
"Bad device object.\n");
719 }
720
722
725 ConnectionObject,
730 }
731
738 MdlBuffer);
739
741}
_Must_inspect_result_ _In_ KTMOBJECT_TYPE QueryType
#define TDI_QUERY_INFORMATION
#define TdiBuildQueryInformation( Irp, DevObj, FileObj, CompRoutine, Contxt, QType, MdlAddr)
Referenced by AfdGetSockName(), and TdiQueryMaxDatagramLength().
◆ TdiSetEventHandler()
Sets or resets an event handler.
- Parameters
-
| FileObject | = Pointer to file object |
| EventType | = Event code |
| Handler | = Event handler to be called when the event occurs |
| Context | = Context input to handler when the event occurs |
- Returns
- Status of operation
Specify NULL for Handler to stop calling event handler
Definition at line 569 of file tdi.c.
586{
591
593
595 DPRINT(
"Bad file object.\n");
597 }
598
601 DPRINT(
"Bad device object.\n");
603 }
604
606
614
615
616
625
627}
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER Handler
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ EVENT_TYPE EventType
#define TdiBuildSetEventHandler( Irp, DevObj, FileObj, CompRoutine, Contxt, InEventType, InEventHandler, InEventContext)
#define TDI_SET_EVENT_HANDLER
Referenced by AfdDeregisterEventHandlers(), and AfdRegisterEventHandlers().