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
363}
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(), and WskConnect().
◆ TdiDisconnect()
Definition at line 1266 of file tdi.c.
1274 {
1276
1277 if (!TransportObject) {
1278 DPRINT(
"Bad transport object.\n");
1280 }
1281
1282 DPRINT(
"Called(TransportObject %p)\n", TransportObject);
1283
1286 DPRINT(
"Bad device object.\n");
1288 }
1289
1292 TransportObject,
1295
1297 DPRINT(
"Insufficient resources.\n");
1299 }
1300
1303 TransportObject,
1308 RequestConnectionInfo,
1309 ReturnConnectionInfo);
1310
1312
1314}
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 632 of file tdi.c.
652{
658
660 DPRINT(
"Bad file object.\n");
662 }
663
666 DPRINT(
"Bad device object.\n");
668 }
669
671
683
685
686 if (Return)
687 *Return =
Iosb.Information;
688
690}
#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 693 of file tdi.c.
706{
711
713 DPRINT(
"Bad file object.\n");
715 }
716
719 DPRINT(
"Bad device object.\n");
721 }
722
724
727 ConnectionObject,
732 }
733
740 MdlBuffer);
741
743}
_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 571 of file tdi.c.
588{
593
595
597 DPRINT(
"Bad file object.\n");
599 }
600
603 DPRINT(
"Bad device object.\n");
605 }
606
608
616
617
618
627
629}
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().