Files
3fe5b8b0bb [SDK][WDF][USBDEX][NTOSKRNL_VISTA] Fully enable KMDF (#8396)
[SDK][WDFLDR] Add kmdf loader driver
[SDK][WDF] Add kmdf drver init static library
[SDK][WDF] Modify kmdf driver for working with wdfldr driver
[SDK][CDROM] Cdrom driver dynamically linking with kmdf
[SDK][WDF] Add kmdfdriver module type
[SDK][WDF][USBDEX][NTOSKRNL_VISTA] Fully enable KMDF
[KMDF][WDFLDR][WDF01000] Fix Windows 10 Compatibility WDFLDR and WDF01000
[WDF01000] NO_KERNEL_LIST_ENTRY_CHECKS for wdf01000 3rd party code

This PR is an accumulation of three peoples work, with the goal of the trying to get WDF to work like it should.
This has been tested in combination with some extra NT6+ ntoskrnl against multiple drivers.

---------

Co-authored-by: Max Korostil <[email protected]>
Co-authored-by: Victor Perevertkin <[email protected]>
Co-authored-by: Adam Słaboń <[email protected]>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
2025-11-03 06:38:52 -08:00

90 lines
2.0 KiB
C

#include <ntddk.h>
#include <usb.h>
#include <usbdlib.h>
#include <debug.h>
DECLARE_HANDLE(USBD_HANDLE);
NTSTATUS
USBD_QueryUsbCapability(
_In_ USBD_HANDLE USBDHandle,
_In_ const GUID* CapabilityType,
_In_ ULONG OutputBufferLength,
_When_(OutputBufferLength == 0, _Pre_null_)
_When_(OutputBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(OutputBufferLength))
_When_(OutputBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(OutputBufferLength, *ResultLength))
PUCHAR OutputBuffer,
_Out_opt_
_When_(ResultLength != NULL, _Deref_out_range_(<=,OutputBufferLength))
PULONG ResultLength
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
VOID
USBD_AssignUrbToIoStackLocation(
_In_ USBD_HANDLE USBDHandle,
_In_ PIO_STACK_LOCATION IoStackLocation,
_In_ PURB Urb
)
{
UNIMPLEMENTED;
}
NTSTATUS
USBD_CreateHandle(
_In_ PDEVICE_OBJECT DeviceObject,
_In_ PDEVICE_OBJECT TargetDeviceObject,
_In_ ULONG USBDClientContractVersion,
_In_ ULONG PoolTag,
_Out_ USBD_HANDLE *USBDHandle
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
VOID
USBD_CloseHandle(
_In_ USBD_HANDLE USBDHandle
)
{
UNIMPLEMENTED;
}
NTSTATUS
USBD_UrbAllocate(
_In_ USBD_HANDLE USBDHandle,
_Outptr_result_bytebuffer_(sizeof(URB)) PURB *Urb
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
NTSTATUS
USBD_IsochUrbAllocate(
_In_ USBD_HANDLE USBDHandle,
_In_ ULONG NumberOfIsochPacket,
_Outptr_result_bytebuffer_(sizeof(struct _URB_ISOCH_TRANSFER)
+ (NumberOfIsochPackets * sizeof(USBD_ISO_PACKET_DESCRIPTOR))
- sizeof(USBD_ISO_PACKET_DESCRIPTOR))
PURB *Urb
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
VOID
USBD_UrbFree(
_In_ USBD_HANDLE USBDHandle,
_In_ PURB Urb
)
{
UNIMPLEMENTED;
}