kcom.c

来自「这是一个开放源代码的与WINNT/WIN2K/WIN2003兼容的操作系统」· C语言 代码 · 共 52 行

C
52
字号
/* ===============================================================    Kernel-mode COM*/#include <windows.h>#include <ntddk.h>#include <ks.h>#include <kcom.h>#include <debug.h>/* http://msdn2.microsoft.com/en-us/library/ms809781.aspx */COMDDKAPI NTSTATUS NTAPIKoCreateInstance(    IN  REFCLSID ClassId,    IN  IUnknown* UnkOuter OPTIONAL,    IN  ULONG ClsContext,    IN  REFIID InterfaceId,    OUT PVOID* Interface){    /* If UnkOuter isn't NULL, it must be IUnknown - TODO: CHECK THIS PARAM */    /* TODO: Check IRQL? */    DPRINT("KoCreateInstance called\n");    if ( ClsContext != CLSCTX_KERNEL_SERVER )    {        DPRINT("FAILED: ClsContext must be CLSCTX_KERNEL_SERVER\n");        return STATUS_INVALID_PARAMETER_3;    }    /*        Find the desired interface and create an instance.          But we also need to supply a        pointer which will be set to a list of available interfaces, to        IoGetDeviceInterfaces.        We can then create a file based on this information and thus talk        to the appropriate device.        Useful references:            http://www.freelists.org/archives/wdmaudiodev/01-2003/msg00023.html        TODO    */    DPRINT("** FAKING SUCCESS **\n");    return STATUS_SUCCESS;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?