windows-nt/Source/XPSP1/NT/drivers/wdm/audio/sysaudio/pi.h
2020-09-26 16:20:57 +08:00

90 lines
2.4 KiB
C++

//---------------------------------------------------------------------------
//
// Module: pi.h
//
// Description: pin info classes
//
//
//@@BEGIN_MSINTERNAL
// Development Team:
// Mike McLaughlin
//
// History: Date Author Comment
//
//@@END_MSINTERNAL
//---------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (c) 1996-1999 Microsoft Corporation. All Rights Reserved.
//
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Constants and Macros
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Classes
//---------------------------------------------------------------------------
typedef class CPinInfo : public CListSingleItem
{
public:
CPinInfo(
PFILTER_NODE pFilterNode,
ULONG PinId = MAXULONG
);
~CPinInfo();
NTSTATUS Create(
PFILE_OBJECT pFileObject
);
ENUMFUNC Destroy()
{
Assert(this);
delete this;
return(STATUS_CONTINUE);
};
ENUMFUNC CreatePhysicalConnection();
#ifdef DEBUG
ENUMFUNC Dump();
#endif
PFILTER_NODE pFilterNode;
KSPIN_DATAFLOW DataFlow;
KSPIN_COMMUNICATION Communication;
KSPIN_CINSTANCES cPinInstances;
GUID *pguidCategory;
GUID *pguidName;
PWSTR pwstrName;
LIST_DESTROY_TOPOLOGY_CONNECTION lstTopologyConnection;
LIST_PIN_NODE lstPinNode;
ULONG PinId;
NTSTATUS GetPinInstances(
PFILE_OBJECT pFileObject,
PKSPIN_CINSTANCES pcInstances);
private:
PKSPIN_PHYSICALCONNECTION pPhysicalConnection;
public:
DefineSignature(0x20204950); // PI
} PIN_INFO, *PPIN_INFO;
//---------------------------------------------------------------------------
typedef ListSingleDestroy<PIN_INFO> LIST_PIN_INFO;
//---------------------------------------------------------------------------
// Globals
//---------------------------------------------------------------------------
extern DATARANGES DataRangesNull;
extern IDENTIFIERS IdentifiersNull;
//---------------------------------------------------------------------------