📄 directplay8.pas
字号:
{******************************************************************************}
{* *}
{* Copyright (C) Microsoft Corporation. All Rights Reserved. *}
{* *}
{* Files: dpaddr.h dplobby8.h dplay8.h dvoice.h *}
{* Content: DirectPlay8 include files *}
{* *}
{* DirectX 9.0 Delphi / FreePascal adaptation by Alexey Barkovoy *}
{* E-Mail: directx@clootie.ru *}
{* *}
{* Modified: 22-Aug-2004 *}
{* *}
{* Latest version can be downloaded from: *}
{* http://clootie.ru *}
{* http://sourceforge.net/projects/delphi-dx9sdk *}
{* *}
{******************************************************************************}
{ }
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
{ }
{ The contents of this file are used with permission, subject to the Mozilla }
{ Public License Version 1.1 (the "License"); you may not use this file except }
{ in compliance with the License. You may obtain a copy of the License at }
{ http://www.mozilla.org/MPL/MPL-1.1.html }
{ }
{ Software distributed under the License is distributed on an "AS IS" basis, }
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
{ the specific language governing rights and limitations under the License. }
{ }
{ Alternatively, the contents of this file may be used under the terms of the }
{ GNU Lesser General Public License (the "LGPL License"), in which case the }
{ provisions of the LGPL License are applicable instead of those above. }
{ If you wish to allow use of your version of this file only under the terms }
{ of the LGPL License and not to allow others to use your version of this file }
{ under the MPL, indicate your decision by deleting the provisions above and }
{ replace them with the notice and other provisions required by the LGPL }
{ License. If you do not delete the provisions above, a recipient may use }
{ your version of this file under either the MPL or the LGPL License. }
{ }
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
{ }
{******************************************************************************}
{$I DirectX.inc}
unit DirectPlay8;
interface
(*$HPPEMIT '#include "dplay8.h"' *)
(*$HPPEMIT '#include "dplobby8.h"' *)
(*$HPPEMIT '#include "dvoice.h"' *)
uses
Windows, WinSock, DirectSound;
(*==========================================================================;
*
* Copyright (C) 2000-2002 Microsoft Corporation. All Rights Reserved.
*
* File: dpaddr.h
* Content: DirectPlayAddress include file
***************************************************************************)
const
(****************************************************************************
*
* DirectPlay8Address CLSIDs
*
****************************************************************************)
// {934A9523-A3CA-4bc5-ADA0-D6D95D979421}
CLSID_DirectPlay8Address: TGUID = '{934a9523-a3ca-4bc5-ada0-d6d95d979421}';
{$EXTERNALSYM CLSID_DirectPlay8Address}
(****************************************************************************
*
* DirectPlay8Address Interface IIDs
*
****************************************************************************)
type
DPNAREFIID = TGUID;
{$EXTERNALSYM DPNAREFIID}
TDPNARefIID = DPNAREFIID;
(****************************************************************************
*
* DirectPlay8Address Constants
*
****************************************************************************)
const
//
// Asynchronous operation flags
//
DPNA_DATATYPE_STRING = $00000001;
{$EXTERNALSYM DPNA_DATATYPE_STRING}
DPNA_DATATYPE_DWORD = $00000002;
{$EXTERNALSYM DPNA_DATATYPE_DWORD}
DPNA_DATATYPE_GUID = $00000003;
{$EXTERNALSYM DPNA_DATATYPE_GUID}
DPNA_DATATYPE_BINARY = $00000004;
{$EXTERNALSYM DPNA_DATATYPE_BINARY}
DPNA_DATATYPE_STRING_ANSI = $00000005;
{$EXTERNALSYM DPNA_DATATYPE_STRING_ANSI}
DPNA_DPNSVR_PORT = 6073;
{$EXTERNALSYM DPNA_DPNSVR_PORT}
DPNA_INDEX_INVALID = $FFFFFFFF;
{$EXTERNALSYM DPNA_INDEX_INVALID}
(****************************************************************************
*
* DirectPlay8Address Address Elements
*
****************************************************************************)
DPNA_SEPARATOR_KEYVALUE = WideChar('=');
{$EXTERNALSYM DPNA_SEPARATOR_KEYVALUE}
DPNA_SEPARATOR_USERDATA = WideChar('#');
{$EXTERNALSYM DPNA_SEPARATOR_USERDATA}
DPNA_SEPARATOR_COMPONENT = WideChar(';');
{$EXTERNALSYM DPNA_SEPARATOR_COMPONENT}
DPNA_ESCAPECHAR = WideChar('%');
{$EXTERNALSYM DPNA_ESCAPECHAR}
// Header
DPNA_HEADER = 'x-directplay:/';
{$EXTERNALSYM DPNA_HEADER}
// key names for address components
DPNA_KEY_NAT_RESOLVER = 'natresolver';
{$EXTERNALSYM DPNA_KEY_NAT_RESOLVER}
DPNA_KEY_NAT_RESOLVER_USER_STRING = 'natresolveruserstring';
{$EXTERNALSYM DPNA_KEY_NAT_RESOLVER_USER_STRING}
DPNA_KEY_APPLICATION_INSTANCE = 'applicationinstance';
{$EXTERNALSYM DPNA_KEY_APPLICATION_INSTANCE}
DPNA_KEY_DEVICE = 'device';
{$EXTERNALSYM DPNA_KEY_DEVICE}
DPNA_KEY_HOSTNAME = 'hostname';
{$EXTERNALSYM DPNA_KEY_HOSTNAME}
DPNA_KEY_PORT = 'port';
{$EXTERNALSYM DPNA_KEY_PORT}
DPNA_KEY_NAMEINFO = 'nameinfo';
{$EXTERNALSYM DPNA_KEY_NAMEINFO}
DPNA_KEY_PROCESSOR = 'processor';
{$EXTERNALSYM DPNA_KEY_PROCESSOR}
DPNA_KEY_PROGRAM = 'program';
{$EXTERNALSYM DPNA_KEY_PROGRAM}
DPNA_KEY_PROVIDER = 'provider';
{$EXTERNALSYM DPNA_KEY_PROVIDER}
DPNA_KEY_SCOPE = 'scope';
{$EXTERNALSYM DPNA_KEY_SCOPE}
DPNA_KEY_TRAVERSALMODE = 'traversalmode';
{$EXTERNALSYM DPNA_KEY_TRAVERSALMODE}
DPNA_KEY_BAUD = 'baud';
{$EXTERNALSYM DPNA_KEY_BAUD}
DPNA_KEY_FLOWCONTROL = 'flowcontrol';
{$EXTERNALSYM DPNA_KEY_FLOWCONTROL}
DPNA_KEY_PARITY = 'parity';
{$EXTERNALSYM DPNA_KEY_PARITY}
DPNA_KEY_PHONENUMBER = 'phonenumber';
{$EXTERNALSYM DPNA_KEY_PHONENUMBER}
DPNA_KEY_STOPBITS = 'stopbits';
{$EXTERNALSYM DPNA_KEY_STOPBITS}
// values for baud rate
DPNA_BAUD_RATE_9600 = 9600;
{$EXTERNALSYM DPNA_BAUD_RATE_9600}
DPNA_BAUD_RATE_14400 = 14400;
{$EXTERNALSYM DPNA_BAUD_RATE_14400}
DPNA_BAUD_RATE_19200 = 19200;
{$EXTERNALSYM DPNA_BAUD_RATE_19200}
DPNA_BAUD_RATE_38400 = 38400;
{$EXTERNALSYM DPNA_BAUD_RATE_38400}
DPNA_BAUD_RATE_56000 = 56000;
{$EXTERNALSYM DPNA_BAUD_RATE_56000}
DPNA_BAUD_RATE_57600 = 57600;
{$EXTERNALSYM DPNA_BAUD_RATE_57600}
DPNA_BAUD_RATE_115200 = 115200;
{$EXTERNALSYM DPNA_BAUD_RATE_115200}
// values for stop bits
DPNA_STOP_BITS_ONE = '1';
{$EXTERNALSYM DPNA_STOP_BITS_ONE}
DPNA_STOP_BITS_ONE_FIVE = '1.5';
{$EXTERNALSYM DPNA_STOP_BITS_ONE_FIVE}
DPNA_STOP_BITS_TWO = '2';
{$EXTERNALSYM DPNA_STOP_BITS_TWO}
// values for parity
DPNA_PARITY_NONE = 'NONE';
{$EXTERNALSYM DPNA_PARITY_NONE}
DPNA_PARITY_EVEN = 'EVEN';
{$EXTERNALSYM DPNA_PARITY_EVEN}
DPNA_PARITY_ODD = 'ODD';
{$EXTERNALSYM DPNA_PARITY_ODD}
DPNA_PARITY_MARK = 'MARK';
{$EXTERNALSYM DPNA_PARITY_MARK}
DPNA_PARITY_SPACE = 'SPACE';
{$EXTERNALSYM DPNA_PARITY_SPACE}
// values for flow control
DPNA_FLOW_CONTROL_NONE = 'NONE';
{$EXTERNALSYM DPNA_FLOW_CONTROL_NONE}
DPNA_FLOW_CONTROL_XONXOFF = 'XONXOFF';
{$EXTERNALSYM DPNA_FLOW_CONTROL_XONXOFF}
DPNA_FLOW_CONTROL_RTS = 'RTS';
{$EXTERNALSYM DPNA_FLOW_CONTROL_RTS}
DPNA_FLOW_CONTROL_DTR = 'DTR';
{$EXTERNALSYM DPNA_FLOW_CONTROL_DTR}
DPNA_FLOW_CONTROL_RTSDTR = 'RTSDTR';
{$EXTERNALSYM DPNA_FLOW_CONTROL_RTSDTR}
// values for traversal mode
DPNA_TRAVERSALMODE_NONE = 0;
{$EXTERNALSYM DPNA_TRAVERSALMODE_NONE}
DPNA_TRAVERSALMODE_PORTREQUIRED = 1;
{$EXTERNALSYM DPNA_TRAVERSALMODE_PORTREQUIRED}
DPNA_TRAVERSALMODE_PORTRECOMMENDED = 2;
{$EXTERNALSYM DPNA_TRAVERSALMODE_PORTRECOMMENDED}
// Shortcut values
//
// These can be used instead of the corresponding CLSID_DP8SP_XXXX guids
//
DPNA_VALUE_TCPIPPROVIDER = 'IP';
{$EXTERNALSYM DPNA_VALUE_TCPIPPROVIDER}
DPNA_VALUE_IPXPROVIDER = 'IPX';
{$EXTERNALSYM DPNA_VALUE_IPXPROVIDER}
DPNA_VALUE_MODEMPROVIDER = 'MODEM';
{$EXTERNALSYM DPNA_VALUE_MODEMPROVIDER}
DPNA_VALUE_SERIALPROVIDER = 'SERIAL';
{$EXTERNALSYM DPNA_VALUE_SERIALPROVIDER}
//// ANSI DEFINITIONS
// Header
DPNA_HEADER_A = 'x-directplay:/';
{$EXTERNALSYM DPNA_HEADER_A}
DPNA_SEPARATOR_KEYVALUE_A = '=';
{$EXTERNALSYM DPNA_SEPARATOR_KEYVALUE_A}
DPNA_SEPARATOR_USERDATA_A = '#';
{$EXTERNALSYM DPNA_SEPARATOR_USERDATA_A}
DPNA_SEPARATOR_COMPONENT_A = ';';
{$EXTERNALSYM DPNA_SEPARATOR_COMPONENT_A}
DPNA_ESCAPECHAR_A = '%';
{$EXTERNALSYM DPNA_ESCAPECHAR_A}
// key names for address components
DPNA_KEY_NAT_RESOLVER_A = 'natresolver';
{$EXTERNALSYM DPNA_KEY_NAT_RESOLVER_A}
DPNA_KEY_NAT_RESOLVER_USER_STRING_A = 'natresolveruserstring';
{$EXTERNALSYM DPNA_KEY_NAT_RESOLVER_USER_STRING_A}
DPNA_KEY_APPLICATION_INSTANCE_A = 'applicationinstance';
{$EXTERNALSYM DPNA_KEY_APPLICATION_INSTANCE_A}
DPNA_KEY_DEVICE_A = 'device';
{$EXTERNALSYM DPNA_KEY_DEVICE_A}
DPNA_KEY_HOSTNAME_A = 'hostname';
{$EXTERNALSYM DPNA_KEY_HOSTNAME_A}
DPNA_KEY_PORT_A = 'port';
{$EXTERNALSYM DPNA_KEY_PORT_A}
DPNA_KEY_NAMEINFO_A = 'nameinfo';
{$EXTERNALSYM DPNA_KEY_NAMEINFO_A}
DPNA_KEY_PROCESSOR_A = 'processor';
{$EXTERNALSYM DPNA_KEY_PROCESSOR_A}
DPNA_KEY_PROGRAM_A = 'program';
{$EXTERNALSYM DPNA_KEY_PROGRAM_A}
DPNA_KEY_PROVIDER_A = 'provider';
{$EXTERNALSYM DPNA_KEY_PROVIDER_A}
DPNA_KEY_SCOPE_A = 'scope';
{$EXTERNALSYM DPNA_KEY_SCOPE_A}
DPNA_KEY_TRAVERSALMODE_A = 'traversalmode';
{$EXTERNALSYM DPNA_KEY_TRAVERSALMODE_A}
DPNA_KEY_BAUD_A = 'baud';
{$EXTERNALSYM DPNA_KEY_BAUD_A}
DPNA_KEY_FLOWCONTROL_A = 'flowcontrol';
{$EXTERNALSYM DPNA_KEY_FLOWCONTROL_A}
DPNA_KEY_PARITY_A = 'parity';
{$EXTERNALSYM DPNA_KEY_PARITY_A}
DPNA_KEY_PHONENUMBER_A = 'phonenumber';
{$EXTERNALSYM DPNA_KEY_PHONENUMBER_A}
DPNA_KEY_STOPBITS_A = 'stopbits';
{$EXTERNALSYM DPNA_KEY_STOPBITS_A}
// values for stop bits
DPNA_STOP_BITS_ONE_A = '1';
{$EXTERNALSYM DPNA_STOP_BITS_ONE_A}
DPNA_STOP_BITS_ONE_FIVE_A = '1.5';
{$EXTERNALSYM DPNA_STOP_BITS_ONE_FIVE_A}
DPNA_STOP_BITS_TWO_A = '2';
{$EXTERNALSYM DPNA_STOP_BITS_TWO_A}
// values for parity
DPNA_PARITY_NONE_A = 'NONE';
{$EXTERNALSYM DPNA_PARITY_NONE_A}
DPNA_PARITY_EVEN_A = 'EVEN';
{$EXTERNALSYM DPNA_PARITY_EVEN_A}
DPNA_PARITY_ODD_A = 'ODD';
{$EXTERNALSYM DPNA_PARITY_ODD_A}
DPNA_PARITY_MARK_A = 'MARK';
{$EXTERNALSYM DPNA_PARITY_MARK_A}
DPNA_PARITY_SPACE_A = 'SPACE';
{$EXTERNALSYM DPNA_PARITY_SPACE_A}
// values for flow control
DPNA_FLOW_CONTROL_NONE_A = 'NONE';
{$EXTERNALSYM DPNA_FLOW_CONTROL_NONE_A}
DPNA_FLOW_CONTROL_XONXOFF_A = 'XONXOFF';
{$EXTERNALSYM DPNA_FLOW_CONTROL_XONXOFF_A}
DPNA_FLOW_CONTROL_RTS_A = 'RTS';
{$EXTERNALSYM DPNA_FLOW_CONTROL_RTS_A}
DPNA_FLOW_CONTROL_DTR_A = 'DTR';
{$EXTERNALSYM DPNA_FLOW_CONTROL_DTR_A}
DPNA_FLOW_CONTROL_RTSDTR_A = 'RTSDTR';
{$EXTERNALSYM DPNA_FLOW_CONTROL_RTSDTR_A}
// Shortcut values
//
// These can be used instead of the corresponding CLSID_DP8SP_XXXX guids
//
DPNA_VALUE_TCPIPPROVIDER_A = 'IP';
{$EXTERNALSYM DPNA_VALUE_TCPIPPROVIDER_A}
DPNA_VALUE_IPXPROVIDER_A = 'IPX';
{$EXTERNALSYM DPNA_VALUE_IPXPROVIDER_A}
DPNA_VALUE_MODEMPROVIDER_A = 'MODEM';
{$EXTERNALSYM DPNA_VALUE_MODEMPROVIDER_A}
DPNA_VALUE_SERIALPROVIDER_A = 'SERIAL';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -