ReactOS  0.4.14-dev-297-g23e575c
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 }
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
#define STATUS_INVALID_PARAMETER_3
Definition: ntstatus.h:463
void DPRINT(...)
Definition: polytest.cpp:61
#define CLSCTX_KERNEL_SERVER
Definition: kcom.h:37
const GUID IID_IUnknown
Definition: kcom.c:15
#define STATUS_INVALID_PARAMETER_4
Definition: ntstatus.h:464
return STATUS_SUCCESS
Definition: btrfs.c:2966

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().