ReactOS 0.4.15-dev-7842-g558ab78
kcom.c File Reference
#include "precomp.h"
#include <debug.h>
Include dependency graph for kcom.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

COMDDKAPI NTSTATUS NTAPI KoCreateInstance (IN REFCLSID ClassId, IN IUnknown *UnkOuter OPTIONAL, IN ULONG ClsContext, IN REFIID InterfaceId, OUT PVOID *Interface)
 

Variables

const GUID IID_IUnknown = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x46}}
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 12 of file kcom.c.

Function Documentation

◆ KoCreateInstance()

COMDDKAPI NTSTATUS NTAPI KoCreateInstance ( IN REFCLSID  ClassId,
IN IUnknown *UnkOuter  OPTIONAL,
IN ULONG  ClsContext,
IN REFIID  InterfaceId,
OUT PVOID Interface 
)

Definition at line 19 of file kcom.c.

25{
26 /* If UnkOuter isn't NULL, it must be IUnknown - TODO: CHECK THIS PARAM */
27 /* TODO: Check IRQL? */
28
29 DPRINT("KoCreateInstance called\n");
30
31 if ( ClsContext != CLSCTX_KERNEL_SERVER )
32 {
33 DPRINT("KoCreateInstance: ClsContext must be CLSCTX_KERNEL_SERVER\n");
35 }
36
37 if (IsEqualGUIDAligned(InterfaceId, &IID_IUnknown))
38 {
39 DPRINT("KoCreateInstance: InterfaceId cannot be IID_IUnknown\n");
41 }
42
43
44 /*
45 Find the desired interface and create an instance.
46
47 But we also need to supply a
48 pointer which will be set to a list of available interfaces, to
49 IoGetDeviceInterfaces.
50
51 We can then create a file based on this information and thus talk
52 to the appropriate device.
53
54 Useful references:
55 http://www.freelists.org/archives/wdmaudiodev/01-2003/msg00023.html
56
57 TODO
58 */
59
60 DPRINT("** FAKING SUCCESS **\n");
61
62 return STATUS_SUCCESS;
63}
const GUID IID_IUnknown
Definition: kcom.c:15
#define CLSCTX_KERNEL_SERVER
Definition: kcom.h:37
#define STATUS_INVALID_PARAMETER_4
Definition: ntstatus.h:478
#define STATUS_INVALID_PARAMETER_3
Definition: ntstatus.h:477
#define STATUS_SUCCESS
Definition: shellext.h:65
#define DPRINT
Definition: sndvol32.h:71
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:235

Variable Documentation

◆ IID_IUnknown

const GUID IID_IUnknown = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x46}}

Definition at line 15 of file kcom.c.

Referenced by KoCreateInstance().