Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Relevant replacement documents include:
MoreProcesses/MoreProcesses.h
/* |
File: MoreProcesses.h |
Contains: |
Written by: Pete Gontier |
Copyright: Copyright (c) 1998 Apple Computer, Inc., All Rights Reserved. |
You may incorporate this Apple sample source code into your program(s) without |
restriction. This Apple sample source code has been provided "AS IS" and the |
responsibility for its operation is yours. You are not permitted to redistribute |
this Apple sample source code as "Apple sample source code" after having made |
changes. If you're going to re-distribute the source, we require that you make |
it clear in the source that the code was descended from Apple sample source |
code, but that you've made changes. |
Change History (most recent first): |
<6> 20/3/00 Quinn Added MoreProcIsProcessAtFront. Tidied up some copy and paste |
errors in the comments. |
<5> 3/9/00 gaw API changes for MoreAppleEvents |
<4> 6/3/00 Quinn Added MoreGetProcessAppFile. |
<3> 1/22/99 PCG TARGET_CARBON |
<2> 11/11/98 PCG fix headers |
<1> 11/10/98 PCG first big re-org at behest of Quinn |
Old Change History (most recent first): |
<6> 10/11/98 Quinn Convert "MorePrefix.h" to "MoreSetup.h". |
<5> 11/9/98 PCG fix comment 4 |
<4> 11/9/98 PCG add copyright blurb |
<3> 9/9/98 PCG re-work import and export pragmas |
<2> 7/24/98 PCG coddle linker (C++, CFM-68K) |
<1> 6/16/98 PCG initial checkin |
*/ |
#pragma once |
#include "MoreSetup.h" |
#include <Processes.h> |
enum { kSignatureFinder = 'MACS' }; |
#ifdef __cplusplus |
extern "C" { |
#endif |
#pragma import on // for clients |
#pragma export on // for building a library |
/****************************************************************************** |
Return a ProcessSerialNumber for a process whose signature (creator) |
matches the input values. This routine will find the first process that |
matches the creator. |
The ProcessSerialNumber will be kNoProcess is the requested process cannot |
be found. |
pCreator input: The creator of the process to be found. |
pPSN input: Pointer to a ProcessSerialNumber. |
output: A valid PSN or kNoProcess in no match is found. |
RESULT CODES |
____________ |
noErr 0 No error |
procNotFound Ð600 No process matched specified creator |
____________ |
*/ |
extern pascal OSStatus MoreProcFindProcessByCreator(const OSType pCreator,ProcessSerialNumber *pPSN); |
/****************************************************************************** |
Return a ProcessSerialNumber for a process whose signature (type and creator) |
matches the input values. This routine will find the first process that |
matches the type and creator. |
The ProcessSerialNumber will be kNoProcess is the requested process cannot |
be found. |
pCreator input: The creator type of the process to be found. |
pType input: The file type of the process to be found. |
pPSN input: Pointer to a ProcessSerialNumber. |
output: A valid PSN or kNoProcess in no match is found. |
RESULT CODES |
____________ |
noErr 0 No error |
procNotFound Ð600 No process matched specified type and creator |
____________ |
*/ |
extern pascal OSStatus MoreProcFindProcessBySignature(const OSType pCreator,const OSType pType,ProcessSerialNumber *pPSN); |
/****************************************************************************** |
Returns the name of the process specified by ProcessSerialNumberPtr. |
The string pointed to by pProcessName will be untouched if the process |
can't be found. |
pPSN input: The process whose name you want (nil for current) |
pProcessName input: Pointer to a Str31 for the process name. |
output: The process name. |
RESULT CODES |
____________ |
noErr 0 No error |
paramErr Ð50 Process serial number is invalid |
____________ |
*/ |
extern pascal OSStatus MoreProcGetProcessName( |
const ProcessSerialNumberPtr pPSN, |
StringPtr pProcessName); |
/****************************************************************************** |
Returns information about the process specified by ProcessSerialNumberPtr. |
pProcessType and pCreator will be untouched if the process |
can't be found. |
pPSN input: The process whose info you want (nil for current). |
pProcessType output: The process's type. |
pCreator output: The process's signature. |
RESULT CODES |
____________ |
noErr 0 No error |
paramErr Ð50 Process serial number is invalid |
____________ |
*/ |
extern pascal OSStatus MoreProcGetProcessTypeSignature( |
const ProcessSerialNumberPtr pPSN, |
OSType *pProcessType, |
OSType *pCreator); |
/****************************************************************************** |
Returns the FSSpec for the current process |
pFSSpec output: The process's FSSpec. |
RESULT CODES |
____________ |
noErr 0 No error |
paramErr Ð50 pFSSpec is nil |
____________ |
*/ |
extern pascal OSStatus MoreProcGetCurrentProcessFSSpec(FSSpec *pFSSpec); |
/****************************************************************************** |
Returns the FSSpec for the process specified by ProcessSerialNumberPtr. |
pPSN input: The process's whose file you want (nil for current). |
pAppFile output: The process's appFile. |
RESULT CODES |
____________ |
noErr 0 No error |
paramErr Ð50 Process serial number is invalid (or pPSN or pAppFile is nil) |
____________ |
*/ |
extern pascal OSStatus MoreProcGetProcessAppFile(const ProcessSerialNumber *pPSN,FSSpec *pAppFile); |
/****************************************************************************** |
Returns the Process Information for the process specified by pPSN. |
pPSN input: The process's Serial Number |
pPIR output: The process's Information. |
RESULT CODES |
____________ |
noErr 0 No error |
paramErr Ð50 Process serial number is invalid (or pPSN or pPIR is nil) |
____________ |
*/ |
extern pascal OSStatus MoreProcGetProcessInformation(const ProcessSerialNumber *pPSN,ProcessInfoRec *pPIR); |
/****************************************************************************** |
Returns true if the process specified by pPSN is a background only application. |
pPSN input: The process's Serial Number |
pIsBOA output: The process's Information. |
RESULT CODES |
____________ |
noErr 0 No error |
paramErr Ð50 Process serial number is invalid (or pPSN or pIsBOA is nil) |
____________ |
*/ |
extern pascal OSStatus MoreProcIsProcessBackgroundOnly(const ProcessSerialNumber *pPSN,Boolean *pIsBOA); |
//***************************************************************************** |
// Returns true if the process specified by pPSN is the front process. |
// Pass nil to pPSN to test the current process. |
extern pascal Boolean MoreProcIsProcessAtFront(const ProcessSerialNumber *pPSN); |
#pragma import reset // for clients |
#pragma export reset // for building a library |
#ifdef __cplusplus |
} |
#endif |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14