Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenkcom.c
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS Kernel Streaming 00004 * FILE: drivers/ksfilter/ks/allocators.c 00005 * PURPOSE: KS Allocator functions 00006 * PROGRAMMER: Johannes Anderwald 00007 Andrew Greenwood 00008 */ 00009 00010 #include "priv.h" 00011 00012 const GUID IID_IUnknown = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x46}}; 00013 00014 /* http://msdn2.microsoft.com/en-us/library/ms809781.aspx */ 00015 COMDDKAPI NTSTATUS NTAPI 00016 KoCreateInstance( 00017 IN REFCLSID ClassId, 00018 IN IUnknown* UnkOuter OPTIONAL, 00019 IN ULONG ClsContext, 00020 IN REFIID InterfaceId, 00021 OUT PVOID* Interface) 00022 { 00023 /* If UnkOuter isn't NULL, it must be IUnknown - TODO: CHECK THIS PARAM */ 00024 /* TODO: Check IRQL? */ 00025 00026 DPRINT("KoCreateInstance called\n"); 00027 00028 if ( ClsContext != CLSCTX_KERNEL_SERVER ) 00029 { 00030 DPRINT("KoCreateInstance: ClsContext must be CLSCTX_KERNEL_SERVER\n"); 00031 return STATUS_INVALID_PARAMETER_3; 00032 } 00033 00034 if (IsEqualGUIDAligned(InterfaceId, &IID_IUnknown)) 00035 { 00036 DPRINT("KoCreateInstance: InterfaceId cannot be IID_IUnknown\n"); 00037 return STATUS_INVALID_PARAMETER_4; 00038 } 00039 00040 00041 /* 00042 Find the desired interface and create an instance. 00043 00044 But we also need to supply a 00045 pointer which will be set to a list of available interfaces, to 00046 IoGetDeviceInterfaces. 00047 00048 We can then create a file based on this information and thus talk 00049 to the appropriate device. 00050 00051 Useful references: 00052 http://www.freelists.org/archives/wdmaudiodev/01-2003/msg00023.html 00053 00054 TODO 00055 */ 00056 00057 DPRINT("** FAKING SUCCESS **\n"); 00058 00059 return STATUS_SUCCESS; 00060 } Generated on Fri May 25 2012 04:26:04 for ReactOS by
1.7.6.1
|