Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121/*++
Copyright (c) Microsoft Corporation
Module Name:
FxObjectKm.cpp
Abstract:
Kernel mode implementations of FxObject APIs
Author:
Environment:
kernel mode only
Revision History:
--*/
#include "fxobjectpch.hpp"
extern "C" {
#if defined(EVENT_TRACING)#include "FxObjectKm.tmh"#endif
}
extern "C" {
_Must_inspect_result_NTSTATUSFxObject::_ObjectQuery( _In_ FxObject* Object, _In_ CONST GUID* Guid, _In_ ULONG QueryBufferLength, _Out_writes_bytes_(QueryBufferLength) PVOID QueryBuffer )
/*++
Routine Description:
Query the object handle for specific information
This allows dynamic extensions to DDI's.
Currently, it is used to allow test hooks for verification which are not available in a production release.
Arguments:
Object - Object to query
Guid - GUID to represent the information/DDI to query for
QueryBufferLength - Length of QueryBuffer to return data in
QueryBuffer - Pointer to QueryBuffer
Returns:
NTSTATUS
--*/
{ // PFX_DRIVER_GLOBALS pFxDriverGlobals = Object->GetDriverGlobals();
// // Design Note: This interface does not look strongly typed // but it is. The GUID defines a specific strongly typed // contract for QueryBuffer and QueryBufferLength. //
#if DBG
// // These operations are only available on checked builds for deep unit // testing, code coverage analysis, and model verification.
//
// Add code based on the GUID
// IsEqualGUID(guid1, guid2), DEFINE_GUID, INITGUID, inc\wnet\guiddef.h UNREFERENCED_PARAMETER(Object); UNREFERENCED_PARAMETER(Guid); UNREFERENCED_PARAMETER(QueryBufferLength); UNREFERENCED_PARAMETER(QueryBuffer);#else UNREFERENCED_PARAMETER(Object); UNREFERENCED_PARAMETER(Guid); UNREFERENCED_PARAMETER(QueryBufferLength); UNREFERENCED_PARAMETER(QueryBuffer);#endif
return STATUS_NOT_FOUND;}
} // extern "C"